Merge pull request #3 from apache/otp-23-support

Allow compiling on Erlang 23
tree: b47617bd261e6fc058a0c4394cbc604a46b29a8e
  1. doc/
  2. src/
  3. test/
  4. .gitignore
  5. .travis.yml
  8. rebar.config
  9. rebar.config.script
  10. rebar.lock

jaeger_passage version Build Status Code Coverage License: MIT

Jaeger client library for Erlang.

This is an extension library of passage.


A Running Example

Starts Jaeger in the background:

$ docker run -d -p6831:6831/udp -p6832:6832/udp -p16686:16686 jaegertracing/all-in-one:latest

Starts Erlang Shell:

$ rebar3 shell

% Starts `example_tracer`
> Sampler = passage_sampler_all:new().
> ok = jaeger_passage:start_tracer(example_tracer, Sampler).

% Starts a root span.
> RootSpan = passage:start_span(example_root, [{tracer, example_tracer}]).

% Starts a child span.
> ChildSpan = passage:start_span(example_child, [{child_of, RootSpan}]).

% Finishes the spans
> passage:finish_span(ChildSpan).
> passage:finish_span(RootSpan).

Browses the tracing result:

$ firefox http://localhost:16686/

Selecting reporter

By default ‘compact’ jaeger.thrift over UDP reporter is used. However it is possible to select different reporter. Bellow is a configuration matrics for available options:

protocolthrift_protocoljaeger portdescription
udpcompact6831accept jaeger.thrift over compact thrift protocol (default)
udpbinary6832accept jaeger.thrift over binary thrift protocol
httpN/A14268accept jaeger.thrift directly from clients

The HTTP version is beneficial if you don't have jaeger agents deployed or your spans are greater than max udp packet size (65Kb). Otherwise it is better to use default.