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.
local_active_span(span, end_on_exit = FALSE, activation_scope = parent.frame())Nothing.
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.
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()
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()