OpenTelemetry Jaeger
Collects OpenTelemetry spans and reports them to a given Jaeger agent
or
collector
endpoint. See the Jaeger Docs for details about Jaeger and
deployment information.
Quickstart
First make sure you have a running version of the Jaeger instance you want to send data to:
$ docker run -d -p6831:6831/udp -p6832:6832/udp -p16686:16686 -p14268:14268 jaegertracing/all-in-one:latest
Then install a new jaeger pipeline with the recommended defaults to start exporting telemetry:
use Tracer;
Performance
For optimal performance, a batch exporter is recommended as the simple exporter
will export each span synchronously on drop. You can enable the tokio
or
async-std
features to have a batch exporter configured for you automatically
for either executor when you install the pipeline.
[]
= { = "*", = ["tokio"] }
= { = "*", = ["tokio"] }
Jaeger Exporter From Environment Variables
The jaeger pipeline builder can be configured dynamically via the from_env
method. All variables are optional, a full list of accepted options can be found
in the jaeger variables spec.
use Tracer;
Jaeger Collector Example
If you want to skip the agent and submit spans directly to a Jaeger collector,
you can enable the optional collector_client
feature for this crate. This
example expects a Jaeger collector running on http://localhost:14268
.
[]
= { = "..", = ["collector_client"] }
Then you can use the with_collector_endpoint
method to specify the endpoint:
// Note that this requires the `collector_client` feature.
use Tracer;
Kitchen Sink Full Configuration
Example showing how to override all configuration options. See the
PipelineBuilder
docs for details of each option.
use ;
use ;