> This page is for NeMo Relay, version v0.9.4.
> For other versions, use one of these documentation indexes:
> - Latest (v0.10.0) (default): https://docs.nvidia.com/nemo/relay/latest/llms.txt
> - dev: https://docs.nvidia.com/nemo/relay/dev/llms.txt
> - v0.10.0: https://docs.nvidia.com/nemo/relay/v0.10.0/llms.txt
> - v0.9.4: https://docs.nvidia.com/nemo/relay/v0.9.4/llms.txt
> - v0.8.4: https://docs.nvidia.com/nemo/relay/v0.8.4/llms.txt
> - v0.7.3: https://docs.nvidia.com/nemo/relay/v0.7.3/llms.txt
> - v0.6.0: https://docs.nvidia.com/nemo/relay/v0.6.0/llms.txt
> - v0.5.0: https://docs.nvidia.com/nemo/relay/v0.5.0/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/nemo/relay/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/relay/_mcp/server.

# Module otel

> OpenTelemetry subscriber support for NeMo Relay.

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`.

OpenTelemetry subscriber support for NeMo Relay.

This crate adapts NeMo Relay lifecycle events into the selected `full`, `gen_ai`, or `openinference` OpenTelemetry trace projection. Scope start and end events open and close supported spans. Non-metric mark behavior is fixed by the selected projection; reserved metric-schema marks are not projected into traces.

The public API is intentionally small:

* [`OpenTelemetryConfig`](/reference/api/rust-library-reference/nemo-relay/observability/otel/struct-opentelemetryconfig) configures the OTLP exporter and resource metadata
* [`OpenTelemetrySubscriber`](/reference/api/rust-library-reference/nemo-relay/observability/otel/struct-opentelemetrysubscriber) exposes a NeMo Relay [`EventSubscriberFn`](/reference/api/rust-library-reference/nemo-relay/api/runtime/callbacks/type-eventsubscriberfn) and convenience `register` / `deregister` / `force_flush` / `shutdown` methods

## Structs

* [OpenTelemetryConfig](/reference/api/rust-library-reference/nemo-relay/observability/otel/struct-opentelemetryconfig): Configuration for the OpenTelemetry subscriber.
* [OpenTelemetrySubscriber](/reference/api/rust-library-reference/nemo-relay/observability/otel/struct-opentelemetrysubscriber): OpenTelemetry-backed NeMo Relay subscriber.
* [OpenTelemetrySubscriberOptions](/reference/api/rust-library-reference/nemo-relay/observability/otel/struct-opentelemetrysubscriberoptions): Options for constructing an OpenTelemetry subscriber from an existing tracer provider.

## Enums

* [OpenTelemetryError](/reference/api/rust-library-reference/nemo-relay/observability/otel/enum-opentelemetryerror): Errors produced while configuring or operating the OpenTelemetry subscriber.
* [OtlpTransport](/reference/api/rust-library-reference/nemo-relay/observability/otel/enum-otlptransport): Supported OTLP trace transports.

## Constants

* [DEFAULT\_COMPLETED\_SPAN\_CONTEXT\_TTL](/reference/api/rust-library-reference/nemo-relay/observability/otel/constant-default-completed-span-context-ttl): Default period for attaching late marks to a completed scope's trace span.

## Type Aliases

* [Result](/reference/api/rust-library-reference/nemo-relay/observability/otel/type-result): Result type for the OpenTelemetry subscriber crate.