OpenTelemetry traces not appearing: check the exporter first
Your services are instrumented with OTel but AllStak shows no spans. The usual culprit is a gRPC exporter, a wrong endpoint, or a missing flush.
What this looks like
Your OpenTelemetry instrumentation runs without errors, the app behaves normally — but no traces show up in AllStak. OTel exporters fail quietly by default: a connection refused to a gRPC port, a wrong path on the endpoint, or an unauthorized export usually surfaces only in the SDK's diagnostic logs, if at all.
One scope note before you debug: AllStak accepts OTLP trace export over HTTP. Metrics and logs over OTLP are not supported — if you are waiting for OTel metrics or logs to appear, that is expected behavior, not a fault.
Common root causes
gRPC exporter instead of OTLP/HTTP
Many OTel SDKs default to OTLP over gRPC. AllStak accepts trace export over HTTP — a gRPC exporter pointed at AllStak never connects, and the spans are dropped after retries.
Endpoint URL or API key header misconfigured
The exporter needs AllStak's OTLP traces endpoint URL and your project API key sent as a header. A typo in either rejects every export.
Process exits before the batch flushes
OTel batches spans before exporting. Short-lived processes — CLIs, cron jobs, serverless functions — often exit before the batch ships unless you call the SDK's shutdown/flush on exit.
Missing service.name resource attribute
Spans without a service.name resource attribute arrive but are hard to find — they group under an unknown service. Setting service.name is strongly recommended so your traces land where you look for them.
Step-by-step diagnosis
Verify the export path from protocol to flush — most setups fail at the first two steps.
- 1
Confirm the exporter protocol is OTLP/HTTP
Check your exporter class or OTEL_EXPORTER_OTLP_PROTOCOL setting: it must be the HTTP variant (e.g. http/protobuf), not grpc. AllStak accepts OTLP trace export over HTTP only.
- 2
Verify the endpoint URL
Point the exporter at AllStak's OTLP traces endpoint exactly as shown in the OpenTelemetry setup guide at /docs/guides/opentelemetry — including the path. A bare host or a wrong path returns errors the exporter may swallow.
- 3
Send the API key as a header
Configure the exporter's headers to include your project API key as documented in the setup guide. Without it, exports are rejected as unauthenticated — silently, from the app's point of view.
- 4
Enable OTel diagnostic logging temporarily
Turn on your OTel SDK's debug/diagnostic logging and look for export results: connection refused points at protocol/endpoint, 401/403 at the key header, and success with no data at the environment you are viewing.
- 5
Flush on shutdown for short-lived processes
Call the tracer provider's shutdown (or force-flush) before the process exits — in serverless handlers, at the end of each invocation if the runtime may freeze. Batched spans that never flush never arrive.
- 6
Set service.name and find your spans
Set the service.name resource attribute (e.g. via OTEL_SERVICE_NAME), redeploy, and look for that service in AllStak's tracing view. If spans were arriving unnamed, they will now appear under the right service.
Prevent it from recurring
- Pin the protocol explicitly (http/protobuf) in config so an SDK upgrade cannot silently switch to gRPC.
- Keep endpoint, headers, and service.name in environment variables managed per deploy environment.
- Wire tracer shutdown into your process exit path from day one, especially for jobs and functions.
- After any OTel dependency upgrade, verify one trace end to end before rolling out.
- Remember the scope: traces over OTLP/HTTP are supported; OTLP metrics and logs are not.
Still stuck?
The full walkthrough lives at /docs/guides/opentelemetry. If exports succeed in your OTel diagnostics but spans still do not appear, check the AllStak status page, then email [email protected] with your service.name, exporter config (key redacted), and a trace ID you expected to see.
Frequently asked questions
Does AllStak accept OTLP over gRPC?
No. AllStak accepts OTLP trace export over HTTP. Configure your exporter for the HTTP variant (e.g. http/protobuf) and point it at the traces endpoint from the setup guide.
Can I send OpenTelemetry metrics or logs to AllStak?
Not over OTLP — AllStak's OTLP support covers traces. Logs and metrics flow through the AllStak SDKs and the infrastructure agent instead.
Do I have to replace my OTel instrumentation with AllStak SDKs?
No. Keep your vendor-neutral OpenTelemetry instrumentation and point the OTLP/HTTP exporter at AllStak — spans render as waterfall traces with a service map and latency analytics.
Why do traces appear only when my service restarts?
That pattern means spans sit in the batch processor and only ship when shutdown flushes them. Lower the batch export interval or ensure regular traffic volume so batches flush continuously.
Explore more
Compare
One endpoint, full traces
Point your OTLP/HTTP exporter at AllStak and your spans render as waterfalls with a service map and p50/p95/p99 analytics. Start free.