Tapper v0.2.0 Tapper.Id
The ID used with the API; tracks nested spans.
Clients should consider this ID opaque!
Use destructure/1
to obtain trace parameters. NB special value :ignore
produces no-ops in API functions.
Summary
Functions
Destructure the id into external hex notation, for trace propagation purposes
Create id from trace parameters
Pop the last parent span id from the parent stack, returning updated Tapper Id
Push the current span id onto the parent stack, and set new span id, returning updated Tapper Id
is the trace with this id being sampled?
Generate a TraceId for testing; sample is true
Types
t :: %Tapper.Id{debug: boolean, origin_parent_id: Tapper.SpanId.t | :root, parent_ids: [Tapper.SpanId.t], sample: boolean, sampled: boolean, span_id: Tapper.SpanId.t, trace_id: Tapper.TraceId.t} | :ignore
Functions
Destructure the id into external hex notation, for trace propagation purposes.
Example
id = Tapper.start()
{trace_id_hex, span_id_hex, parent_span_id_hex, sampled_flag, debug_flag} =
Tapper.Id.destructure(id)
init(trace_id :: Tapper.TraceId.t, span_id :: Tapper.SpanId.t, parent_span_id :: Tapper.SpanId.t, sample :: boolean, debug :: boolean) :: t
Create id from trace parameters
Pop the last parent span id from the parent stack, returning updated Tapper Id
Push the current span id onto the parent stack, and set new span id, returning updated Tapper Id
is the trace with this id being sampled?