OpenTelemetry (OTel) is an open-source framework used to collect observability data. It is used by many popular frameworks, including Semantic Kernel, Vercel AI SDK, Spring AI, and others.

You can configure Openlayer as the backend for your OTel trace data. This means that if you use a framework that captures OTel data, you can point to Openlayer’s OTel endpoint to export the telemetry data and observe your AI system.

OpenTelemetry endpoint

Openlayer can receive OTel traces on the https://api.openalyer.com/v1/otel (OTLP) endpoint. This endpoint expects the telemetry data in protobuf format to be sent over HTTPS.

This is the default for most OTel SDKs but make sure to check the documentation for your specific SDK to ensure that it is configured correctly.

To configure your SDK to send the OTel data to Openlayer, you need to point to Openlayer’s OTel endpoint and add the correct authentication headers. This is often done via environment variables as shown in the example below.

OTEL_EXPORTER_OTLP_ENDPOINT=https://api.openalyer.com/v1/otel
OTEL_EXPORTER_OTLP_HEADERS="Authorization=Bearer YOUR_OPENLAYER_API_KEY, x-bt-parent=pipeline_id:YOUR_OPENLAYER_PIPELINE_ID"

If you use an OTel Collector that requires signal-specific environment variables, the export endpoint must be https://api.openalyer.com/v1/otel/v1/traces.

Property mapping

Once Openlayer receives the OTel data, it transforms it into its own trace data structure. To do this, it maps the properties from the GenAI semantic convention and popular frameworks into Openlayer’s trace data model.

The OTel GenAI semantic convention is still evolving. Please reach out if an integration does not work as expected or if Openlayer does not parse all attributes correctly.