Skip to main content

SPANS

Static SPANS 

Source
pub static SPANS: LazyLock<SchemaRef>
Expand description

SPANS root table.

One deviation from the wire format, and it is the only one: OTLP sends start_time_unix_nano and end_time_unix_nano; we store the start and a duration_nano. Two reasons, and end time is recoverable exactly from the pair either way.

Duration is what trace search actually filters on — “spans slower than 500ms” is the query every tracing UI opens with — so it deserves to be a column rather than a subtraction across two others. And it compresses: durations are small integers clustered near zero, absolute nanosecond timestamps are 19-digit numbers that share only their high bytes.

name is a dictionary because the semantic conventions require span names to be low-cardinality; if an instrumentation library violates that badly enough to fill 65536 slots, the block seals early and nothing is lost.