Activates the span for the caller (or other) frame.
Usually you need this function for spans created with start_span()
,
which does not activate the new span. Usually you don't need it for
spans created with start_local_active_span()
, because it activates
the new span automatically.
Usage
local_active_span(span, end_on_exit = FALSE, activation_scope = parent.frame())
Details
When the frame ends, the span is deactivated and the previously active span will be active again, if there was any.
It is possible to activate the same span for multiple R frames.
See also
Other OpenTelemetry trace API:
Zero Code Instrumentation
,
end_span()
,
is_tracing_enabled()
,
start_local_active_span()
,
start_span()
,
tracing-constants
,
with_active_span()
Other tracing for concurrent code:
with_active_span()
Examples
fun <- function() {
# start span, do not activate
spn <- otel::start_span("myfun")
# do not leak resources
on.exit(otel::end_span(spn), add = TRUE)
myfun <- function() {
# activate span for this function
otel::local_active_span(spn)
# create child span
spn2 <- otel::start_local_active_span("myfun/2")
}
myfun2 <- function() {
# activate span for this function
otel::local_active_span(spn)
# create child span
spn3 <- otel::start_local_active_span("myfun/3")
}
myfun()
myfun2()
end_span(spn)
}
fun()