Repository navigation
bug: OpenTelemetry Spans Not Displaying in Self-Hosted Instance Timeline #2821
Description
Activity
coderabbitai commented
on Dec 29, 2025 coderabbitaiboton Dec 29, 2025 – with coderabbitaiContributorMore actions📝 CodeRabbit Plan Mode
Generate an implementation plan and prompts that you can use with your favorite coding agent.
- Create Plan
🔗 Similar Issues
Possible Duplicates
- 2521
Related Issues
- bug: Laminar traces missing in span view but present in export #2521
- bug: Self-Hosted: Runs Page Shows No Run History (Bug Started Today, Even After Fresh Deploy) #2726
- OpenTelemetry Attribute Length Limits Not Applied to AI SDK Spans #2691
- bug: OpenTelemetry
Schema URLconflict in Trigger.dev deployment #2056 - [Bug] Environment Variables Not Injected into Runner Pods (Self-Hosted v4.0.4) #2792
👤 Suggested Assignees
🧪 Issue enrichment is currently in open beta.
You can configure auto-planning by selecting labels in the issue_enrichment configuration.
To disable automatic issue enrichment, add the following to your
.coderabbit.yaml:issue_enrichment: auto_enrich: enabled: false
💬 Have feedback or questions? Drop into our discord!
Same issue here
+1
Reacted by AgifyAI and coreizer- added a commit that references this issue
on Jun 1, 2026 Thank you for the report. We investigated this.
The single green bar is the root span of the run. The webapp writes this span when the run is triggered. All child spans (
logger.trace, HTTP instrumentation) and alllogger.*output are sent from the run container to the webapp's/otelendpoint. The run container gets this address from theOTEL_EXPORTER_OTLP_ENDPOINTvariable on the supervisor. The Docker Compose default ishttp://webapp:3000/otel. If the run container cannot reach this URL, the run still completes, because the run lifecycle traffic goes through the supervisor, but no spans or logs arrive. The export failure is not logged by default.Please check the following:
- The supervisor's
OTEL_EXPORTER_OTLP_ENDPOINTpoints to a URL that resolves from inside a run container. In a split webapp/worker setup this must be the public webapp URL followed by/otel, not the internalwebapphostname. - Any reverse proxy in front of the webapp allows
POSTrequests withapplication/x-protobufbodies and does not set a small body-size limit. - The webapp logs show
POST /otel/v1/tracesrequests when a run executes. - Are
logger.logandlogger.infolines also missing from the dashboard? They use the same exporter. If they are missing too, the export path is the cause.
To see exporter errors, set
TRIGGER_OTEL_LOG_LEVEL=erroras an environment variable on your project. The errors then appear in the run container output.If you store task events in ClickHouse (
EVENT_REPOSITORY_DEFAULT_STORE=clickhouse_v2), also confirm that the clocks on the worker host and the webapp host are synchronised to within one minute. The trace query filters spans by start time relative to the run creation time.If none of this applies, please share your supervisor environment (with secrets removed) and the webapp log lines from one run, and we will look further.
- The supervisor's
Provide environment information
Self-hosted Instance: │ │
main(Docker image from 2024-12-26) │ │ghcr.io/triggerdotdev/trigger.dev:main(c3af7f05c1da) │ │ghcr.io/triggerdotdev/supervisor:main(d3d1d21ad176)Describe the bug
Issue: OpenTelemetry Spans Not Displaying in Self-Hosted Instance Timeline
Environment:
Problem Description:
OpenTelemetry spans created with
logger.trace()are not visible in the timeline UI on our self-hosted Trigger.dev instance, but they work correctly on the official cloud instance (cloud.trigger.dev).Configuration:
trigger.config.ts: