Use the openinference section when you want NeMo Relay lifecycle events
exported as OTLP trace spans with OpenInference-oriented semantics.
OpenInference export maps model-centric payloads directly into trace
attributes. Scope, tool, and LLM start inputs become input.value; end outputs
become output.value; LLM usage metadata maps to token-count attributes when
the provider response includes usage information.
plugins.toml ExampleThis configuration registers a plugin-owned OpenInference subscriber and sends OpenInference-style OTLP spans to Phoenix or another compatible backend.
OpenInference uses the same OTLP section shape as OpenTelemetry:
The backend should show OpenInference-oriented spans for scopes, tools, and LLM calls grouped by root scope. LLM usage metadata appears as token counters when provider responses include usage information.
Each lifecycle span includes nemo_relay.uuid and nemo_relay.parent_uuid
attributes. These values match ATIF step.extra.ancestry.function_id and
step.extra.ancestry.parent_id for the same events. For plugin-managed ATIF,
the root agent span’s nemo_relay.uuid also matches the ATIF session_id.
Backend-native trace_id and span_id values are not written into ATIF.
Redact sensitive event payloads with sanitize guardrails before production export.
Use plugin configuration when the application should let NeMo Relay own the OpenInference subscriber lifecycle.
Use the manual subscriber API when you need an explicit subscriber name or
direct force_flush control.
transport is not http_binary or grpc.