Jaeger client library for Erlang.
This is an extension library of passage.
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/
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:
protocol | thrift_protocol | jaeger port | description |
---|---|---|---|
udp | compact | 6831 | accept jaeger.thrift over compact thrift protocol (default) |
udp | binary | 6832 | accept jaeger.thrift over binary thrift protocol |
http | N/A | 14268 | accept 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.