Metrics

shinyapps.io captures and provides a variety of metrics to help you gain insight into the use of your applications and your account in general. The metrics include active hours by application, number of connections, CPU, memory and network usage, and the number of worker processes. Metrics are retained for a period of 90 days.

Account metrics

Account metrics are viewable within the shinyapps.io dashboard under Account -> Usage. The default view is the number of hours used in the current subscription cycle, with a breakdown of the applications used and their contribution to the active hours. You can change the date ranges by using the drop down to select: 1 Day, 1 Week, 1 Month, or 3 month views.

Application metrics

Each application’s metrics are available under the Metrics tab within the application’s view on the shinyapps.io dashboard.

Many of the metrics described here are available for download as a dataframe through the use of the rsconnect::showMetrics API.

## Example of loading user CPU metrics
df <- rsconnect::showMetrics("docker_container_cpu",
                             c("usage_in_usermode"),
                             server="shinyapps.io")

Available series and metrics

Series Metric Description
docker_container_cpu usage_in_usermode Total CPU usage by the application instances in nanoseconds (name preserved for backwards compatability)
docker_container_net tx_bytes Network traffic transmitted from the application instances
docker_container_net rx_bytes Network traffic received by the application instances
docker_container_mem total_rss Memory usage by the application instances (name preserved for backwards compatability)
container_status connect_count Number of connections
container_status connect_procs Number of worker processes

Tracking user and session information

Every new browser that accesses an application will create a user session. The client data and user information (if it is an authenticated user) are accessible within your shiny application and can be logged to third party data stores (databases, log aggregation services, or web analytics platforms) as your needs require.

For authenticated applications, user name information is accessible through the session$user variable and can be used to customize your application’s behavior. If you are interested in customizing your application based on the identity of the user, please refer to the user permissions article on the shiny developer center

Google Analytics

Shiny applications use standard HTML, CSS and JavaScript technologies on the front end so you can track your application’s usage using your favorite web analytics platform. Most of these platforms will require the insertion of a piece of JavaScript on the pages that are rendered.

For an example of integrating a shiny application with Google Analytics, please see the using Google Analytics with shiny article. The techniques described there will be very similar for other web analytics tools.