1
0
mirror of https://github.com/matrix-org/matrix-authentication-service.git synced 2025-08-07 17:03:01 +03:00

Upgrade opentelemetry to 0.21.0

This commit is contained in:
Quentin Gliech
2023-11-08 10:39:23 +01:00
parent f2286e37ef
commit 5ab0e880ff
10 changed files with 107 additions and 167 deletions

123
Cargo.lock generated
View File

@@ -1180,9 +1180,9 @@ dependencies = [
[[package]] [[package]]
name = "crc-catalog" name = "crc-catalog"
version = "2.3.0" version = "2.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4939f9ed1444bd8c896d37f3090012fa6e7834fe84ef8c9daa166109515732f9" checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5"
[[package]] [[package]]
name = "crc32fast" name = "crc32fast"
@@ -2825,7 +2825,7 @@ dependencies = [
"mas-templates", "mas-templates",
"mas-tower", "mas-tower",
"oauth2-types", "oauth2-types",
"opentelemetry 0.20.0", "opentelemetry",
"opentelemetry-http", "opentelemetry-http",
"opentelemetry-jaeger", "opentelemetry-jaeger",
"opentelemetry-otlp", "opentelemetry-otlp",
@@ -2833,6 +2833,7 @@ dependencies = [
"opentelemetry-semantic-conventions", "opentelemetry-semantic-conventions",
"opentelemetry-stdout", "opentelemetry-stdout",
"opentelemetry-zipkin", "opentelemetry-zipkin",
"opentelemetry_sdk",
"prometheus", "prometheus",
"rand 0.8.5", "rand 0.8.5",
"rand_chacha 0.3.1", "rand_chacha 0.3.1",
@@ -2972,7 +2973,7 @@ dependencies = [
"mas-templates", "mas-templates",
"mime", "mime",
"oauth2-types", "oauth2-types",
"opentelemetry 0.20.0", "opentelemetry",
"opentelemetry-semantic-conventions", "opentelemetry-semantic-conventions",
"pbkdf2", "pbkdf2",
"psl", "psl",
@@ -3011,7 +3012,7 @@ dependencies = [
"hyper-rustls", "hyper-rustls",
"mas-tower", "mas-tower",
"once_cell", "once_cell",
"opentelemetry 0.20.0", "opentelemetry",
"rustls", "rustls",
"rustls-native-certs", "rustls-native-certs",
"serde", "serde",
@@ -3286,7 +3287,7 @@ dependencies = [
"mas-iana", "mas-iana",
"mas-jose", "mas-jose",
"oauth2-types", "oauth2-types",
"opentelemetry 0.20.0", "opentelemetry",
"rand_core 0.6.4", "rand_core 0.6.4",
"serde", "serde",
"serde_json", "serde_json",
@@ -3343,7 +3344,7 @@ dependencies = [
"mas-storage-pg", "mas-storage-pg",
"mas-templates", "mas-templates",
"mas-tower", "mas-tower",
"opentelemetry 0.20.0", "opentelemetry",
"rand 0.8.5", "rand 0.8.5",
"rand_chacha 0.3.1", "rand_chacha 0.3.1",
"serde", "serde",
@@ -3391,7 +3392,7 @@ name = "mas-tower"
version = "0.5.0" version = "0.5.0"
dependencies = [ dependencies = [
"http", "http",
"opentelemetry 0.20.0", "opentelemetry",
"opentelemetry-http", "opentelemetry-http",
"opentelemetry-semantic-conventions", "opentelemetry-semantic-conventions",
"pin-project-lite", "pin-project-lite",
@@ -3697,16 +3698,6 @@ version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
[[package]]
name = "opentelemetry"
version = "0.20.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9591d937bc0e6d2feb6f71a559540ab300ea49955229c347a517a28d27784c54"
dependencies = [
"opentelemetry_api",
"opentelemetry_sdk 0.20.0",
]
[[package]] [[package]]
name = "opentelemetry" name = "opentelemetry"
version = "0.21.0" version = "0.21.0"
@@ -3733,7 +3724,7 @@ dependencies = [
"bytes", "bytes",
"http", "http",
"hyper", "hyper",
"opentelemetry 0.21.0", "opentelemetry",
"tokio", "tokio",
] ]
@@ -3747,10 +3738,10 @@ dependencies = [
"futures-core", "futures-core",
"futures-util", "futures-util",
"http", "http",
"opentelemetry 0.21.0", "opentelemetry",
"opentelemetry-http", "opentelemetry-http",
"opentelemetry-semantic-conventions", "opentelemetry-semantic-conventions",
"opentelemetry_sdk 0.21.0", "opentelemetry_sdk",
"thrift", "thrift",
"tokio", "tokio",
] ]
@@ -3764,10 +3755,10 @@ dependencies = [
"async-trait", "async-trait",
"futures-core", "futures-core",
"http", "http",
"opentelemetry 0.21.0", "opentelemetry",
"opentelemetry-proto", "opentelemetry-proto",
"opentelemetry-semantic-conventions", "opentelemetry-semantic-conventions",
"opentelemetry_sdk 0.21.0", "opentelemetry_sdk",
"prost", "prost",
"thiserror", "thiserror",
"tokio", "tokio",
@@ -3781,8 +3772,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6cd37c9261414d49ed7bd7689ffdf77a01c8c95bc29c35dfc8c7435713149baa" checksum = "6cd37c9261414d49ed7bd7689ffdf77a01c8c95bc29c35dfc8c7435713149baa"
dependencies = [ dependencies = [
"once_cell", "once_cell",
"opentelemetry 0.21.0", "opentelemetry",
"opentelemetry_sdk 0.21.0", "opentelemetry_sdk",
"prometheus", "prometheus",
"protobuf", "protobuf",
] ]
@@ -3793,8 +3784,8 @@ version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a2e155ce5cc812ea3d1dffbd1539aed653de4bf4882d60e6e04dcf0901d674e1" checksum = "a2e155ce5cc812ea3d1dffbd1539aed653de4bf4882d60e6e04dcf0901d674e1"
dependencies = [ dependencies = [
"opentelemetry 0.21.0", "opentelemetry",
"opentelemetry_sdk 0.21.0", "opentelemetry_sdk",
"prost", "prost",
"tonic", "tonic",
] ]
@@ -3805,7 +3796,7 @@ version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f5774f1ef1f982ef2a447f6ee04ec383981a3ab99c8e77a1a7b30182e65bbc84" checksum = "f5774f1ef1f982ef2a447f6ee04ec383981a3ab99c8e77a1a7b30182e65bbc84"
dependencies = [ dependencies = [
"opentelemetry 0.21.0", "opentelemetry",
] ]
[[package]] [[package]]
@@ -3817,8 +3808,8 @@ dependencies = [
"async-trait", "async-trait",
"chrono", "chrono",
"futures-util", "futures-util",
"opentelemetry 0.21.0", "opentelemetry",
"opentelemetry_sdk 0.21.0", "opentelemetry_sdk",
"ordered-float 4.1.1", "ordered-float 4.1.1",
"serde", "serde",
"serde_json", "serde_json",
@@ -3834,54 +3825,16 @@ dependencies = [
"futures-core", "futures-core",
"http", "http",
"once_cell", "once_cell",
"opentelemetry 0.21.0", "opentelemetry",
"opentelemetry-http", "opentelemetry-http",
"opentelemetry-semantic-conventions", "opentelemetry-semantic-conventions",
"opentelemetry_sdk 0.21.0", "opentelemetry_sdk",
"serde", "serde",
"serde_json", "serde_json",
"thiserror", "thiserror",
"typed-builder", "typed-builder",
] ]
[[package]]
name = "opentelemetry_api"
version = "0.20.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8a81f725323db1b1206ca3da8bb19874bbd3f57c3bcd59471bfb04525b265b9b"
dependencies = [
"futures-channel",
"futures-util",
"indexmap 1.9.3",
"js-sys",
"once_cell",
"pin-project-lite",
"thiserror",
"urlencoding",
]
[[package]]
name = "opentelemetry_sdk"
version = "0.20.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fa8e705a0612d48139799fcbaba0d4a90f06277153e43dd2bdc16c6f0edd8026"
dependencies = [
"async-trait",
"crossbeam-channel",
"futures-channel",
"futures-executor",
"futures-util",
"once_cell",
"opentelemetry_api",
"ordered-float 3.9.2",
"percent-encoding",
"rand 0.8.5",
"regex",
"thiserror",
"tokio",
"tokio-stream",
]
[[package]] [[package]]
name = "opentelemetry_sdk" name = "opentelemetry_sdk"
version = "0.21.0" version = "0.21.0"
@@ -3895,7 +3848,7 @@ dependencies = [
"futures-util", "futures-util",
"glob", "glob",
"once_cell", "once_cell",
"opentelemetry 0.21.0", "opentelemetry",
"ordered-float 4.1.1", "ordered-float 4.1.1",
"percent-encoding", "percent-encoding",
"rand 0.8.5", "rand 0.8.5",
@@ -3913,15 +3866,6 @@ dependencies = [
"num-traits", "num-traits",
] ]
[[package]]
name = "ordered-float"
version = "3.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f1e1c390732d15f1d48471625cd92d154e66db2c56645e29a9cd26f4699f72dc"
dependencies = [
"num-traits",
]
[[package]] [[package]]
name = "ordered-float" name = "ordered-float"
version = "4.1.1" version = "4.1.1"
@@ -6131,17 +6075,6 @@ dependencies = [
"tracing-core", "tracing-core",
] ]
[[package]]
name = "tracing-log"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3"
dependencies = [
"log",
"once_cell",
"tracing-core",
]
[[package]] [[package]]
name = "tracing-opentelemetry" name = "tracing-opentelemetry"
version = "0.22.0" version = "0.22.0"
@@ -6150,12 +6083,10 @@ checksum = "c67ac25c5407e7b961fafc6f7e9aa5958fd297aada2d20fa2ae1737357e55596"
dependencies = [ dependencies = [
"js-sys", "js-sys",
"once_cell", "once_cell",
"opentelemetry 0.21.0", "opentelemetry",
"opentelemetry_sdk 0.21.0", "opentelemetry_sdk",
"smallvec",
"tracing", "tracing",
"tracing-core", "tracing-core",
"tracing-log 0.2.0",
"tracing-subscriber", "tracing-subscriber",
"web-time", "web-time",
] ]
@@ -6175,7 +6106,7 @@ dependencies = [
"thread_local", "thread_local",
"tracing", "tracing",
"tracing-core", "tracing-core",
"tracing-log 0.1.4", "tracing-log",
] ]
[[package]] [[package]]

View File

@@ -63,6 +63,16 @@ version = "0.1.40"
[workspace.dependencies.tracing-subscriber] [workspace.dependencies.tracing-subscriber]
version = "0.3.17" version = "0.3.17"
# OpenTelemetry
[workspace.dependencies.opentelemetry]
version = "0.21.0"
features = ["trace", "metrics"]
[workspace.dependencies.opentelemetry-semantic-conventions]
version = "0.13.0"
[workspace.dependencies.tracing-opentelemetry]
version = "0.22.0"
default-features = false
# URL manipulation # URL manipulation
[workspace.dependencies.url] [workspace.dependencies.url]
version = "2.4.1" version = "2.4.1"

View File

@@ -33,14 +33,15 @@ zeroize = "1.6.0"
tracing.workspace = true tracing.workspace = true
tracing-appender = "0.2.2" tracing-appender = "0.2.2"
tracing-subscriber = { workspace = true, features = ["env-filter"] } tracing-subscriber = { workspace = true, features = ["env-filter"] }
tracing-opentelemetry = "0.22.0" tracing-opentelemetry.workspace = true
opentelemetry = { version = "0.20.0", features = ["trace", "metrics", "rt-tokio"] } opentelemetry.workspace = true
opentelemetry-http = { version = "0.10.0", features = ["tokio", "hyper"] } opentelemetry-http = { version = "0.10.0", features = ["tokio", "hyper"] }
opentelemetry-jaeger = { version = "0.20.0", features = ["rt-tokio", "collector_client"] } opentelemetry-jaeger = { version = "0.20.0", features = ["rt-tokio", "collector_client"] }
opentelemetry-otlp = { version = "0.14.0", features = ["trace", "metrics"] } opentelemetry-otlp = { version = "0.14.0", features = ["trace", "metrics"] }
opentelemetry-prometheus = "0.14.0" opentelemetry-prometheus = "0.14.0"
opentelemetry-semantic-conventions = "0.13.0" opentelemetry-semantic-conventions.workspace = true
opentelemetry-stdout = { version = "0.2.0", features = ["trace", "metrics"] } opentelemetry-stdout = { version = "0.2.0", features = ["trace", "metrics"] }
opentelemetry_sdk = { version = "0.21.0", features = ["trace", "metrics", "rt-tokio"] }
opentelemetry-zipkin = { version = "0.19.0", default-features = false } opentelemetry-zipkin = { version = "0.19.0", default-features = false }
prometheus = "0.13.3" prometheus = "0.13.3"
sentry = { version = "0.31.7", default-features = false, features = ["backtrace", "contexts", "panic", "tower"] } sentry = { version = "0.31.7", default-features = false, features = ["backtrace", "contexts", "panic", "tower"] }

View File

@@ -109,7 +109,6 @@ async fn try_main() -> anyhow::Result<()> {
tracing_opentelemetry::layer() tracing_opentelemetry::layer()
.with_tracer(tracer) .with_tracer(tracer)
.with_tracked_inactivity(false) .with_tracked_inactivity(false)
.with_exception_fields(true)
.with_filter(LevelFilter::INFO) .with_filter(LevelFilter::INFO)
}); });

View File

@@ -20,24 +20,20 @@ use mas_config::{
JaegerExporterProtocolConfig, MetricsExporterConfig, Propagator, TelemetryConfig, JaegerExporterProtocolConfig, MetricsExporterConfig, Propagator, TelemetryConfig,
TracingExporterConfig, TracingExporterConfig,
}; };
use opentelemetry::{ use opentelemetry::{global, propagation::TextMapPropagator, trace::TracerProvider as _};
global,
propagation::TextMapPropagator,
sdk::{
self,
metrics::{
reader::{DefaultAggregationSelector, DefaultTemporalitySelector},
ManualReader, MeterProvider, PeriodicReader,
},
propagation::{BaggagePropagator, TextMapCompositePropagator, TraceContextPropagator},
trace::{Sampler, Tracer, TracerProvider},
Resource,
},
trace::TracerProvider as _,
};
use opentelemetry_jaeger::Propagator as JaegerPropagator; use opentelemetry_jaeger::Propagator as JaegerPropagator;
use opentelemetry_otlp::MetricsExporterBuilder; use opentelemetry_otlp::MetricsExporterBuilder;
use opentelemetry_prometheus::PrometheusExporter; use opentelemetry_prometheus::PrometheusExporter;
use opentelemetry_sdk::{
self,
metrics::{
reader::{DefaultAggregationSelector, DefaultTemporalitySelector},
ManualReader, MeterProvider, PeriodicReader,
},
propagation::{BaggagePropagator, TextMapCompositePropagator, TraceContextPropagator},
trace::{Sampler, Tracer, TracerProvider},
Resource,
};
use opentelemetry_semantic_conventions as semcov; use opentelemetry_semantic_conventions as semcov;
use opentelemetry_zipkin::{B3Encoding, Propagator as ZipkinPropagator}; use opentelemetry_zipkin::{B3Encoding, Propagator as ZipkinPropagator};
use prometheus::Registry; use prometheus::Registry;
@@ -118,7 +114,7 @@ fn otlp_tracer(endpoint: Option<&Url>) -> anyhow::Result<Tracer> {
.tracing() .tracing()
.with_exporter(exporter) .with_exporter(exporter)
.with_trace_config(trace_config()) .with_trace_config(trace_config())
.install_batch(opentelemetry::runtime::Tokio) .install_batch(opentelemetry_sdk::runtime::Tokio)
.context("Failed to configure OTLP trace exporter")?; .context("Failed to configure OTLP trace exporter")?;
Ok(tracer) Ok(tracer)
@@ -128,10 +124,10 @@ fn jaeger_agent_tracer_provider(host: &str, port: u16) -> anyhow::Result<TracerP
let pipeline = opentelemetry_jaeger::new_agent_pipeline() let pipeline = opentelemetry_jaeger::new_agent_pipeline()
.with_service_name(env!("CARGO_PKG_NAME")) .with_service_name(env!("CARGO_PKG_NAME"))
.with_trace_config(trace_config()) .with_trace_config(trace_config())
.with_endpoint((host, port)); .with_endpoint(format!("{host}:{port}"));
let tracer_provider = pipeline let tracer_provider = pipeline
.build_batch(opentelemetry::runtime::Tokio) .build_batch(opentelemetry_sdk::runtime::Tokio)
.context("Failed to configure Jaeger agent exporter")?; .context("Failed to configure Jaeger agent exporter")?;
Ok(tracer_provider) Ok(tracer_provider)
@@ -158,7 +154,7 @@ async fn jaeger_collector_tracer_provider(
} }
let tracer_provider = pipeline let tracer_provider = pipeline
.build_batch(opentelemetry::runtime::Tokio) .build_batch(opentelemetry_sdk::runtime::Tokio)
.context("Failed to configure Jaeger collector exporter")?; .context("Failed to configure Jaeger collector exporter")?;
Ok(tracer_provider) Ok(tracer_provider)
@@ -177,7 +173,7 @@ async fn zipkin_tracer(collector_endpoint: &Option<Url>) -> anyhow::Result<Trace
} }
let tracer = pipeline let tracer = pipeline
.install_batch(opentelemetry::runtime::Tokio) .install_batch(opentelemetry_sdk::runtime::Tokio)
.context("Failed to configure Zipkin exporter")?; .context("Failed to configure Zipkin exporter")?;
Ok(tracer) Ok(tracer)
@@ -233,47 +229,50 @@ fn otlp_metric_reader(endpoint: Option<&url::Url>) -> anyhow::Result<PeriodicRea
Box::new(DefaultAggregationSelector::new()), Box::new(DefaultAggregationSelector::new()),
)?; )?;
Ok(PeriodicReader::builder(exporter, opentelemetry::runtime::Tokio).build()) Ok(PeriodicReader::builder(exporter, opentelemetry_sdk::runtime::Tokio).build())
} }
fn stdout_metric_reader() -> PeriodicReader { fn stdout_metric_reader() -> PeriodicReader {
let exporter = opentelemetry_stdout::MetricsExporter::default(); let exporter = opentelemetry_stdout::MetricsExporter::default();
PeriodicReader::builder(exporter, opentelemetry::runtime::Tokio).build() PeriodicReader::builder(exporter, opentelemetry_sdk::runtime::Tokio).build()
} }
pub fn prometheus_service<T>() -> tower::util::ServiceFn< type PromServiceFuture = std::future::Ready<Result<Response<Body>, std::convert::Infallible>>;
impl FnMut(T) -> std::future::Ready<Result<Response<Body>, std::convert::Infallible>> + Clone,
> { #[allow(clippy::needless_pass_by_value)]
fn prometheus_service_fn<T>(_req: T) -> PromServiceFuture {
use prometheus::{Encoder, TextEncoder}; use prometheus::{Encoder, TextEncoder};
let response = if let Some(registry) = PROMETHEUS_REGISTRY.get() {
let mut buffer = vec![];
let encoder = TextEncoder::new();
let metric_families = registry.gather();
// That shouldn't panic, unless we're constructing invalid labels
encoder.encode(&metric_families, &mut buffer).unwrap();
Response::builder()
.status(200)
.header(CONTENT_TYPE, encoder.format_type())
.body(Body::from(buffer))
.unwrap()
} else {
Response::builder()
.status(500)
.header(CONTENT_TYPE, "text/plain")
.body(Body::from("Prometheus exporter was not enabled in config"))
.unwrap()
};
std::future::ready(Ok(response))
}
pub fn prometheus_service<T>() -> tower::util::ServiceFn<fn(T) -> PromServiceFuture> {
if !PROMETHEUS_REGISTRY.initialized() { if !PROMETHEUS_REGISTRY.initialized() {
tracing::warn!("A Prometheus resource was mounted on a listener, but the Prometheus exporter was not setup in the config"); tracing::warn!("A Prometheus resource was mounted on a listener, but the Prometheus exporter was not setup in the config");
} }
tower::service_fn(move |_req| { tower::service_fn(prometheus_service_fn as _)
let response = if let Some(registry) = PROMETHEUS_REGISTRY.get() {
let mut buffer = vec![];
let encoder = TextEncoder::new();
let metric_families = registry.gather();
// That shouldn't panic, unless we're constructing invalid labels
encoder.encode(&metric_families, &mut buffer).unwrap();
Response::builder()
.status(200)
.header(CONTENT_TYPE, encoder.format_type())
.body(Body::from(buffer))
.unwrap()
} else {
Response::builder()
.status(500)
.header(CONTENT_TYPE, "text/plain")
.body(Body::from("Prometheus exporter was not enabled in config"))
.unwrap()
};
std::future::ready(Ok(response))
})
} }
fn prometheus_metric_reader() -> anyhow::Result<PrometheusExporter> { fn prometheus_metric_reader() -> anyhow::Result<PrometheusExporter> {
@@ -309,8 +308,8 @@ fn init_meter(config: &MetricsExporterConfig) -> anyhow::Result<()> {
Ok(()) Ok(())
} }
fn trace_config() -> sdk::trace::Config { fn trace_config() -> opentelemetry_sdk::trace::Config {
sdk::trace::config() opentelemetry_sdk::trace::config()
.with_resource(resource()) .with_resource(resource())
.with_sampler(Sampler::AlwaysOn) .with_sampler(Sampler::AlwaysOn)
} }
@@ -324,10 +323,10 @@ fn resource() -> Resource {
let detected = Resource::from_detectors( let detected = Resource::from_detectors(
Duration::from_secs(5), Duration::from_secs(5),
vec![ vec![
Box::new(sdk::resource::EnvResourceDetector::new()), Box::new(opentelemetry_sdk::resource::EnvResourceDetector::new()),
Box::new(sdk::resource::OsResourceDetector), Box::new(opentelemetry_sdk::resource::OsResourceDetector),
Box::new(sdk::resource::ProcessResourceDetector), Box::new(opentelemetry_sdk::resource::ProcessResourceDetector),
Box::new(sdk::resource::TelemetryResourceDetector), Box::new(opentelemetry_sdk::resource::TelemetryResourceDetector),
], ],
); );

View File

@@ -14,8 +14,8 @@ futures-util = "0.3.28"
# Logging and tracing # Logging and tracing
tracing.workspace = true tracing.workspace = true
opentelemetry = "0.20.0" opentelemetry.workspace = true
opentelemetry-semantic-conventions = "0.13.0" opentelemetry-semantic-conventions.workspace = true
# Error management # Error management
thiserror.workspace = true thiserror.workspace = true

View File

@@ -17,7 +17,7 @@ http-body = "0.4.5"
hyper = "0.14.27" hyper = "0.14.27"
hyper-rustls = { version = "0.24.1", features = ["http1", "http2"], default-features = false, optional = true } hyper-rustls = { version = "0.24.1", features = ["http1", "http2"], default-features = false, optional = true }
once_cell = "1.18.0" once_cell = "1.18.0"
opentelemetry = "0.20.0" opentelemetry.workspace = true
rustls = { version = "0.21.8", optional = true } rustls = { version = "0.21.8", optional = true }
rustls-native-certs = { version = "0.6.3", optional = true } rustls-native-certs = { version = "0.6.3", optional = true }
serde.workspace = true serde.workspace = true
@@ -28,7 +28,7 @@ tokio = { version = "1.33.0", features = ["sync", "parking_lot"], optional = tru
tower = { version = "0.4.13", features = [] } tower = { version = "0.4.13", features = [] }
tower-http = { version = "0.4.4", features = ["cors"] } tower-http = { version = "0.4.4", features = ["cors"] }
tracing.workspace = true tracing.workspace = true
tracing-opentelemetry = "0.22.0" tracing-opentelemetry.workspace = true
webpki-roots = { version = "0.25.2", optional = true } webpki-roots = { version = "0.25.2", optional = true }
mas-tower = { path = "../tower" } mas-tower = { path = "../tower" }

View File

@@ -14,12 +14,12 @@ thiserror.workspace = true
futures-util = "0.3.28" futures-util = "0.3.28"
apalis-core = { version = "0.4.5", features = ["tokio-comp"] } apalis-core = { version = "0.4.5", features = ["tokio-comp"] }
opentelemetry = "0.20.0" opentelemetry.workspace = true
rand_core = "0.6.4" rand_core = "0.6.4"
serde.workspace = true serde.workspace = true
serde_json.workspace = true serde_json.workspace = true
tracing.workspace = true tracing.workspace = true
tracing-opentelemetry = "0.22.0" tracing-opentelemetry.workspace = true
url.workspace = true url.workspace = true
ulid.workspace = true ulid.workspace = true

View File

@@ -23,8 +23,8 @@ thiserror.workspace = true
tokio = { version = "1.33.0", features = ["rt"] } tokio = { version = "1.33.0", features = ["rt"] }
tower = "0.4.13" tower = "0.4.13"
tracing.workspace = true tracing.workspace = true
tracing-opentelemetry = "0.22.0" tracing-opentelemetry.workspace = true
opentelemetry = "0.20.0" opentelemetry.workspace = true
ulid.workspace = true ulid.workspace = true
url.workspace = true url.workspace = true
serde.workspace = true serde.workspace = true

View File

@@ -10,10 +10,10 @@ repository.workspace = true
[dependencies] [dependencies]
http.workspace = true http.workspace = true
tracing.workspace = true tracing.workspace = true
tracing-opentelemetry = "0.22.0" tracing-opentelemetry.workspace = true
tower = "0.4.13" tower = "0.4.13"
tokio = { version = "1.33.0", features = ["time"] } tokio = { version = "1.33.0", features = ["time"] }
opentelemetry = { version = "0.20.0", features = ["metrics"] } opentelemetry.workspace = true
opentelemetry-http = "0.10.0" opentelemetry-http = "0.10.0"
opentelemetry-semantic-conventions = "0.13.0" opentelemetry-semantic-conventions.workspace = true
pin-project-lite = "0.2.13" pin-project-lite = "0.2.13"