Skip to main content
Observe mode leaves provider execution unchanged. Your application continues calling its provider or gateway and exports OpenTelemetry data to Relay for analysis. For a shareable implementation handoff with Python, TypeScript, Collector, and AI-assisted setup paths, use Install Relay → Observe.

Send traces to the OTLP endpoint

No Oximy SDK is required. Preserve the application’s existing tracer provider and exporters, then add Relay through another batched OTLP/HTTP processor:
Install the standard packages if the application does not already carry them:
Use the ingest URL shown in Relay setup if your deployment supplies a different endpoint. For TypeScript or another runtime, the Copy AI prompt action in Get Started inspects the existing SDK and adds the equivalent OTLP exporter through a BatchSpanProcessor. Do not replace global OTEL_EXPORTER_* variables when the application already exports telemetry elsewhere. If a Collector owns the pipeline, configure the Collector to fan out traces to Relay instead of changing the application-level destination.

What remains unchanged

  • Your application still chooses and calls the provider.
  • Existing provider credentials stay in the application or gateway.
  • Relay does not become the retry or execution authority.
  • Observation can run alongside gateway traffic in the same project.

Verify ingestion

  1. Generate a small, identifiable request.
  2. Open Relay → Traffic and filter the source to OTEL.
  3. Confirm the model, token, cost, latency, trace, and status fields that your instrumentation emits.
  4. Open the trace to inspect related spans.
Missing fields are usually an instrumentation issue rather than an ingestion failure. Start with trace arrival, then validate model and usage attributes.
Live and Observe tokens count toward Oximy metering. Relay-created Shadow candidate rows do not, although the model provider may still charge for the candidate request.
Shadow comparison is separate from observation. Enabling shadow causes Relay to execute an additional candidate request, so it requires a usable provider credential and consumes its configured budget.

Troubleshoot telemetry

Diagnose missing traces, incomplete fields, authentication failures, and source mismatches.