Record Container
record_container = [
magic: h'0d0aab7e7b646c6f677d7ebb0a1a',
resource,
records: #6.256([* entry]) / [* entry]
]
resource = resource_v00
resource_v00 = {
0: 0,
4: epoch_info,
23: attributes,
}
epoch_info = [
system: uint,
steady: uint,
]
entry = record / span_start / span_end
record = [
severity,
ctx: [
? name: dupe_tstr,
? ( trace_id, span_id ),
],
timestamp,
message: dupe_tstr,
fmtArgs: [* any],
attributes,
]
span_start = [
id: span_context,
kind: span_kind,
parent: span_context / null,
timestamp,
name: dupe_tstr,
[ * span_link ]
attributes,
]
span_end = [
id: span_context,
timestamp,
]
span_context = [
trace_id,
span_id,
]
span_link = [ span_context, attributes ]
attributes = {
dlog_attr_line_id ^ => uint,
dlog_attr_file_id ^ => dupe_tstr
* dlog_attribute,
* otlp_attribute,
}
dlog_attr_line_id = 2
dlog_attr_file_id = 3
dlog_attribute = (dlog_attribute_id => dlog_attribute_value)
dlog_attribute_value = any
dlog_attribute_id = uint
otlp_attributes = { * otlp_attribute }
otlp_attribute = (otlp_attribute_id => otlp_attribute_value)
otlp_attribute_value = bool / int / float64 / dupe_tstr / [((+ bool) // (+ int) // (+ float64) // (+ dupe_tstr))]
otlp_attribute_id = dupe_tstr
timestamp = uint
trace_id = bstr .size 16
span_id = bstr .size 8
severity = #0.0 .. #0.23
span_kind = #0.0 .. #0.4
dupe_tstr = tstr / #6.25(uint)