Struct Open Telemetry Subscriber

View as Markdown

Generated from cargo doc --no-deps -p nemo-relay -p nemo-relay-adaptive -p nemo-relay-pii-redaction -p nemo-relay-ffi -p nemo-relay-types -p nemo-relay-plugin -p nemo-relay-worker-proto -p nemo-relay-worker.

pub struct OpenTelemetrySubscriber { /* private fields */ }

OpenTelemetry-backed NeMo Relay subscriber.

Implementations

impl OpenTelemetrySubscriber

impl OpenTelemetrySubscriber

new

pub fn new(config: OpenTelemetryConfig) -> Result<Self>

Builds a subscriber backed by a new OTLP tracer provider.

new_file_sink

pub fn new_file_sink(config: OpenTelemetryFileSinkConfig) -> Result<Self>

Creates a subscriber writing OTLP to a local file.

from_tracer_provider

pub fn from_tracer_provider(
    provider: SdkTracerProvider,
    instrumentation_scope: impl Into<String>,
) -> Self

Builds a subscriber from an already-configured tracer provider.

Keep the runtime that drives an asynchronous processor alive until after this subscriber has been flushed or shut down.

from_tracer_provider_with_type

pub fn from_tracer_provider_with_type(
    provider: SdkTracerProvider,
    instrumentation_scope: impl Into<String>,
    otel_type: OpenTelemetryType,
) -> Self

Builds a typed subscriber from an already-configured tracer provider.

from_tracer_provider_with_attribute_mappings

pub fn from_tracer_provider_with_attribute_mappings<I>(
    provider: SdkTracerProvider,
    instrumentation_scope: impl Into<String>,
    attribute_mappings: I,
) -> Result<Self>where
    I: IntoIterator<Item = OtlpAttributeMapping>,

Builds a subscriber from a tracer provider with typed attribute copies.

from_tracer_provider_with_options

pub fn from_tracer_provider_with_options(
    provider: SdkTracerProvider,
    instrumentation_scope: impl Into<String>,
    options: OpenTelemetrySubscriberOptions,
) -> Result<Self>

Builds a subscriber from a tracer provider with composable projection options.

from_tracer_provider_with_type_and_options

pub fn from_tracer_provider_with_type_and_options(
    provider: SdkTracerProvider,
    instrumentation_scope: impl Into<String>,
    otel_type: OpenTelemetryType,
    options: OpenTelemetrySubscriberOptions,
) -> Result<Self>

Builds a typed subscriber from a tracer provider with projection options.

subscriber

pub fn subscriber(&self) -> EventSubscriberFn

Returns the raw NeMo Relay subscriber callback for custom registration flows.

runtime_diagnostics

pub fn runtime_diagnostics(&self) -> OpenTelemetryRuntimeDiagnostics

Return a bounded snapshot of runtime diagnostics for this subscriber.

register

pub fn register(&self, name: &str) -> Result<()>

Registers this subscriber globally with the NeMo Relay runtime.

deregister

pub fn deregister(&self, name: &str) -> Result<bool>

Deregisters a previously-registered global subscriber by name.

force_flush

pub fn force_flush(&self) -> Result<()>

Flushes finished spans through the underlying tracer provider.

After a successful flush, runtime diagnostics include queue drops observed so far. This is a synchronous completion barrier; call it from a blocking task in async code.

shutdown

pub fn shutdown(&self) -> Result<()>

Shuts down the underlying tracer provider.

Call deregister(...) first if the subscriber is still registered with NeMo Relay. This waits for the final export and should run in a blocking task in async code.

Trait Implementations

impl Clone for OpenTelemetrySubscriber

impl Clone for OpenTelemetrySubscriber

clone

fn clone(&self) -> OpenTelemetrySubscriber

clone_from

fn clone_from(&mut self, source: &Self)