15 releases (8 breaking)

new 0.9.1 Oct 17, 2020
0.8.0 Aug 14, 2020
0.7.0 Jul 27, 2020
0.3.0 Mar 24, 2020
0.1.5 Nov 26, 2019

#26 in Debugging

Download history 2163/week @ 2020-06-28 2949/week @ 2020-07-05 3552/week @ 2020-07-12 3255/week @ 2020-07-19 3501/week @ 2020-07-26 5767/week @ 2020-08-02 5440/week @ 2020-08-09 4703/week @ 2020-08-16 5192/week @ 2020-08-23 4388/week @ 2020-08-30 4030/week @ 2020-09-06 4169/week @ 2020-09-13 5065/week @ 2020-09-20 5989/week @ 2020-09-27 5709/week @ 2020-10-04 4722/week @ 2020-10-11

20,644 downloads per month
Used in 27 crates (15 directly)

Apache-2.0

560KB
10K SLoC

OpenTelemetry-Rust

Crates.io: opentelemetry Documentation Crates.io GitHub Actions CI Gitter chat

The Rust OpenTelemetry implementation.

OpenTelemetry provides a single set of APIs, libraries, agents, and collector services to capture distributed traces and metrics from your application. You can analyze them using Prometheus, Jaeger, and other observability tools.

Getting Started

use opentelemetry::{api::trace::Tracer, exporter::trace::stdout};

fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Create a new instrumentation pipeline
    let (tracer, _uninstall) = stdout::new_pipeline().install();

    tracer.in_span("doing_work", |cx| {
        // Traced app logic here...
    });

    Ok(())
}

See the examples directory for different integration patterns.

Contributing

See the contributing file.

Dependencies

~2.2–7.5MB
~166K SLoC