Chapter 6 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.
6.1 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.

6.2 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")
Series | Metric | Description |
---|---|---|
docker_container_cpu | usage_in_usermode | CPU usage in user space in nanoseconds |
docker_container_cpu | usage_in_kernelmode | CPU usage in system time in nanoseconds |
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 | The amount of memory that does not correspond to anything on disk: stacks, heaps, and anonymous memory maps |
docker_container_mem | total_cache | The amount of memory used that can be associated precisely with a block on a block device |
container_status | connect_count | The number of connections |
container_status | connect_procs | The number of worker processes |
6.3 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
6.3.1 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.