[][src]Module opentelemetry::api

OpenTelemetry API: What applications use and SDKs implement.

OpenTelemetry Language Libraries are composed of 2 packages: api and sdk.

Third-party libraries and frameworks that want to be instrumented in OpenTelemetry-compatible way will have a dependency on the api package. The developers of these third-party libraries will add calls to telemetry API to produce telemetry data.

Applications that use third-party libraries that are instrumented with OpenTelemetry API will have a choice to enable or not enable the actual delivery of telemetry data. The application can also call telemetry API directly to produce additional telemetry data.

In order to enable telemetry the application must take a dependency on the OpenTelemetry SDK, which implements the delivery of the telemetry. The application must also configure exporters so that the SDK knows where and how to deliver the telemetry.

Re-exports

pub use self::core::Key;
pub use self::core::KeyValue;
pub use self::core::Unit;
pub use self::core::Value;
pub use context::propagation::binary_propagator::BinaryFormat;
pub use context::propagation::composite_propagator::HttpTextCompositePropagator;
pub use context::propagation::text_propagator::HttpTextFormat;
pub use context::propagation::Carrier;
pub use context::Context;
pub use correlation::CorrelationContext;
pub use metrics::counter::Counter;
pub use metrics::counter::CounterHandle;
pub use metrics::gauge::Gauge;
pub use metrics::gauge::GaugeHandle;
pub use metrics::measure::Measure;
pub use metrics::measure::MeasureHandle;
pub use metrics::noop::NoopMeter;
pub use metrics::value::MeasurementValue;
pub use metrics::Instrument;
pub use metrics::InstrumentHandle;
pub use metrics::LabelSet;
pub use metrics::Measurement;
pub use metrics::Meter;
pub use metrics::MetricOptions;
pub use trace::b3_propagator::B3Propagator;
pub use trace::context::TraceContextExt;
pub use trace::event::Event;
pub use trace::futures::FutureExt;
pub use trace::id_generator::IdGenerator;
pub use trace::link::Link;
pub use trace::noop::NoopProvider;
pub use trace::noop::NoopSpan;
pub use trace::noop::NoopSpanExporter;
pub use trace::noop::NoopTracer;
pub use trace::provider::Provider;
pub use trace::sampler::Sampler;
pub use trace::sampler::SamplingDecision;
pub use trace::sampler::SamplingResult;
pub use trace::span::Span;
pub use trace::span::SpanKind;
pub use trace::span::StatusCode;
pub use trace::span_context::SpanContext;
pub use trace::span_context::SpanId;
pub use trace::span_context::TraceId;
pub use trace::span_context::TRACE_FLAGS_UNUSED;
pub use trace::span_context::TRACE_FLAG_SAMPLED;
pub use trace::span_processor::SpanProcessor;
pub use trace::trace_context_propagator::TraceContextPropagator;
pub use trace::tracer::SpanBuilder;
pub use trace::tracer::Tracer;

Modules

context

OpenTelemetry Context API

core

OpenTelemetry shared core date types

correlation

OpenTelemetry Correlation Context API

metrics

OpenTelemetry Metrics API

trace

OpenTelemetry Tracing API.

Structs

CorrelationContextPropagator

Propagates name/value pairs in W3C Correlation Context format.

Traits

CorrelationContextExt

Methods for soring and retrieving correlation data in a context.