Skip to content

Commit fc4cfc6

Browse files
committed
chore: document dash0.trace.origin.*
1 parent 41d0f7e commit fc4cfc6

File tree

3 files changed

+79
-0
lines changed

3 files changed

+79
-0
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ This is a temporary location; the content will be merged into the [Dash0 Docs](h
1414
- **Resource** — Resource identity and classification: `dash0.resource.id`, `dash0.resource.hash`, `dash0.resource.name`, `dash0.resource.type`.
1515
- **Operation** — Operation naming and typing: `dash0.operation.name`, `dash0.operation.type`.
1616
- **Span** — Span identity: `dash0.span.name`, `dash0.span.type`.
17+
- **Trace Origin** — Trace origin classification and context: `dash0.trace.origin.type`, `dash0.trace.origin.web.session.id`, `dash0.trace.origin.web.event.id`, `dash0.trace.origin.synthetic_check.check_id`, `dash0.trace.origin.synthetic_check.attempt_id`, `dash0.trace.origin.synthetic_check.follow_redirect`.
1718
- **Log** — Log enrichment: `dash0.log.message`, `dash0.log.pattern`, `dash0.log.ai.attributes_inferred`, `dash0.log.ai.message_inferred`, `dash0.log.ai.severity_inferred`.
1819
- **OTLP Field Mappings** — Dash0-specific mappings of OTLP protocol fields to queryable attributes: `otel.trace.id`, `otel.span.id`, `otel.parent.id`, `otel.span.name`, `otel.span.kind`, `otel.span.status.code`, `otel.span.status.message`, `otel.span.event.name`, `otel.log.body`, `otel.log.severity.number`, `otel.log.severity.range`, `otel.log.severity.text`, `otel.metric.name`, `otel.metric.type`, `otel.metric.unit`, `otel.metric.overflow`.
1920

model/registry/span-attributes.yaml

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,3 +28,75 @@ groups:
2828
Assigned at ingestion time using the same rule evaluation that produces
2929
`dash0.operation.type`. Values are normalised to lowercase.
3030
examples: ["http", "db", "rpc", "messaging"]
31+
32+
- id: registry.dash0.trace.origin
33+
type: attribute_group
34+
display_name: Dash0 Trace Origin Attributes
35+
brief: >
36+
Attributes describing the origin of a trace, assigned at ingestion time
37+
by analysing the trace ID structure.
38+
attributes:
39+
- id: dash0.trace.origin.type
40+
type: string
41+
stability: stable
42+
brief: >
43+
Classification of the trace origin.
44+
note: |
45+
Determined at ingestion time by inspecting well-known prefixes in the trace ID.
46+
Traces whose ID starts with `d042` are classified as `WEB` (browser/RUM).
47+
Traces whose ID starts with `d0synt` (hex-encoded) are classified as `SYNTHETIC_CHECK`.
48+
All other traces receive the value `UNKNOWN`.
49+
examples: ["WEB", "SYNTHETIC_CHECK", "UNKNOWN"]
50+
51+
- id: dash0.trace.origin.web.session.id
52+
type: string
53+
stability: stable
54+
brief: >
55+
Identifier of the browser session that initiated the trace.
56+
note: |
57+
Extracted from bytes 3–11 of the trace ID for web traces (prefix `d042`).
58+
Only set when `dash0.trace.origin.type` is `WEB`.
59+
examples: ["001464d0c7bb671e", "00ce3d462fd28166"]
60+
61+
- id: dash0.trace.origin.web.event.id
62+
type: string
63+
stability: stable
64+
brief: >
65+
Original parent span ID from the browser, typically a web event.
66+
note: |
67+
On server root spans of web traces, the parent span ID is removed from the span
68+
and stored as this attribute instead.
69+
Only set when `dash0.trace.origin.type` is `WEB` and CRC32 checksum validation of
70+
the trace ID passes.
71+
examples: ["df7459ddb13b0399"]
72+
73+
- id: dash0.trace.origin.synthetic_check.check_id
74+
type: string
75+
stability: stable
76+
brief: >
77+
Unique identifier of the synthetic check that generated the trace.
78+
note: |
79+
Extracted from bytes 6–12 of the trace ID for synthetic-check traces (prefix `d0synt`).
80+
Only set when `dash0.trace.origin.type` is `SYNTHETIC_CHECK`.
81+
examples: ["64617368-3073-796e-7468-1234567890ab"]
82+
83+
- id: dash0.trace.origin.synthetic_check.attempt_id
84+
type: string
85+
stability: stable
86+
brief: >
87+
Attempt identifier for the synthetic check execution.
88+
note: |
89+
Extracted from bytes 12–16 of the trace ID for synthetic-check traces.
90+
Only set when `dash0.trace.origin.type` is `SYNTHETIC_CHECK`.
91+
examples: ["11112222"]
92+
93+
- id: dash0.trace.origin.synthetic_check.follow_redirect
94+
type: int
95+
stability: stable
96+
brief: >
97+
Index of the redirect followed for the synthetic check request.
98+
note: |
99+
Extracted from byte 7 of the parent span ID on server root spans of synthetic-check traces.
100+
Only set when `dash0.trace.origin.type` is `SYNTHETIC_CHECK` and the span matches the
101+
synthetic-check client span pattern.
102+
examples: [0, 2]

model/tracing/attributes.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,12 @@ groups:
2020
- ref: dash0.span.type
2121
- ref: dash0.operation.name
2222
- ref: dash0.operation.type
23+
- ref: dash0.trace.origin.type
24+
- ref: dash0.trace.origin.web.session.id
25+
- ref: dash0.trace.origin.web.event.id
26+
- ref: dash0.trace.origin.synthetic_check.check_id
27+
- ref: dash0.trace.origin.synthetic_check.attempt_id
28+
- ref: dash0.trace.origin.synthetic_check.follow_redirect
2329
- ref: dash0.auth.token
2430
- ref: dash0.resource.id
2531
- ref: dash0.resource.hash

0 commit comments

Comments
 (0)