feat(tvix/tracing): introduce common tvix-tracing crate

Introduce a new common crate that contains tracing boilerplate which then
can be used in the cli, tvix-store and tvix-build crates.
It has otlp as an optional feature, which is currently only used by
tvix-store.

Change-Id: I41468ac4d9c65174515d721513b96fea463d6ed2
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11758
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
Autosubmit: Simon Hauser <simon.hauser@helsinki-systems.de>
This commit is contained in:
Simon Hauser 2024-06-06 15:44:11 +02:00 committed by clbot
parent 11a6ff7706
commit 825d498908
15 changed files with 271 additions and 203 deletions

28
tvix/tracing/Cargo.toml Normal file
View file

@ -0,0 +1,28 @@
[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_info"] }
tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }
indicatif = "0.17.8"
tracing-indicatif = "0.3.6"
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 }
[features]
default = []
otlp = [
"dep:tracing-opentelemetry",
"dep:opentelemetry",
"dep:opentelemetry-otlp",
"dep:opentelemetry_sdk"
]
[lints]
workspace = true