Deploy and Operate
Managed OpenTelemetry
Send organization-scoped OTLP logs, metrics, and traces to Composal for agent analysis.
On this page
Composal Managed OpenTelemetry accepts logs, metrics, and traces at https://otel.composal.ai. Use a Composal personal access token and choose the organization that owns the telemetry. Composal agents can then use the retained signals for performance analysis, testing, and debugging workflows.
Configure an exporter
Set the standard OTLP environment variables in your application or OpenTelemetry Collector. Replace the placeholders with a personal access token and an organization slug that token can access.
export OTEL_EXPORTER_OTLP_ENDPOINT=https://otel.composal.ai
export OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf
export OTEL_EXPORTER_OTLP_HEADERS='authorization=Bearer <composal-token>,x-vex-organization=<organization-slug>'
The signal endpoints are /v1/logs, /v1/metrics, and /v1/traces. A successful export returns the standard empty OTLP success response after managed storage accepts the rows. Treat 401 as an invalid token, 404 as an organization the token cannot access, and 503 as retryable.
Instrument with an agent
The composal-telemetry skill guides an agent through instrumenting an application with maintained OpenTelemetry libraries for its language and framework. Install the shipped Composal skills with com setup, then ask your agent:
Use
$composal-telemetryto instrument this application and run an evidence-backed verification.
The skill covers traces, logs, metrics, managed export validation, and baseline-versus-candidate performance analysis. It also defines safety requirements for shadow traffic: explicit authorization, isolated side effects, bounded load, and cleanup.
Organization boundary
Every export names one organization with X-Vex-Organization. Composal checks the token's current membership and replaces any caller-provided vex.organization_id, vex.organization_public_id, or vex.organization_slug resource attributes with the verified organization identity. One request cannot write telemetry for multiple organizations.
Use a dedicated personal access token for telemetry exporters and rotate it through the same Composal controls as other API tokens. Do not put the token in source control or an OpenTelemetry resource attribute.
Protocol and limits
The public endpoint supports OTLP/HTTP with protobuf or JSON request bodies and optional gzip content encoding. The maximum decoded request body is 64 MiB. Data is retained for 30 days during the initial managed service rollout. Public OTLP/gRPC and customer-direct ClickHouse access are not currently offered.