with_otel_record: Record OpenTelemetry output, for testing purposes

View source: R/record.R

with_otel_recordR Documentation

Record OpenTelemetry output, for testing purposes

Description

You can use this function to test that OpenTelemetry output is correctly generated for your package or application.

Usage

with_otel_record(
  expr,
  what = c("traces", "metrics"),
  tracer_opts = list(),
  meter_opts = list()
)

Arguments

expr

Expression to evaluate.

what

Character vector, type(s) of OpenTelemetry output to collect.

tracer_opts

Named list of options to pass to the tracer provider.

meter_opts

Named list of options to pass to the meter provider.

Details

It evaluates the supplied expression, collects OpenTelemetry output from it and returns it.

Note: with_otel_record() cannot record logs yet.

with_otel_record() uses tracer_provider_memory and meter_provider_memory internally.

Value

A list with the output for each output type. Entries:

  • value: value of expr.

  • traces: the recorded spans, if requested in what.

  • metrics: the recorded metrics measurements, if requested in what.

Examples

spns <- with_otel_record({
  trc <- otel::get_tracer("mytracer")
  spn1 <- trc$start_local_active_span()
  spn2 <- trc$start_local_active_span("my")
  spn2$end()
  spn1$end()
  NULL
})
spns

otelsdk documentation built on Sept. 10, 2025, 10:32 a.m.