nemo-relay-setup-observability
por nvidia
Choose and set up the right NeMo Relay observability path for an application
npx skills add https://github.com/nvidia/nemo-relay --skill nemo-relay-setup-observabilitySet Up Observability
Use this skill when an application developer wants visibility into NeMo Relay activity but has not yet decided which output they need.
Choose The Output
- Console or custom event handling Use subscribers.
- Portable execution trajectories
Use
AtifExporter. - General OTLP tracing Use the OpenTelemetry subscriber.
- OpenInference-aware backends Use the OpenInference subscriber.
Embedded Event And Subscriber Model
- NeMo Relay emits one canonical event stream from scopes, marks, managed tool calls, managed LLM calls, middleware, and manual lifecycle APIs.
- Subscribers consume events without defining the event model. Multiple subscribers can observe the same stream for logging, export, analytics, or diagnostics.
- Global subscribers remain active process-wide until removed.
- Scope-local subscribers are owned by one active scope and disappear when that scope closes.
- Plugin-installed subscribers are reusable, configuration-driven runtime components.
- Exporter-oriented subscribers translate the event stream into ATIF, OpenTelemetry, or OpenInference output.
- Event payloads reflect sanitized post-guardrail input and output when calls use managed helpers or manual lifecycle params provide those fields.
- Event fields include semantic input/output through the ATOF
datafield, typed profile data such asmodel_nameandtool_call_id, and codec-provided annotated LLM request/response data for in-process subscribers and exporters.
Shared Lifecycle
- Create the exporter or subscriber.
- Register it with a unique name before the relevant scoped work.
- Run NeMo Relay-instrumented work inside scopes.
- Deregister it.
- Flush or shut down if the binding supports it and deterministic delivery is needed.
Binding Names
- Python:
nemo_relay.subscribers.register(...),AtifExporter,OpenTelemetrySubscriber, andOpenInferenceSubscriber - Node.js: root exports
registerSubscriber(...),AtifExporter,OpenTelemetrySubscriber, andOpenInferenceSubscriber - Rust:
nemo_relay::api::subscriberandnemo_relay::observability::* - Go: source-first wrappers expose equivalent register, exporter, and subscriber lifecycle methods
Use Another Skill When
- You already know you need ATIF ->
nemo-relay-export-atif-trajectories - You already know you need OTEL ->
nemo-relay-export-otel - You already know you need OpenInference ->
nemo-relay-export-openinference - You need to package subscriber-based export behavior as a reusable plugin ->
nemo-relay-build-plugin - You are debugging missing telemetry ->
nemo-relay-debug-runtime-integration
Related Skills
nemo-relay-export-atif-trajectoriesnemo-relay-export-otelnemo-relay-export-openinferencenemo-relay-build-plugin