aboutsummaryrefslogtreecommitdiff
path: root/crates/arti-relay/Cargo.toml
diff options
context:
space:
mode:
Diffstat (limited to 'crates/arti-relay/Cargo.toml')
-rw-r--r--crates/arti-relay/Cargo.toml22
1 files changed, 20 insertions, 2 deletions
diff --git a/crates/arti-relay/Cargo.toml b/crates/arti-relay/Cargo.toml
index ccbcd505f..630fa351f 100644
--- a/crates/arti-relay/Cargo.toml
+++ b/crates/arti-relay/Cargo.toml
@@ -51,9 +51,19 @@ full = [
# This feature flag enables experimental features that are not supported. Turning it on may
# void your API.
-experimental = ["metrics"]
+experimental = ["metrics", "opentelemetry"]
metrics = ["tor-chanmgr/metrics", "dep:metrics-exporter-prometheus", "__is_experimental"]
+opentelemetry = [
+ "dep:tracing-opentelemetry",
+ "dep:opentelemetry",
+ "dep:otlp-file-exporter",
+ "dep:opentelemetry_sdk",
+ "dep:opentelemetry-otlp",
+ "dep:opentelemetry-appender-tracing",
+ "dep:opentelemetry-proto",
+ "__is_experimental",
+]
__is_experimental = []
[dependencies]
@@ -71,6 +81,13 @@ libc = "0.2"
metrics-exporter-prometheus = { version = "0.18.0", optional = true, default-features = false, features = [
"http-listener",
] }
+opentelemetry = { version = "0.32.0", optional = true }
+opentelemetry-appender-tracing = { version = "0.32.0", optional = true }
+opentelemetry-otlp = { version = "0.32.0", optional = true }
+opentelemetry-proto = { version = "0.32.0", optional = true }
+# TODO: Figure out why this feature is needed, and how it interacts with non-tokio runtimes.
+opentelemetry_sdk = { version = "0.32.1", features = ["rt-tokio"], optional = true }
+otlp-file-exporter = { path = "../otlp-file-exporter", version = "0.1.0", optional = true }
rand = "0.10.1"
rustls = { version = "0.23.5", default-features = false, features = ["logging", "aws_lc_rs"] }
safelog = { path = "../safelog", version = "0.9.0" }
@@ -87,6 +104,7 @@ tor-chanmgr = { path = "../tor-chanmgr", version = "0.45.0", features = ["relay"
tor-circmgr = { version = "0.45.0", path = "../tor-circmgr", features = ["flowctl-cc"] }
tor-config = { path = "../tor-config", version = "0.45.0" }
tor-config-path = { path = "../tor-config-path", version = "0.45.0" }
+tor-config-shared = { path = "../tor-config-shared", version = "0.45.0" }
tor-dirclient = { version = "0.45.0", path = "../tor-dirclient", features = ["relay"] }
tor-dircommon = { version = "0.45.0", path = "../tor-dircommon" }
tor-dirmgr = { path = "../tor-dirmgr", version = "0.45.0" }
@@ -108,6 +126,7 @@ tor-relay-crypto = { path = "../tor-relay-crypto", version = "0.45.0" }
tor-rtcompat = { path = "../tor-rtcompat", version = "0.45.0", features = ["rustls", "tokio", "tls-server"] }
tor-units = { path = "../tor-units", version = "0.45.0" }
tracing = "0.1.36"
+tracing-opentelemetry = { version = "0.33.0", optional = true }
tracing-subscriber = { version = "0.3.20", features = ["env-filter"] }
void = "1"
web-time-compat = { path = "../web-time-compat", version = "0.2.0" }
@@ -115,4 +134,3 @@ web-time-compat = { path = "../web-time-compat", version = "0.2.0" }
[dev-dependencies]
tor-keymgr = { path = "../tor-keymgr", version = "0.45.0", features = ["ephemeral-keystore", "testing"] }
tor-rtmock = { path = "../tor-rtmock", version = "0.45.0" }
-