Cargo Features

[dependencies]
opentelemetry_sdk = { version = "0.28.0", default-features = false, features = ["trace", "jaeger_remote_sampler", "logs", "spec_unstable_logs_enabled", "metrics", "experimental_async_runtime", "rt-tokio", "rt-tokio-current-thread", "rt-async-std", "experimental_metrics_periodicreader_with_async_runtime", "spec_unstable_metrics_views", "experimental_logs_batch_log_processor_with_async_runtime", "experimental_trace_batch_span_processor_with_async_runtime", "experimental_metrics_disable_name_validation", "testing", "internal-logs"] }
default = internal-logs, logs, metrics, trace

These default features are set whenever opentelemetry_sdk is added without default-features = false somewhere in the dependency tree.

trace default experimental_trace…async_runtime? jaeger_remote_sampler? testing? = percent-encoding, rand

Enables trace of opentelemetry

Affects opentelemetry_sdk::propagation, opentelemetry_sdk::trace, testing::trace

jaeger_remote_sampler = http, opentelemetry-http, serde, serde_json, trace, url
logs default experimental_logs…async_runtime? spec_unstable_logs_enabled? testing? = serde_json

Enables logs of opentelemetry

Affects opentelemetry_sdk::logs

spec_unstable_logs_enabled = logs

Enables spec_unstable_logs_enabled of opentelemetry

Affects export::LogExporter.event_enabled, log_processor::LogProcessor.event_enabled

metrics default experimental…name_validation? experimental_metrics…async_runtime? spec_unstable_metrics_views? testing? = async-trait, glob

Enables metrics of opentelemetry

Affects opentelemetry_sdk::metrics, testing::metrics

experimental_async_runtime rt-async-std? rt-tokio? rt-tokio-current-thread?

Affects opentelemetry_sdk::runtime, runtime::Runtime, runtime::RuntimeChannel, runtime::TrySendError, runtime::TrySend, runtime::Tokio, runtime::TokioCurrentThread, runtime::AsyncStd

rt-tokio testing? = experimental_async_runtime, tokio, tokio-stream

Affects runtime::Tokio, util::tokio_interval_stream

rt-tokio-current-thread testing? = experimental_async_runtime, tokio, tokio-stream

Affects runtime::TokioCurrentThread, util::tokio_interval_stream

rt-async-std testing? = async-std, experimental_async_runtime

Affects runtime::AsyncStd

experimental_metrics_periodicreader_with_async_runtime = metrics

Affects metrics::periodic_reader_with_async_runtime

spec_unstable_metrics_views = metrics

Affects view::new_view

experimental_logs_batch_log_processor_with_async_runtime = logs

Affects logs::log_processor_with_async_runtime

experimental_trace_batch_span_processor_with_async_runtime = trace

Affects trace::span_processor_with_async_runtime

experimental_metrics_disable_name_validation = metrics
testing = logs, metrics, rt-async-std, rt-tokio, rt-tokio-current-thread, trace

Enables testing of opentelemetry, macros and rt-multi-thread of tokio

Affects testing::trace, testing::metrics

internal-logs default = tracing

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

opentelemetry-http jaeger_remote_sampler?
async-std rt-async-std?
async-trait metrics
percent-encoding trace
rand trace

Enables rand ^0.8

glob metrics
serde jaeger_remote_sampler?
serde_json jaeger_remote_sampler? logs
url jaeger_remote_sampler?
tokio rt-tokio? rt-tokio-current-thread? testing?
tokio-stream rt-tokio? rt-tokio-current-thread?
http jaeger_remote_sampler?
tracing internal-logs