[package]
name = "opentelemetry_sdk"
version = "0.18.0"
description = "The SDK for the OpenTelemetry metrics collection and distributed tracing framework"
homepage = "https://github.com/open-telemetry/opentelemetry-rust"
repository = "https://github.com/open-telemetry/opentelemetry-rust"
readme = "README.md"
license = "Apache-2.0"
edition = "2021"
rust-version = "1.56"
[dependencies]
opentelemetry_api = { version = "0.18", path = "../opentelemetry-api/" }
opentelemetry-http = { version = "0.7.0", path = "../opentelemetry-http", optional = true }
async-std = { version = "1.6", features = ["unstable"], optional = true }
async-trait = { version = "0.1", optional = true }
crossbeam-channel = { version = "0.5", optional = true }
dashmap = { version = "5.1.0", optional = true }
fnv = { version = "1.0", optional = true }
futures-channel = "0.3"
futures-executor = "0.3"
futures-util = { version = "0.3.17", default-features = false, features = ["std", "sink", "async-await-macro"] }
once_cell = "1.10"
percent-encoding = { version = "2.0", optional = true }
rand = { version = "0.8", default-features = false, features = ["std", "std_rng"], optional = true }
serde = { version = "1.0", features = ["derive", "rc"], optional = true }
serde_json = { version = "1", optional = true }
thiserror = "1"
url = { version = "2.2", optional = true }
tokio = { version = "1.0", default-features = false, features = ["rt", "time"], optional = true }
tokio-stream = { version = "0.1", optional = true }
http = { version = "0.2", optional = true }
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[dev-dependencies]
bincode = "1.2"
criterion = "0.3.1"
rand_distr = "0.4.0"
[features]
default = ["trace"]
trace = ["opentelemetry_api/trace", "crossbeam-channel", "rand", "async-trait", "percent-encoding"]
jaeger_remote_sampler = ["trace", "opentelemetry-http", "http", "serde", "serde_json", "url"]
metrics = ["opentelemetry_api/metrics", "dashmap", "fnv"]
testing = ["opentelemetry_api/testing", "trace", "metrics", "rt-async-std", "rt-tokio", "rt-tokio-current-thread", "tokio/macros", "tokio/rt-multi-thread"]
rt-tokio = ["tokio", "tokio-stream"]
rt-tokio-current-thread = ["tokio", "tokio-stream"]
rt-async-std = ["async-std"]
[[bench]]
name = "trace"
harness = false
[[bench]]
name = "batch_span_processor"
harness = false
required-features = ["rt-tokio", "testing"]
[[bench]]
name = "metric"
harness = false
required-features = ["metrics"]