diff --git a/core/Cargo.lock b/core/Cargo.lock index 76087244572..f00e24f8d5b 100644 --- a/core/Cargo.lock +++ b/core/Cargo.lock @@ -3173,7 +3173,7 @@ dependencies = [ "no-std-compat", "nonzero_ext", "parking_lot 0.12.3", - "portable-atomic 1.6.0", + "portable-atomic", "quanta", "rand 0.8.5", "smallvec", @@ -4204,24 +4204,12 @@ dependencies = [ [[package]] name = "metrics" -version = "0.20.1" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b9b8653cec6897f73b519a43fba5ee3d50f62fe9af80b428accdcc093b4a849" +checksum = "884adb57038347dfbaf2d5065887b6cf4312330dc8e94bc30a1a839bd79d3261" dependencies = [ - "ahash 0.7.8", - "metrics-macros", - "portable-atomic 0.3.20", -] - -[[package]] -name = "metrics-macros" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "731f8ecebd9f3a4aa847dfe75455e4757a45da40a7793d2f0b1f9b6ed18b23f3" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", + "ahash 0.8.11", + "portable-atomic", ] [[package]] @@ -5427,15 +5415,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "portable-atomic" -version = "0.3.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e30165d31df606f5726b090ec7592c308a0eaf61721ff64c9a3018e344a8753e" -dependencies = [ - "portable-atomic 1.6.0", -] - [[package]] name = "portable-atomic" version = "1.6.0" diff --git a/core/Cargo.toml b/core/Cargo.toml index d27ecaf7c15..c66b6a66511 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -354,7 +354,7 @@ await-tree = { version = "0.1.1", optional = true } # for layers-throttle governor = { version = "0.6.0", optional = true, features = ["std"] } # for layers-metrics -metrics = { version = "0.20", optional = true } +metrics = { version = "0.23", optional = true } # for layers-minitrace minitrace = { version = "0.6", optional = true } # for layers-opentelemetry diff --git a/core/src/layers/metrics.rs b/core/src/layers/metrics.rs index 219aebdf619..47d7a8a936c 100644 --- a/core/src/layers/metrics.rs +++ b/core/src/layers/metrics.rs @@ -23,9 +23,8 @@ use std::time::Instant; use bytes::Buf; use futures::FutureExt; use futures::TryFutureExt; -use metrics::increment_counter; -use metrics::register_counter; -use metrics::register_histogram; +use metrics::counter; +use metrics::histogram; use metrics::Counter; use metrics::Histogram; @@ -188,186 +187,186 @@ impl MetricsHandler { Self { service, - requests_total_metadata: register_counter!( + requests_total_metadata: counter!( METRIC_REQUESTS_TOTAL, LABEL_SERVICE => service, LABEL_OPERATION => Operation::Info.into_static(), ), - requests_duration_seconds_metadata: register_histogram!( + requests_duration_seconds_metadata: histogram!( METRIC_REQUESTS_DURATION_SECONDS, LABEL_SERVICE => service, LABEL_OPERATION => Operation::Info.into_static(), ), - requests_total_create: register_counter!( + requests_total_create: counter!( METRIC_REQUESTS_TOTAL, LABEL_SERVICE => service, LABEL_OPERATION => Operation::CreateDir.into_static(), ), - requests_duration_seconds_create: register_histogram!( + requests_duration_seconds_create: histogram!( METRIC_REQUESTS_DURATION_SECONDS, LABEL_SERVICE => service, LABEL_OPERATION => Operation::CreateDir.into_static(), ), - requests_total_read: register_counter!( + requests_total_read: counter!( METRIC_REQUESTS_TOTAL, LABEL_SERVICE => service, LABEL_OPERATION => Operation::Read.into_static(), ), - requests_duration_seconds_read: register_histogram!( + requests_duration_seconds_read: histogram!( METRIC_REQUESTS_DURATION_SECONDS, LABEL_SERVICE => service, LABEL_OPERATION => Operation::Read.into_static(), ), - bytes_total_read: register_counter!( + bytes_total_read: counter!( METRIC_BYTES_TOTAL, LABEL_SERVICE => service, LABEL_OPERATION => Operation::Read.into_static(), ), - requests_total_write: register_counter!( + requests_total_write: counter!( METRIC_REQUESTS_TOTAL, LABEL_SERVICE => service, LABEL_OPERATION => Operation::Write.into_static(), ), - requests_duration_seconds_write: register_histogram!( + requests_duration_seconds_write: histogram!( METRIC_REQUESTS_DURATION_SECONDS, LABEL_SERVICE => service, LABEL_OPERATION => Operation::Write.into_static(), ), - bytes_total_write: register_counter!( + bytes_total_write: counter!( METRIC_BYTES_TOTAL, LABEL_SERVICE => service, LABEL_OPERATION => Operation::Write.into_static(), ), - requests_total_stat: register_counter!( + requests_total_stat: counter!( METRIC_REQUESTS_TOTAL, LABEL_SERVICE => service, LABEL_OPERATION => Operation::Stat.into_static(), ), - requests_duration_seconds_stat: register_histogram!( + requests_duration_seconds_stat: histogram!( METRIC_REQUESTS_DURATION_SECONDS, LABEL_SERVICE => service, LABEL_OPERATION => Operation::Stat.into_static(), ), - requests_total_delete: register_counter!( + requests_total_delete: counter!( METRIC_REQUESTS_TOTAL, LABEL_SERVICE => service, LABEL_OPERATION => Operation::Delete.into_static(), ), - requests_duration_seconds_delete: register_histogram!( + requests_duration_seconds_delete: histogram!( METRIC_REQUESTS_DURATION_SECONDS, LABEL_SERVICE => service, LABEL_OPERATION => Operation::Delete.into_static(), ), - requests_total_list: register_counter!( + requests_total_list: counter!( METRIC_REQUESTS_TOTAL, LABEL_SERVICE => service, LABEL_OPERATION => Operation::List.into_static(), ), - requests_duration_seconds_list: register_histogram!( + requests_duration_seconds_list: histogram!( METRIC_REQUESTS_DURATION_SECONDS, LABEL_SERVICE => service, LABEL_OPERATION => Operation::List.into_static(), ), - requests_total_presign: register_counter!( + requests_total_presign: counter!( METRIC_REQUESTS_TOTAL, LABEL_SERVICE => service, LABEL_OPERATION => Operation::Presign.into_static(), ), - requests_duration_seconds_presign: register_histogram!( + requests_duration_seconds_presign: histogram!( METRIC_REQUESTS_DURATION_SECONDS, LABEL_SERVICE => service, LABEL_OPERATION => Operation::Presign.into_static(), ), - requests_total_batch: register_counter!( + requests_total_batch: counter!( METRIC_REQUESTS_TOTAL, LABEL_SERVICE => service, LABEL_OPERATION => Operation::Batch.into_static(), ), - requests_duration_seconds_batch: register_histogram!( + requests_duration_seconds_batch: histogram!( METRIC_REQUESTS_DURATION_SECONDS, LABEL_SERVICE => service, LABEL_OPERATION => Operation::Batch.into_static(), ), - requests_total_blocking_create: register_counter!( + requests_total_blocking_create: counter!( METRIC_REQUESTS_TOTAL, LABEL_SERVICE => service, LABEL_OPERATION => Operation::BlockingCreateDir.into_static(), ), - requests_duration_seconds_blocking_create: register_histogram!( + requests_duration_seconds_blocking_create: histogram!( METRIC_REQUESTS_DURATION_SECONDS, LABEL_SERVICE => service, LABEL_OPERATION => Operation::BlockingCreateDir.into_static(), ), - requests_total_blocking_read: register_counter!( + requests_total_blocking_read: counter!( METRIC_REQUESTS_TOTAL, LABEL_SERVICE => service, LABEL_OPERATION => Operation::BlockingRead.into_static(), ), - requests_duration_seconds_blocking_read: register_histogram!( + requests_duration_seconds_blocking_read: histogram!( METRIC_REQUESTS_DURATION_SECONDS, LABEL_SERVICE => service, LABEL_OPERATION => Operation::BlockingRead.into_static(), ), - bytes_total_blocking_read: register_counter!( + bytes_total_blocking_read: counter!( METRIC_BYTES_TOTAL, LABEL_SERVICE => service, LABEL_OPERATION => Operation::BlockingRead.into_static(), ), - requests_total_blocking_write: register_counter!( + requests_total_blocking_write: counter!( METRIC_REQUESTS_TOTAL, LABEL_SERVICE => service, LABEL_OPERATION => Operation::BlockingWrite.into_static(), ), - requests_duration_seconds_blocking_write: register_histogram!( + requests_duration_seconds_blocking_write: histogram!( METRIC_REQUESTS_DURATION_SECONDS, LABEL_SERVICE => service, LABEL_OPERATION => Operation::BlockingWrite.into_static(), ), - bytes_total_blocking_write: register_counter!( + bytes_total_blocking_write: counter!( METRIC_BYTES_TOTAL, LABEL_SERVICE => service, LABEL_OPERATION => Operation::BlockingWrite.into_static(), ), - requests_total_blocking_stat: register_counter!( + requests_total_blocking_stat: counter!( METRIC_REQUESTS_TOTAL, LABEL_SERVICE => service, LABEL_OPERATION => Operation::BlockingStat.into_static(), ), - requests_duration_seconds_blocking_stat: register_histogram!( + requests_duration_seconds_blocking_stat: histogram!( METRIC_REQUESTS_DURATION_SECONDS, LABEL_SERVICE => service, LABEL_OPERATION => Operation::BlockingStat.into_static(), ), - requests_total_blocking_delete: register_counter!( + requests_total_blocking_delete: counter!( METRIC_REQUESTS_TOTAL, LABEL_SERVICE => service, LABEL_OPERATION => Operation::BlockingDelete.into_static(), ), - requests_duration_seconds_blocking_delete: register_histogram!( + requests_duration_seconds_blocking_delete: histogram!( METRIC_REQUESTS_DURATION_SECONDS, LABEL_SERVICE => service, LABEL_OPERATION => Operation::BlockingDelete.into_static(), ), - requests_total_blocking_list: register_counter!( + requests_total_blocking_list: counter!( METRIC_REQUESTS_TOTAL, LABEL_SERVICE => service, LABEL_OPERATION => Operation::BlockingList.into_static(), ), - requests_duration_seconds_blocking_list: register_histogram!( + requests_duration_seconds_blocking_list: histogram!( METRIC_REQUESTS_DURATION_SECONDS, LABEL_SERVICE => service, LABEL_OPERATION => Operation::BlockingList.into_static(), @@ -379,11 +378,12 @@ impl MetricsHandler { /// in advance. #[inline] fn increment_errors_total(&self, op: Operation, kind: ErrorKind) { - increment_counter!(METRICS_ERRORS_TOTAL, + counter!(METRICS_ERRORS_TOTAL, LABEL_SERVICE => self.service, LABEL_OPERATION => op.into_static(), LABEL_ERROR => kind.into_static(), ) + .increment(1) } }