chore(cargo): Bump dependencies

This commit is contained in:
Daniel Lundin 2025-03-31 21:15:44 +02:00
parent e42e924ce6
commit 3cf1714185
Signed by: dln
SSH key fingerprint: SHA256:dQy1Xj3UiqJYpKR5ggQ2bxgz4jCH8IF+k3AB8o0kmdI
5 changed files with 631 additions and 416 deletions

960
Cargo.lock generated

File diff suppressed because it is too large Load diff

View file

@ -23,26 +23,26 @@ edition = "2021"
name = "patagia-run"
[workspace.dependencies]
anyhow = "1.0.95"
clap = { version = "4.5.26", features = [
anyhow = "1.0.98"
clap = { version = "4.5.37", features = [
"derive",
"deprecated",
"env",
"wrap_help",
"string",
] }
dropshot = "0.15.1"
dropshot = "0.16.0"
futures = "0.3"
http = "1.2.0"
once_cell = "1.20.2"
http = "1.3.1"
once_cell = "1.21.3"
progenitor = "0.9"
reqwest = { version = "0.12.12", features = ["json", "stream", "rustls-tls"] }
schemars = "0.8.21"
semver = "1.0.24"
serde = { version = "1.0.217", features = ["derive"] }
reqwest = { version = "0.12.15", features = ["json", "stream", "rustls-tls"] }
schemars = "0.8.22"
semver = "1.0.26"
serde = { version = "1.0.219", features = ["derive"] }
slog = "2.7.0"
slog-async = "2.8.0"
tokio = { version = "1.43.0", features = ["full"] }
tokio = { version = "1.44.2", features = ["full"] }
tracing = "0.1.41"
tracing-core = "0.1.33"
tracing-chrome = "0.7.2"

View file

@ -15,7 +15,7 @@ schemars.workspace = true
serde.workspace = true
slog-async.workspace = true
slog.workspace = true
sqlx = { version = "0.8.3", default-features = false, features = [
sqlx = { version = "0.8.5", default-features = false, features = [
"macros", "migrate", "postgres", "runtime-tokio", "tls-rustls", "time", "uuid"
] }
tokio.workspace = true

View file

@ -8,14 +8,14 @@ version.workspace = true
anyhow.workspace = true
http.workspace = true
once_cell.workspace = true
opentelemetry-otlp = { version = "0.27.0", features = ["grpc-tonic", "gzip-tonic", "zstd-tonic", "tls", "tls-roots", "trace"] }
opentelemetry_sdk = { version = "0.27.1", features = ["metrics", "rt-tokio"] }
opentelemetry-semantic-conventions = "0.27.0"
opentelemetry-appender-tracing = { version = "0.27.0", features = ["log", "experimental_metadata_attributes"] }
opentelemetry-resource-detectors = { version = "0.6.0" }
opentelemetry = "0.27.1"
tonic = "0.12.3"
tracing-opentelemetry = "0.28.0"
opentelemetry-otlp = { version = "0.29.0", features = ["grpc-tonic", "gzip-tonic", "zstd-tonic", "tls", "tls-roots", "trace"] }
opentelemetry_sdk = { version = "0.29.0", features = ["metrics", "rt-tokio"] }
opentelemetry-semantic-conventions = "0.29.0"
opentelemetry-appender-tracing = { version = "0.29.1", features = ["log", "experimental_metadata_attributes"] }
opentelemetry-resource-detectors = { version = "0.8.0" }
opentelemetry = "0.29.1"
tonic = { version = "0.13.0", features = [ "channel", "tls-native-roots" ] }
tracing-opentelemetry = "0.30.0"
tracing-subscriber = { version = "0.3.19", default-features = false, features = [
"std",
"ansi",

View file

@ -1,11 +1,11 @@
use anyhow::{anyhow, Result};
use opentelemetry::{trace::TracerProvider as _, KeyValue};
use opentelemetry_otlp::{WithExportConfig, WithTonicConfig};
use opentelemetry::trace::TracerProvider;
use opentelemetry::KeyValue;
use opentelemetry_otlp::WithExportConfig;
use opentelemetry_sdk::{
metrics::{MeterProviderBuilder, PeriodicReader, SdkMeterProvider},
propagation::TraceContextPropagator,
runtime,
trace::{RandomIdGenerator, Sampler, TracerProvider},
trace::{RandomIdGenerator, Sampler, SdkTracerProvider},
Resource,
};
use opentelemetry_semantic_conventions as semcov;
@ -13,15 +13,11 @@ use tracing_opentelemetry::{MetricsLayer, OpenTelemetryLayer};
use tracing_subscriber::layer::SubscriberExt;
use tracing_subscriber::util::SubscriberInitExt;
use std::time::Duration;
// Construct MeterProvider for MetricsLayer
fn init_meter_provider(otel_endpoint: &String, resource: Resource) -> Result<SdkMeterProvider> {
let exporter = opentelemetry_otlp::MetricExporter::builder()
.with_tonic()
.with_endpoint(otel_endpoint)
.with_tls_config(tonic::transport::ClientTlsConfig::new().with_native_roots())
.with_compression(opentelemetry_otlp::Compression::Gzip)
.with_temporality(opentelemetry_sdk::metrics::Temporality::default())
.build()
.map_err(|e| anyhow!("Error creating OTLP metric exporter: {:?}", e))?;
@ -29,7 +25,7 @@ fn init_meter_provider(otel_endpoint: &String, resource: Resource) -> Result<Sdk
let meter_provider = MeterProviderBuilder::default()
.with_resource(resource)
.with_reader(
PeriodicReader::builder(exporter, runtime::Tokio)
PeriodicReader::builder(exporter)
.with_interval(std::time::Duration::from_secs(10))
.build(),
)
@ -41,22 +37,20 @@ fn init_meter_provider(otel_endpoint: &String, resource: Resource) -> Result<Sdk
}
// Construct TracerProvider for OpenTelemetryLayer
fn init_tracer_provider(otel_endpoint: &String, resource: Resource) -> Result<TracerProvider> {
fn init_tracer_provider(otel_endpoint: &String, resource: Resource) -> Result<SdkTracerProvider> {
let exporter = opentelemetry_otlp::SpanExporter::builder()
.with_tonic()
.with_tls_config(tonic::transport::ClientTlsConfig::new().with_native_roots())
.with_compression(opentelemetry_otlp::Compression::Gzip)
.with_endpoint(otel_endpoint)
.build()
.map_err(|e| anyhow!("Error creating OTLP span exporter: {:?}", e))?;
let tracer_provider = opentelemetry_sdk::trace::TracerProvider::builder()
let tracer_provider = SdkTracerProvider::builder()
.with_sampler(Sampler::ParentBased(Box::new(Sampler::TraceIdRatioBased(
1.0,
))))
.with_resource(resource)
.with_id_generator(RandomIdGenerator::default())
.with_batch_exporter(exporter, opentelemetry_sdk::runtime::Tokio)
.with_batch_exporter(exporter)
.build();
Ok(tracer_provider)
@ -65,22 +59,19 @@ fn init_tracer_provider(otel_endpoint: &String, resource: Resource) -> Result<Tr
// Initialize tracing-subscriber and return TracingGuard for opentelemetry-related termination processing
pub fn init_tracing(otel_endpoint: Option<&String>, log_stderr: bool) -> Result<TracingGuard> {
let resource = {
let r = Resource::new([KeyValue::new(
semcov::resource::SERVICE_VERSION,
env!("CARGO_PKG_VERSION"),
)]);
let detected = Resource::from_detectors(
Duration::from_secs(5),
vec![
let r = Resource::builder()
.with_attribute(KeyValue::new(
semcov::resource::SERVICE_VERSION,
env!("CARGO_PKG_VERSION"),
))
.with_detectors(&[
Box::new(opentelemetry_sdk::resource::SdkProvidedResourceDetector),
Box::new(opentelemetry_sdk::resource::EnvResourceDetector::new()),
Box::new(opentelemetry_resource_detectors::OsResourceDetector),
Box::new(opentelemetry_resource_detectors::ProcessResourceDetector),
Box::new(opentelemetry_sdk::resource::TelemetryResourceDetector),
],
);
r.merge(&detected)
]);
r.build()
};
let env_filter = tracing_subscriber::EnvFilter::try_from_default_env()
@ -126,16 +117,14 @@ pub fn init_tracing(otel_endpoint: Option<&String>, log_stderr: bool) -> Result<
pub struct TracingGuard {
meter_provider: Option<SdkMeterProvider>,
tracer_provider: Option<TracerProvider>,
tracer_provider: Option<SdkTracerProvider>,
}
impl Drop for TracingGuard {
fn drop(&mut self) {
if let Some(tracer_provider) = &self.tracer_provider {
for result in tracer_provider.force_flush() {
if let Err(err) = result {
eprintln!("{err:?}");
}
if let Err(err) = tracer_provider.force_flush() {
eprintln!("{err:?}");
}
if let Err(err) = tracer_provider.shutdown() {
eprintln!("{err:?}");