Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
58 lines (43 sloc) 2.61 KB

OpenTelemetry-Rust

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

The Rust OpenTelemetry client.

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.

Quick Start

use opentelemetry::{api::{Provider, TracerGenerics}, global, sdk};

fn main() {
    global::set_provider(sdk::Provider::default());

    global::trace_provider().get_tracer("component-a").with_span("foo", |_span| {
        global::trace_provider().get_tracer("component-b").with_span("bar", |_span| {
            global::trace_provider().get_tracer("component-c").with_span("baz", |_span| {

            })
        })
    });
}

See the opentelemetry-example-app for a complete example.

Contributing

See the contributing file.

Release Schedule

OpenTelemetry Rust is under active development. Below is the release schedule for the Rust library. The first version of a release isn't guaranteed to conform to a specific version of the specification, and future releases will not attempt to maintain backwards compatibility with the alpha release.

Component Version Target Date
Tracing API Alpha March 31 2020
Tracing SDK Alpha April 31 2020
Metrics API Alpha March 31 2020
Metrics SDK Alpha April 30 2020
Zipkin Trace Exporter Alpha Unknown
Jaeger Trace Exporter Alpha April 30 2020
Prometheus Metrics Exporter Alpha April 30 2020
Context Propagation Alpha April 30 2020
OpenTracing Bridge Alpha Unknown
OpenCensus Bridge Alpha Unknown
You can’t perform that action at this time.