[package] name = "tonic-tracing-opentelemetry" description = "Middlewares and tools to integrate tonic + tracing + opentelemetry." readme = "README.md" keywords = ["tonic", "tracing", "opentelemetry"] categories = [ "development-tools::debugging", "development-tools::profiling", "web-programming", ] homepage = "https://github.com/davidB/tracing-opentelemetry-instrumentation-sdk/tree/main/tonic-tracing-opentelemetry" edition.workspace = true version = "0.24.0" authors.workspace = true repository.workspace = true license.workspace = true [dependencies] futures-core = "0.3" futures-util = { version = "0.3", default-features = false, features = [] } http = { workspace = true } http-body = "1.0" hyper = { workspace = true } opentelemetry = { workspace = true } pin-project-lite = "0.2" tonic = { version = "0.12", default-features = false } tower = { workspace = true } tracing = { workspace = true } tracing-opentelemetry = { workspace = true } tracing-opentelemetry-instrumentation-sdk = { path = "../tracing-opentelemetry-instrumentation-sdk", features = [ "http", ], version = "0.24" } [dev-dependencies] axum = { workspace = true } testing-tracing-opentelemetry = { path = "../testing-tracing-opentelemetry" } fake-opentelemetry-collector = { path = "../fake-opentelemetry-collector" } assert2 = { workspace = true } insta = { workspace = true } opentelemetry-otlp = { workspace = true, features = [ "http-proto", "reqwest-client", "reqwest-rustls", ] } opentelemetry-proto = { workspace = true, features = ["gen-tonic"] } rstest = { workspace = true } serde = { version = "1.0.136", features = ["derive"] } serde_json = "1.0.79" tokio = { workspace = true, features = ["full"] } tracing-subscriber = { version = "0.3", default-features = false, features = [ "env-filter", "fmt", "json", ] } tokio-stream = { workspace = true, features = ["net"] } # need tokio runtime to run smoke tests. opentelemetry_sdk = { workspace = true, features = [ "trace", "rt-tokio", "testing", ] } [features] default = [] # to use level `info` instead of `trace` to create otel span tracing_level_info = []