ImagePipe.Telemetry.Trace.Span (image_pipe v0.1.0)

Copy Markdown View Source

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

t()

@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()
}