Method new()
Constructor that initializes Telemetry instance with parameters.
Usage
Telemetry$new(
app_name = "(dashboard)",
data_storage = DataStorageSQLite$new(db_path = file.path("telemetry.sqlite"))
)
Arguments
app_name
(optional) string that identifies the name of the dashboard.
By default it will store data with (dashboard)
.
data_storage
(optional) DataStorage
instance where telemetry
data is being stored.
It can take any of data storage providers by this package,
By default it will store in a SQLite local database in the current
working directory with filename telemetry.sqlite
version
(optional) string that identifies the version of the
dashboard. By default it will use v0.0.0
.
Method start_session()
Setup basic telemetry
Usage
Telemetry$start_session(
track_inputs = TRUE,
track_values = FALSE,
login = TRUE,
logout = TRUE,
browser_version = TRUE,
navigation_input_id = NULL,
session = shiny::getDefaultReactiveDomain(),
username = NULL,
track_anonymous_user = TRUE,
track_errors = TRUE
)
Arguments
track_inputs
flag that indicates if the basic telemetry should
track the inputs that change value. TRUE
by default
track_values
flag that indicates if the basic telemetry should
track the values of the inputs that are changing. FALSE
by default.
This parameter is ignored if track_inputs
is FALSE
login
flag that indicates if the basic telemetry should
track when a session starts. TRUE
by default.
logout
flag that indicates if the basic telemetry should
track when the session ends. TRUE
by default.
browser_version
flag that indicates that the browser version
should be tracked.TRUE
by default.
navigation_input_id
string or vector of strings that represent
input ids and which value should be tracked as navigation events. i.e.
a change in the value represent a navigation to a page or tab.
By default, no navigation is tracked.
session
ShinySession
object or NULL to identify the current
Shiny session.
username
Character with username. If set, it will overwrite username
from session object.
track_anonymous_user
flag that indicates to track anonymous user.
A cookie is used to track same user without login over multiple sessions,
This is only activated if none of the automatic methods produce a username
and when a username is not explicitly defined.TRUE
by default.
track_errors
flag that indicates if the basic telemetry should
track the errors. TRUE
by default. if using shiny version < 1.8.1
,
it can auto log errors only in UI output functions.
By using latest versions of shiny, it can auto log all types of errors.
Returns
Nothing. This method is called for side effects.
Method log_navigation()
Log an input change as a navigation event
Usage
Telemetry$log_navigation(input_id, session = shiny::getDefaultReactiveDomain())
Arguments
input_id
string that identifies the generic input in the Shiny
application so that the function can track and log changes to it.
session
ShinySession
object or NULL to identify the current
Shiny session.
Returns
Nothing. This method is called for side effects.
Method log_navigation_manual()
Log a navigation event manually by indicating the id (as input id)
Usage
Telemetry$log_navigation_manual(
navigation_id,
value,
session = shiny::getDefaultReactiveDomain()
)
Arguments
navigation_id
string that identifies navigation event.
value
string that indicates a value for the navigation
session
ShinySession
object or NULL to identify the current
Shiny session.
Returns
Nothing. This method is called for side effects.
Method log_login()
Log when session starts
Usage
Telemetry$log_login(
username = NULL,
session = shiny::getDefaultReactiveDomain()
)
Arguments
username
string with username from current session
session
ShinySession
object or NULL to identify the current
Shiny session.
Returns
Nothing. This method is called for side effects.
Method log_logout()
Log when session ends
Usage
Telemetry$log_logout(
username = NULL,
session = shiny::getDefaultReactiveDomain()
)
Arguments
username
string with username from current session
session
ShinySession
object or NULL to identify the current
Shiny session.
Returns
Nothing. This method is called for side effects.
Method log_click()
Log an action click
Usage
Telemetry$log_click(id, session = shiny::getDefaultReactiveDomain())
Arguments
id
string that identifies a manual click to the dashboard.
session
ShinySession
object or NULL to identify the current
Shiny session.
Returns
Nothing. This method is called for side effects.
Method log_browser_version()
Log the browser version
Usage
Telemetry$log_browser_version(session = shiny::getDefaultReactiveDomain())
Arguments
session
ShinySession
object or NULL to identify the current
Shiny session.
Returns
Nothing. This method is called for side effects.
Arguments
input_id
string that identifies the button in the Shiny
application so that the function can track and log changes to it.
track_value
flag that indicates if the basic telemetry should
track the value of the input that are changing. FALSE
by default.
session
ShinySession
object or NULL to identify the current
Shiny session.
Returns
Nothing. This method is called for side effects.
Arguments
track_values
flag that indicates if the basic telemetry should
track the values of the inputs that are changing. FALSE
by default.
This parameter is ignored if track_inputs
is FALSE
.
excluded_inputs
vector of input_ids that should not be tracked.
By default it doesn't track browser version, which is added by this
package.
excluded_inputs_regex
vector of input_ids that should not be
tracked. All Special characters will be escaped.
include_input_ids
vector of input_ids that will be tracked.
This input_ids should be an exact match and will be given priority
over exclude list.
session
ShinySession
object or NULL to identify the current
Shiny session.
Returns
Nothing. This method is called for side effects.
Arguments
input_id
string (or vector of strings) that identifies the
generic input in the Shiny application so that the function can track and
log changes to it.
When the input_id
is a vector of strings, the function will behave just
as calling log_input
one by one with the same arguments.
track_value
flag that indicates if the basic telemetry should
track the value of the input that are changing. FALSE
by default.
matching_values
An object specified possible values to register.
input_type
"text"
to registered bare input value, "json"
to parse
value from JSON
format.
session
ShinySession
object or NULL to identify the current
Shiny session.
Returns
Nothing. This method is called for its side effects.
Arguments
input_id
string that identifies the generic input in the Shiny
application so that the function can track and log changes to it.
value
(optional) scalar value or list with the value to register.
session
ShinySession
object or NULL to identify the current
Shiny session.
Returns
Nothing. This method is called for side effects.
Method log_custom_event()
Log a manual event
Usage
Telemetry$log_custom_event(
event_type,
details = NULL,
session = shiny::getDefaultReactiveDomain()
)
Arguments
event_type
string that identifies the event type
details
(optional) scalar value or list with the value to register.
session
ShinySession
object or NULL to identify the current
Shiny session.
Returns
Nothing. This method is called for side effects.
Method log_error()
Log a manual error event
Usage
Telemetry$log_error(
output_id,
message,
session = shiny::getDefaultReactiveDomain()
)
Arguments
output_id
string that refers to the output element where the error occurred.
message
string that describes the error.
session
ShinySession
object or NULL to identify the current Shiny session.
Returns
Nothing. This method is called for side effects.
Method log_errors()
Track errors as they occur in observe and reactive
Usage
Telemetry$log_errors(session = shiny::getDefaultReactiveDomain())
Arguments
session
ShinySession
object or NULL to identify the current Shiny session.
Returns
Nothing. This method is called for side effects.
Method clone()
The objects of this class are cloneable with this method.
Usage
Telemetry$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.