feat(tvix/tracing): add tracing-tracy support

This introduces another feature flag, "tracy" to the `tvix-tracing` crate.

If enabled (not enabled by default), it'll add an additional layer
emitting packets in a format that https://github.com/wolfpld/tracy can
display.

I had to be a bit tricky with the combinatorial complexity when adding
this, but the resulting code still seems manageable.

Change-Id: Ica824496728fa276ceae3f7a9754be0166e6558f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10952
Tested-by: BuildkiteCI
Reviewed-by: Simon Hauser <simon.hauser@helsinki-systems.de>
Reviewed-by: flokli <flokli@flokli.de>
This commit is contained in:
Florian Klink 2024-06-14 14:10:57 +03:00 committed by flokli
parent d25f047b9d
commit 6b6a34065e
5 changed files with 1175 additions and 69 deletions

View file

@ -16,6 +16,7 @@ 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 }
[features]
default = []
@ -25,6 +26,9 @@ otlp = [
"dep:opentelemetry-otlp",
"dep:opentelemetry_sdk"
]
tracy = [
"dep:tracing-tracy"
]
[lints]
workspace = true