@@ -19,27 +19,68 @@ shuttle-service = { workspace = true }
1919anyhow = { workspace = true }
2020async-trait = { workspace = true }
2121hyper = { workspace = true , features = [" http1" , " server" , " tcp" ] }
22+ log = { version = " 0.4" , optional = true , default-features = false }
23+ opentelemetry = { version = " 0.27.0" , optional = true , default-features = false , features = [" logs" , " metrics" , " trace" , " tracing" ] }
24+ opentelemetry-otlp = { version = " 0.27.0" , optional = true , default-features = false , features = [
25+ " http-proto" ,
26+ " logs" ,
27+ " metrics" ,
28+ " reqwest-client" ,
29+ " trace" ,
30+ ] }
31+ # NOTE: If the version of `opentelemetry_sdk` is changed/updated, remember up update the
32+ # `telemetry.sdk.version` value in `src/trace.rs:373`
33+ opentelemetry_sdk = { version = " =0.27.1" , optional = true , default-features = false , features = [
34+ " http" ,
35+ " logs" ,
36+ " metrics" ,
37+ " rt-tokio" ,
38+ " trace" ,
39+ " spec_unstable_logs_enabled" ,
40+ ] }
41+ opentelemetry-semantic-conventions = { version = " 0.27.0" , optional = true , default-features = false , features = [" semconv_experimental" ] }
2242serde = { workspace = true }
2343serde_json = { workspace = true }
2444strfmt = { workspace = true }
2545tokio = { workspace = true , features = [" full" ] }
26- tokio-util = { workspace = true }
2746tokio-stream = { workspace = true }
2847tonic = { workspace = true }
29- tracing = { workspace = true }
30- tracing-subscriber = { workspace = true , optional = true }
48+ tracing = { workspace = true , features = [" attributes" , " std" ] }
49+ tracing-core = { version = " 0.1" , optional = true , default-features = false , features = [" std" ] }
50+ tracing-log = { version = " 0.2" , optional = true , default-features = false , features = [" log-tracer" , " std" ] }
51+ tracing-opentelemetry = { version = " 0.28.0" , optional = true , default-features = false , features = [" metrics" ] }
52+ tracing-subscriber = { workspace = true , optional = true , default-features = false }
3153
3254[dev-dependencies ]
3355portpicker = { workspace = true }
3456shuttle-service = { workspace = true , features = [" builder" , " runner" ] }
3557shuttle-proto = { workspace = true , features = [" provisioner" ] }
36- uuid = { workspace = true }
3758
3859[features ]
3960default = [" setup-tracing" ]
4061api-client-tracing = [" shuttle-api-client/tracing" ]
4162
4263setup-tracing = [
43- " tracing-subscriber/default " ,
64+ " tracing-subscriber/ansi " ,
4465 " tracing-subscriber/env-filter" ,
66+ " tracing-subscriber/fmt" ,
67+ " tracing-subscriber/smallvec" ,
68+ " tracing-subscriber/std" ,
69+ " tracing-subscriber/tracing-log" ,
70+ ]
71+ setup-telemetry = [
72+ " setup-tracing" ,
73+ " dep:log" ,
74+ " dep:opentelemetry" ,
75+ " dep:opentelemetry-otlp" ,
76+ " dep:opentelemetry_sdk" ,
77+ " dep:opentelemetry-semantic-conventions" ,
78+ " dep:tracing-core" ,
79+ " dep:tracing-log" ,
80+ " dep:tracing-opentelemetry" ,
81+ " tracing-subscriber/alloc" ,
82+ " tracing-subscriber/parking_lot" ,
83+ " tracing-subscriber/registry" ,
84+ " tracing-subscriber/tracing" ,
85+ " tracing-subscriber/tracing-serde" ,
4586]
0 commit comments