reactlog extends Shiny with new features that make it easier to debug and trace reactivity, especially in larger apps.
# install.packages("devtools")
devtools::install_github("glin/reactlog")
traceInvalidation()
options(shiny.reactlog = TRUE)
rxA <- reactive({
input$A
})
observe({
# call it in a reactive context
reactlog::traceInvalidation()
rxA()
})
# or on a reactive expression/observer
reactlog::traceInvalidation(rxA)
listDependencies()
reactive({
# when multiple dependencies change, it might be useful to see them all
# not just the one that invalidated the context
reactlog::listDependencies()
rxA() + input$A + input$B
})
# also works
reactlog::listDependencies(rxA, invalidated = TRUE)
# when called without a reactive context, shows the entire dependency tree
reactlog::listDependencies()
showReactGraph()
# show the graph for the most recent session
reactlog::showReactGraph()
observe({
# show the graph filtered on this observer and its dependencies
reactlog::showReactGraph()
})
https://glin.github.io/reactlog/reference/index.html
reactlog is experimental and relies on Shiny internals which are subject to change. Use at your own risk, for debugging and development only!
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.