Available via: Bifrost’s
otel plugin. This is not a Zespan SDK wrapper, see Send traces from any OTel-instrumented app for how the endpoint works.Setup
1
Enable the otel plugin with GenAI traces
In Bifrost’s configuration enable the
otel plugin and set trace_type: genai_extension and protocol: http (Bifrost sends JSON or protobuf over HTTP, both accepted); Zespan’s endpoint is HTTP, so grpc is not an option. These field names are from Bifrost’s observability documentation; check them for your version.2
Set the destination and key
collector_url: https://api.zespan.com/v1/traces, and in headers add x-api-key: zsp_... (or Authorization: Bearer zsp_...).3
Verify
Send one request through Bifrost, then open Settings → Instrumentation → Gateway and OTLP data and press Refresh. See Instrumentation.
What gets captured
Attribute names come from Bifrost’s published documentation and can change between versions. Use the Gateway and OTLP data card to see what actually arrives.
Gateway identity metadata is not stored. See AI gateways and Security.
Using the SDK too
Bifrost documents that an inbound W3Ctraceparent takes precedence for the trace it exports, so turning on the SDK’s gatewayCorrelation option for your Bifrost host makes its span a child of the SDK span. Zespan can then count the call’s tokens and cost once when merging is on and the span was recognised as Bifrost’s. Bifrost does not document the provider’s response id on its span, so use gatewayCorrelation rather than relying on the response-id match.
Next steps
- OTel integration, the endpoint, limits and attributes Zespan reads
- Instrumentation, check what arrived
- LiteLLM Proxy, Kong AI Gateway, other gateways

