The OpenTelemetry Data Model: Spans, Metric Points and Log Records: OTCA practice questions
OpenTelemetry describes every signal with a shared vocabulary. Attributes are key-value pairs whose keys are non-empty strings and whose values are AnyValue types: strings, booleans, doubles, signed 64-bit integers, byte arrays, arrays and maps. Two attached structures appear on all signals.
By Ibrahim Yesilay · Published · Updated
Independent community practice, not affiliated with or endorsed by CNCF or The Linux Foundation.
What The OpenTelemetry Data Model: Spans, Metric Points and Log Records covers in OTCA
OpenTelemetry describes every signal with a shared vocabulary. Attributes are key-value pairs whose keys are non-empty strings and whose values are AnyValue types: strings, booleans, doubles, signed 64-bit integers, byte arrays, arrays and maps. Two attached structures appear on all signals. The Resource describes the entity that produced the telemetry, such as a service in a container, and the instrumentation scope identifies the code unit that emitted it through a tuple of name, version, schema_url and attributes. You pick the scope when you ask a provider for a Tracer, Meter or Logger.
A span carries a name, an immutable SpanContext, an optional parent, a SpanKind, start and end timestamps, attributes, links and timestamped events, plus a status. The SpanContext holds a 16-byte TraceId and an 8-byte SpanId, each of which must contain at least one non-zero byte, together with TraceFlags and TraceState. In hex these IDs become 32 and 16 lowercase characters. SpanKind defaults to INTERNAL; the other kinds are CLIENT, SERVER, PRODUCER and CONSUMER. Status starts as Unset, can be set to Error, or can be set to Ok by an application developer, and the codes follow the total order Ok over Error over Unset, so an explicit Ok is final.
Metric streams use four basic point kinds: Sum, Gauge, Histogram and Exponential Histogram, with Summary kept for compatibility with older formats. A Sum has an aggregation temporality, either delta or cumulative, and a flag saying whether it is monotonic. Delta streams report non-overlapping windows, while cumulative streams keep reporting the running total since a start time that is often close to process start. A Gauge reports the last sampled value and has no temporality. Histograms carry count, sum, optional min and max, and bucket counts; bucket upper bounds are inclusive and lower bounds exclusive. Exponential histograms compress bucket boundaries through a scale parameter. Data points may also carry exemplars that link a measurement to a trace and span.
A log record has named top-level fields and attribute collections. Timestamp is when the event happened at the source, while ObservedTimestamp is when OpenTelemetry observed it, which matters when the Collector reads older lines from a file. TraceId, SpanId and TraceFlags correlate a record with a trace. SeverityText keeps the original level string, and SeverityNumber normalizes it into ranges from TRACE (1 to 4) up to FATAL (21 to 24), which is the field to use for comparisons. Body may hold a plain message or structured AnyValue data, and a non-empty EventName marks the record as an event.
A frequent confusion is mixing up byte lengths with hex lengths for IDs, or assuming that Unset means failure. Another is treating a Gauge like a Sum: only Sums and histograms define temporality.
Key points
- A TraceId is 16 bytes and a SpanId is 8 bytes, and each must contain at least one non-zero byte.
- Span status defaults to Unset, and an explicit Ok overrides later attempts to set Error.
- Sum and Histogram points carry delta or cumulative temporality, while a Gauge reports the last sampled value.
- Explicit histogram buckets include their upper bound and exclude their lower bound.
- LogRecord Timestamp is the source time and ObservedTimestamp is the time OpenTelemetry saw the event.
Three sample questions
22 OTCA questions on The OpenTelemetry Data Model: Spans, Metric Points and Log Records, 22 with explanations. How practice works
Question 1
- A.To mark specific timed events within a Span.
- B.To relate a Span to other, causally related Spans.
- C.To indicate the status of a Span as Unset, Error or Ok.
- D.To denote the start and end time of a Span.
Correct answer: B
Sources: OpenTelemetry docs: Traces, OpenTelemetry spec: Overview
Question 2
- A.Negative values are bucketed by absolute value in a separate range, same scale.
- B.Negative values are ignored and not represented in the histogram.
- C.Negative values are stored in the same buckets as positive values but with negative counts.
- D.Negative values are combined with positive values in a single range.
Correct answer: A
Sources: OpenTelemetry spec: Metrics Data Model, OpenTelemetry spec: Metrics SDK
Question 3
- A.Only the linked span's name
- B.Its SpanContext, plus optional attributes
- C.The linked span's resource attributes
- D.The parent span ID of the current span, plus its name
Correct answer: B
Sources: OpenTelemetry spec: Tracing API, OpenTelemetry spec: Overview
Practice this topic
Focus mode keeps every question on The OpenTelemetry Data Model: Spans, Metric Points and Log Records until you leave it. 10 free guest answers, then a free account; no credit card.
Or open OTCA practice across all topics.
Sources
The explanation above was checked against these official documents.
- OpenTelemetry spec: Tracing API (checked 2026-10-28)
- OpenTelemetry spec: Metrics Data Model (checked 2026-10-28)
- OpenTelemetry spec: Logs Data Model (checked 2026-10-28)
- OpenTelemetry spec: Common concepts (checked 2026-10-28)
- OpenTelemetry spec: Instrumentation Scope (checked 2026-10-28)
Frequently asked questions
Which log field should be used to filter records by severity?
SeverityNumber. It is normalized so that larger numbers mean more severe events, and the Logs Data Model says comparisons should use it. SeverityText keeps the source spelling and is better suited for display.
Does a Gauge have an aggregation temporality?
No. Temporality and the monotonic flag belong to Sums, and temporality also applies to histograms. A Gauge reports the last sampled value for its time window.