Reactive Log Visualizer — reactlog

v1.8.0|Source: R/graph.R

Description

Provides an interactive browser-based tool for visualizing reactive dependencies and execution in your application.

reactlog()

reactlogShow(time = TRUE)

reactlogReset()

Arguments

time

A boolean that specifies whether or not to display the time that each reactive takes to calculate a result.

Details

To use the reactive log visualizer, start with a fresh R session and run the command options(shiny.reactlog=TRUE); then launch your application in the usual way (e.g. using runApp()). At any time you can hit Ctrl+F3 (or for Mac users, Command+F3) in your web browser to launch the reactive log visualization.

The reactive log visualization only includes reactive activity up until the time the report was loaded. If you want to see more recent activity, refresh the browser.

Note that Shiny does not distinguish between reactive dependencies that "belong" to one Shiny user session versus another, so the visualization will include all reactive activity that has taken place in the process, not just for a particular application or session.

As an alternative to pressing Ctrl/Command+F3--for example, if you are using reactives outside of the context of a Shiny application--you can run the reactlogShow function, which will generate the reactive log visualization as a static HTML file and launch it in your default browser. In this case, refreshing your browser will not load new activity into the report; you will need to call reactlogShow() explicitly.

For security and performance reasons, do not enable shiny.reactlog in production environments. When the option is enabled, it's possible for any user of your app to see at least some of the source code of your reactive expressions and observers.

Functions

  • reactlog(): Return a list of reactive information. Can be used in conjunction with reactlog::reactlog_show to later display the reactlog graph.

  • reactlogShow(): Display a full reactlog graph for all sessions.

  • reactlogReset(): Resets the entire reactlog stack. Useful for debugging and removing all prior reactive history.