> This page is for NeMo Relay, version v0.10.0.
> 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.

# Struct Open Telemetry Subscriber

> OpenTelemetry-backed NeMo Relay subscriber.

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

```rust
pub struct OpenTelemetrySubscriber { /* private fields */ }
```

OpenTelemetry-backed NeMo Relay subscriber.

## Implementations

### `impl OpenTelemetrySubscriber`

<pre />

#### `new`

<pre />

Builds a subscriber backed by a new OTLP tracer provider.

#### `new_file_sink`

<pre />

Creates a subscriber writing OTLP to a local file.

#### `from_tracer_provider`

<pre />

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`

<pre />

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

#### `from_tracer_provider_with_attribute_mappings`

<pre />

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

#### `from_tracer_provider_with_options`

<pre />

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

#### `from_tracer_provider_with_type_and_options`

<pre />

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

#### `subscriber`

<pre />

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

#### `runtime_diagnostics`

<pre />

Return a bounded snapshot of runtime diagnostics for this subscriber.

#### `register`

<pre />

Registers this subscriber globally with the NeMo Relay runtime.

#### `deregister`

<pre />

Deregisters a previously-registered global subscriber by name.

#### `force_flush`

<pre />

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`

<pre />

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`

<pre />

#### `clone`

<pre />

#### `clone_from`

<pre />