Tapper v0.2.0 Tapper.Tracer.Api behaviour

The (minimal) low-level API for the Tapper.Tracer; clients will normally use the Tapper module.

Summary

Types

annotation_delta()
annotation_delta ::
  {:annotate, {value :: annotation_value, endpoint :: maybe_endpoint}} |
  annotation_value

Delta for simple annotations

annotation_value()
annotation_value() :: String.t | atom
async_delta()
async_delta() :: {:async, boolean}

Delta for async span

binary_annotation_delta()
binary_annotation_delta() :: {:binary_annotate, {type :: binary_annotation_type, key :: binary_annotation_key, value :: binary_annotation_value, endpoint :: maybe_endpoint}}

Delta for binary annotations

binary_annotation_key()
binary_annotation_key() :: String.t | atom
binary_annotation_type()
binary_annotation_type ::
  :string |
  :bool |
  :i16 |
  :i32 |
  :i64 |
  :double |
  :bytes
binary_annotation_value()
binary_annotation_value ::
  String.t |
  atom |
  boolean |
  integer |
  float |
  binary
maybe_endpoint()
maybe_endpoint() :: Tapper.Endpoint.t | nil
name_delta()
name_delta() :: {:name, name :: String.t | atom}

Delta for span name

Callbacks

finish(tapper_id, opts)
finish(tapper_id :: Tapper.Id.t, opts :: Keyword.t) :: :ok
finish_span(tapper_id, opts)
finish_span(tapper_id :: Tapper.Id.t, opts :: Keyword.t) :: Tapper.Id.t
join(trace_id, span_id, parent_id, sample, debug, opts)
join(trace_id :: Tapper.TraceId.t, span_id :: Tapper.SpanId.t, parent_id :: Tapper.SpanId.t | :root, sample :: boolean, debug :: boolean, opts :: Keyword.t) :: Tapper.Id.t
start(opts)
start(opts :: Keyword.t) :: Tapper.Id.t
start_span(tapper_id, opts)
start_span(tapper_id :: Tapper.Id.t, opts :: Keyword.t) :: Tapper.Id.t
update_span(tapper_id, deltas, opts)
update_span(tapper_id :: Tapper.Id.t, deltas :: delta | [delta], opts :: Keyword.t) :: Tapper.Id.t