OpenTelemetry#
OpenTelemetry tracing extension for SQLSpec. Provides helpers for enabling OpenTelemetry spans across database statement executions and connection lifecycles.
Configuration#
Use sqlspec.config.OpenTelemetryConfig in extension_config["otel"].
These settings apply across adapters; no adapter-specific subtype is needed.
- class sqlspec.config.OpenTelemetryConfig[source]
Bases:
TypedDictConfiguration options for OpenTelemetry integration.
Use in
extension_config["otel"].- enabled: NotRequired[bool]
True.
- Type:
Enable the extension. Default
- enable_spans: NotRequired[bool]
Enable span emission (set False to disable while keeping other settings).
- resource_attributes: NotRequired[dict[str, Any]]
Additional resource attributes passed to the tracer provider factory.
- tracer_provider: NotRequired[Any]
Tracer provider instance to reuse. Mutually exclusive with
tracer_provider_factory.
- tracer_provider_factory: NotRequired[Callable[[], Any]]
Factory returning a tracer provider. Invoked lazily when spans are needed.
Helpers#
- sqlspec.extensions.otel.enable_tracing(*, base_config=None, tracer_provider=None, tracer_provider_factory=None, resource_attributes=None, enable_spans=True)[source]#
Return an ObservabilityConfig with OpenTelemetry spans enabled.
- Parameters:
base_config¶ (
ObservabilityConfig|None) -- Existing observability config to extend. When omitted a new instance is created.tracer_provider¶ (
Any|None) -- Optional provider instance to reuse. Mutually exclusive with tracer_provider_factory.tracer_provider_factory¶ (
Callable[[],Any] |None) -- Callable that returns a tracer provider when spans are first used.resource_attributes¶ (
dict[str,Any] |None) -- Additional attributes to attach to every span.enable_spans¶ (
bool) -- Allow disabling spans while keeping the rest of the config.
- Return type:
- Returns:
ObservabilityConfig with telemetry options configured for OpenTelemetry.