Tapper v0.6.1 API Reference

Modules

The high-level client API for Tapper

Defines convenience functions for creating annotations, primarily for high-level api definitions such as the Tapper module

Tapper main application; configures and starts application supervisor

Support functions for configuration parsing

Contextual interface to Tapper

Encode protocol spans to JSON suitable for sending to V1 Zipkin Server API

Endpoint description struct; used in the API where a host endpoint is required

The ID used with the API; tracks nested spans

Defines the intermediate data structures used between the Tracer, and Reporters, containing only de-normalised fields relevant to the data transfer to trace collectors (e.g. Zipkin server), de-coupling from internal Tracer server state. In particular, protocol spans have a duration, rather than an end_timestamp

Annotation, with endpoint and timestamp

Binary annotation with type, key, value, and endpoint

Endpoint, with service name

A span, with hierarchy, start time, duration and annotations

Generic reporter support functions

Reporter modules should implement this behaviour

Reporter that collects spans and forwards them periodically to another reporter

Reporter that just logs JSON

Reporter that does absolutely nothing with spans

Reporter that sends spans to Zipkin Server API

Generate, format or parse a span id

Timestamp support functions

Generate, parse or format a top-level trace id

Low-level client API, interfaces between a Tapper client and a Tapper.Tracer.Server

Helpers for creating annotations in Tapper.Tracer.Server

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

The Trace server

Clean up a trace after a time-out

Tracer internal state, and functions to convert this to protocol spans (Tapper.Protocol.Span)

Converts Trace to Protocol spans