[−][src]Crate opentelemetry_jaeger
OpenTelemetry Jaeger Exporter
Collects OpenTelemetry spans and reports them to a given Jaeger
agent
or collector
endpoint. See the Jaeger Docs for details
and deployment information.
Jaeger Exporter Example
This example expects a Jaeger agent running on localhost:6831
.
use opentelemetry::{api::Key, global, sdk}; fn init_tracer() -> thrift::Result<()> { let exporter = opentelemetry_jaeger::Exporter::builder() .with_agent_endpoint("localhost:6831".parse().unwrap()) .with_process(opentelemetry_jaeger::Process { service_name: "trace-demo".to_string(), tags: vec![ Key::new("exporter").string("jaeger"), Key::new("float").f64(312.23), ], }) .init()?; let provider = sdk::Provider::builder() .with_simple_exporter(exporter) .with_config(sdk::Config { default_sampler: Box::new(sdk::Sampler::Always), ..Default::default() }) .build(); global::set_provider(provider); Ok(()) } fn main() -> thrift::Result<()> { init_tracer()?; // Use configured tracer Ok(()) }
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
.
[dependencies]
opentelemetry-jaeger = { version = "0.1", features = ["collector_client"] }
Then you can use the with_collector_endpoint
method to specify the endpoint:
ⓘThis example is not tested
// Note that this requires the `collector_client` feature. use opentelemetry::{api::Key, global, sdk}; fn init_tracer() -> thrift::Result<()> { let exporter = opentelemetry_jaeger::Exporter::builder() .with_collector_endpoint("http://localhost:14268/api/traces".to_string()) .with_process(opentelemetry_jaeger::Process { service_name: "trace-demo".to_string(), tags: vec![ Key::new("exporter").string("jaeger"), Key::new("float").f64(312.23), ], }) .init()?; let provider = sdk::Provider::builder() .with_simple_exporter(exporter) .with_config(sdk::Config { default_sampler: Box::new(sdk::Sampler::Always), ..Default::default() }) .build(); global::set_provider(provider); Ok(()) } fn main() -> thrift::Result<()> { init_tracer()?; // Use configured tracer Ok(()) }
Structs
Builder | Jaeger exporter builder |
Exporter | Jaeger span exporter |
Process | Jaeger process configuration |