OTLP HTTP endpoint silently drops spans with slash / in the span name
@elramen is already working on this.
Since Aug 6, 2026.
- Dominant language
- Python
- Stars
- 44.8k
- Forks
- 4.9k
- Avg merge
- 21h 23m
- Merged PRs (30d)
- 607
Description
Environment
self-hosted (https://develop.sentry.dev/self-hosted/)
Steps to Reproduce
Example json payload (does not appear in Explore -> Traces):
{ "resourceSpans": [{ "resource": { "attributes": [{"key": "service.name", "value": {"stringValue": "MyService"}}] }, "scopeSpans": [{ "scope": {"name": "test"}, "spans": [{ "traceId": "112233445566778899aabbccddeeff00", "spanId": "1122334455667788", "name": "test/ping", "kind": 1, "startTimeUnixNano": "1785927600000000000", "endTimeUnixNano": "1785927601000000000", "status": {} }] }] }] }
Send identical payload with span "name": "testping" instead of "test/ping" works.
The original name I had issues with was created automatically by a library and included XML namespace, i.e. "http://schemas.example.com/myproject/MyService/MyMethod" (.NET WCF instrumentation via OpenTelemetry.Instrumentation.Wcf)
Expected Result
Spans to be visible in Sentry or atleast be able to see them rejected if this slash has any special function in Sentry.
Actual Result
HTTP 200 OK from OTLP trace ingest endpoint, nothing visible in Explore -> Traces.
While troubleshooting this and verifying same behaviour on SaaS Sentry, "Seer" claimed this: "The trace ID is registered in Sentry (appears as an empty trace in Explore → Traces) but contains no spans." but I dont know if I can see empty traces in that list myself.
Product Area
Ingestion and Filtering
Link
No response
DSN
No response
Version
26.7.2
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.