OpenTelemetry & OTLP
Send OTLP logs and traces directly to Prilog using HTTP/protobuf or HTTP/JSON, a scoped ingest token, and standard resource attributes.
Transport contract
Prilog accepts OpenTelemetry logs and traces over OTLP HTTP/protobuf and OTLP HTTP/JSON, including gzip-compressed requests. Metrics export is disabled. Use an HTTP exporter rather than a gRPC exporter.
Get a connection DSN from Add free Prilog monitoring in service setup. This contract also works with other language SDKs and OpenTelemetry Collectors.
Endpoints and authentication
Given this DSN:
https://pk_prilog_PUBLIC_KEY@HOST/api/otel/orgs/WORKSPACE/projects/PROJECT/connections/CONNECTION
Remove the username from the DSN to obtain the OTLP base URL. Decode the username and send it in X-Prilog-OTLP-Token:
Base: https://HOST/api/otel/orgs/WORKSPACE/projects/PROJECT/connections/CONNECTION
Logs: <base>/v1/logs
Traces: <base>/v1/traces
Header: X-Prilog-OTLP-Token: pk_prilog_PUBLIC_KEY
Use the actual hostname and scoped path from your connection. These are placeholder values, not a shared ingest endpoint. Set the appropriate content type for your payload: application/x-protobuf or application/json.
The token grants ingestion only. It cannot read telemetry or authorize project management. Rotating credentials or disconnecting the source invalidates the old token.
Standard HTTP exporter configuration
For an OpenTelemetry runtime that supports the standard exporter environment variables, set the base URL and header. Replace the placeholders with values derived from your DSN:
export OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf
export OTEL_EXPORTER_OTLP_ENDPOINT="https://HOST/api/otel/orgs/WORKSPACE/projects/PROJECT/connections/CONNECTION"
export OTEL_EXPORTER_OTLP_HEADERS="X-Prilog-OTLP-Token=pk_prilog_PUBLIC_KEY"
export OTEL_SERVICE_NAME="checkout-api"
export OTEL_RESOURCE_ATTRIBUTES="service.version=1.0.0,deployment.environment.name=production"
export OTEL_METRICS_EXPORTER=none
The runtime still needs an installed and initialized OTLP HTTP exporter for each signal. If configuring per-signal URLs instead, set the complete /v1/logs and /v1/traces endpoints as required by that exporter. Do not append the signal path twice.
Prilog's own server SDKs can derive the endpoint and token from PRILOG_DSN automatically.
Resource attributes and correlation
service.name— stable and distinct for each deployable component.service.version— release version or commit identifier.deployment.environment.name— environment such asproductionorstaging.- W3C trace and span IDs — preserve IDs, parent relationships, and propagated request context.
Logs emitted with the active context can be correlated to the relevant spans. An error message alone does not supply a distributed trace.
Browser export
Use the browser SDK with its publishable ingest DSN. Allow the ingest origin in the browser application's CSP. For cross-origin frontend-to-backend trace propagation, configure the API to accept traceparent, tracestate, and baggage headers.
Collection and remediation
OTLP is the telemetry ingestion interface. It does not request fixes or publish code. Prilog processes incoming signals under the project's automation settings; use the CLI or MCP tools to inspect errors and operate the fix workflow.
