A captured span handed to an ImagePipe.Telemetry.Trace.Exporter.
OTel-shaped so a Jaeger/Tempo/OTLP mapping is mechanical. duration_native is the
honest timing source (raw monotonic units from :telemetry.span/3); start_time/
end_time are wall-clock (system_time) for export.
root marks the span that opened its trace in this node (set even when an inbound W3C
parent gives it a remote parent_span_id).
Summary
Types
@type t() :: %ImagePipe.Telemetry.Trace.Span{ attributes: map(), duration_native: integer() | nil, end_time: integer() | nil, events: [map()], kind: :internal | :server | :client | nil, links: [map()], name: String.t(), node: node() | nil, parent_span_id: String.t() | nil, pid: pid() | nil, root: boolean(), span_id: String.t(), start_time: integer() | nil, status: :unset | :ok | :error | nil, status_message: String.t() | nil, trace_flags: non_neg_integer(), trace_id: String.t() }