package documentation

OpenTelemetry v2 integration for Temporal SDK.

This package provides OpenTelemetry tracing and metrics integration for Temporal workflows, activities, and other operations. It includes automatic span creation and propagation for distributed tracing, a MetricsExporter for exporting Temporal SDK/Core metrics through the standard OpenTelemetry metrics API, and replay-safe wrappers for the global OpenTelemetry tracer, meter, and logger providers.

Module workflow OpenTelemetry workflow utilities for Temporal SDK.
Module _id_generator No module docstring; 0/1 function, 1/1 class documented
Module _interceptor OpenTelemetry interceptor that creates/propagates spans.
Module _logger_provider Undocumented
Module _meter_provider Undocumented
Module _metrics_exporter OpenTelemetry metrics exporter built on temporalio.runtime.MetricBuffer.
Module _otel_interceptor OpenTelemetry interceptor that creates/propagates spans.
Module _plugin Undocumented
Module _serverless Provider-neutral OpenTelemetry helpers shared by serverless integrations.
Module _tracer_provider Undocumented

From __init__.py:

Class MetricsExporter Exports metrics recorded via a temporalio.runtime.MetricBuffer to an OpenTelemetry opentelemetry.metrics.MeterProvider.
Class OpenTelemetryInterceptor Interceptor that supports client and worker OpenTelemetry span creation and propagation.
Class OpenTelemetryPlugin OpenTelemetry plugin for Temporal SDK.
Class ReplaySafeLoggerProvider A logger provider that is safe for use during workflow replay.
Class ReplaySafeMeterProvider A meter provider that is safe for use during workflow replay.
Class ReplaySafeTracerProvider A tracer provider that is safe for use during workflow replay.
Class TracingInterceptor Interceptor that supports client and worker OpenTelemetry span creation and propagation.
Class TracingWorkflowInboundInterceptor Tracing interceptor for workflow calls.
Function create_tracer_provider Initialize a replay-safe tracer provider.
def create_tracer_provider(sampler: sampling.Sampler | None = None, resource: Resource | None = None, shutdown_on_exit: bool = True, active_span_processor: SynchronousMultiSpanProcessor | ConcurrentMultiSpanProcessor | None = None, id_generator: IdGenerator | None = None, span_limits: SpanLimits | None = None) -> ReplaySafeTracerProvider: (source) ΒΆ

Initialize a replay-safe tracer provider.

Warning

This function is experimental and may change in future versions. Use with caution in production environments.

Creates a new TracerProvider with a TemporalIdGenerator for replay safety and wraps it in a ReplaySafeTracerProvider.

Parameters
sampler:sampling.Sampler | NoneThe sampler to use for sampling spans.
resource:Resource | NoneThe resource to associate with the tracer provider.
shutdown_on_exit:boolWhether to shutdown the provider on exit.
active_span_processor:SynchronousMultiSpanProcessor | ConcurrentMultiSpanProcessor | NoneThe active span processor to use.
id_generator:IdGenerator | NoneThe ID generator to wrap with TemporalIdGenerator.
span_limits:SpanLimits | NoneThe span limits to apply.
Returns
ReplaySafeTracerProviderA replay-safe tracer provider instance.