[package]
edition = "2021"
rust-version = "1.75.0"
name = "opentelemetry"
version = "0.32.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "OpenTelemetry API for Rust"
homepage = "https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry"
readme = "README.md"
keywords = [
"opentelemetry",
"logging",
"tracing",
"metrics",
]
categories = [
"development-tools::debugging",
"development-tools::profiling",
"api-bindings",
"asynchronous",
]
license = "Apache-2.0"
repository = "https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
default = [
"trace",
"metrics",
"logs",
"internal-logs",
"futures",
]
experimental_metrics_bound_instruments = ["metrics"]
futures = [
"futures-core",
"futures-sink",
"pin-project-lite",
]
internal-logs = ["tracing"]
logs = []
metrics = []
testing = ["trace"]
trace = [
"futures",
"thiserror",
]
[lib]
name = "opentelemetry"
path = "src/lib.rs"
bench = false
[[bench]]
name = "anyvalue"
path = "benches/anyvalue.rs"
harness = false
[[bench]]
name = "attributes"
path = "benches/attributes.rs"
harness = false
[[bench]]
name = "baggage"
path = "benches/baggage.rs"
harness = false
[[bench]]
name = "context_attach"
path = "benches/context_attach.rs"
harness = false
required-features = ["tracing"]
[[bench]]
name = "context_suppression"
path = "benches/context_suppression.rs"
harness = false
[[bench]]
name = "logs"
path = "benches/logs.rs"
harness = false
required-features = ["logs"]
[[bench]]
name = "metrics"
path = "benches/metrics.rs"
harness = false
required-features = ["metrics"]
[[bench]]
name = "trace"
path = "benches/trace.rs"
harness = false
required-features = ["trace"]
[dependencies.futures-core]
version = "0.3"
optional = true
[dependencies.futures-sink]
version = "0.3"
optional = true
[dependencies.pin-project-lite]
version = "0.2"
optional = true
[dependencies.thiserror]
version = "2"
optional = true
default-features = false
[dependencies.tracing]
version = ">=0.1.40"
optional = true
default-features = false
[dev-dependencies.criterion]
version = "0.5"
[dev-dependencies.rand]
version = "0.9"
features = [
"os_rng",
"thread_rng",
]
default-features = false
[dev-dependencies.tokio]
version = "1.0"
features = ["full"]
[target.'cfg(all(target_arch = "wasm32", not(target_os = "wasi")))'.dependencies.js-sys]
version = "0.3.63"
[lints.clippy.all]
level = "warn"
priority = 1
[lints.rust]
edition_2024_expr_fragment_specifier = "allow"
if_let_rescope = "allow"
tail_expr_drop_order = "allow"
[lints.rust.rust_2024_compatibility]
level = "warn"
priority = -1