tvl-depot/tvix/tracing/Cargo.toml
Simon Hauser 618aacaa61 feat(tvix/tracing): http trace propagation
Introduces a helper function within tvix-tracing that returns a reqwest
tracing middleware that will ingest the traceparent if otlp is enabled.

It is feature flagged in tvix-tracing so not every consumer of that
library automatically has reqwest in its dependencies.

Tested using netcat to verify that the `traceparent` header is there if
otlp is enabled and missing if otlp feature is disabled.

Change-Id: I5abccae777b725f5ff7382e3686165383c477a39
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11886
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
2024-07-02 13:43:09 +00:00

49 lines
1.3 KiB
TOML

[package]
name = "tvix-tracing"
version = "0.1.0"
edition = "2021"
[dependencies]
lazy_static = "1.4.0"
tracing = { version = "0.1.40", features = ["max_level_trace", "release_max_level_debug"] }
tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }
indicatif = "0.17.8"
tracing-indicatif = "0.3.6"
tokio = { version = "1.32.0" , features = ["sync", "rt"] }
thiserror = "1.0.38"
tracing-opentelemetry = { version = "0.23.0", optional = true }
opentelemetry = { version = "0.22.0", optional = true }
opentelemetry-otlp = { version = "0.15.0", optional = true }
opentelemetry_sdk = { version = "0.22.1", features = ["rt-tokio"], optional = true }
tracing-tracy = { version = "0.11.0", features = ["flush-on-exit"], optional = true }
opentelemetry-http = { version = "0.11.0", optional = true }
tonic = { version = "0.11.0", optional = true }
http = { version = "0.2.11", optional = true }
reqwest-tracing = { version = "0.4.8", default-features = false, optional = true }
[features]
default = []
otlp = [
"dep:tracing-opentelemetry",
"dep:opentelemetry",
"dep:opentelemetry-otlp",
"dep:opentelemetry_sdk",
"dep:opentelemetry-http",
"reqwest-tracing?/opentelemetry_0_22",
]
tracy = [
"dep:tracing-tracy"
]
tonic = [
"dep:tonic",
"dep:http",
]
reqwest = [
"dep:reqwest-tracing",
]
[lints]
workspace = true