This is an automated email from the ASF dual-hosted git repository. koushiro pushed a commit to branch upgrade-fastmetrics-0.5.1 in repository https://gitbox.apache.org/repos/asf/opendal.git
commit 75649cd13a95a9632d444100c64dada8068d9186 Author: koushiro <[email protected]> AuthorDate: Thu Dec 25 21:48:55 2025 +0800 chore(layer/fastmetrics): upgrade fastmetrics to v0.5.1 --- core/Cargo.lock | 5 +++-- core/layers/fastmetrics/Cargo.toml | 2 +- core/layers/fastmetrics/src/lib.rs | 22 +++++++++++++++++----- 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/core/Cargo.lock b/core/Cargo.lock index a9e83990c..ff85dd83b 100644 --- a/core/Cargo.lock +++ b/core/Cargo.lock @@ -2915,10 +2915,11 @@ dependencies = [ [[package]] name = "fastmetrics" -version = "0.4.1" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ebd32571c39cd8e6a6c86d89d427ed5ed2547813b47d59ef7d5150ab1acbbef" +checksum = "ad39315667dec65a72aecda931b38b811004177db7b9f8be7271104babe03b59" dependencies = [ + "anyhow", "cfg-if", "dtoa", "foldhash 0.2.0", diff --git a/core/layers/fastmetrics/Cargo.toml b/core/layers/fastmetrics/Cargo.toml index fc9b43fc1..322a88e37 100644 --- a/core/layers/fastmetrics/Cargo.toml +++ b/core/layers/fastmetrics/Cargo.toml @@ -31,7 +31,7 @@ version = { workspace = true } all-features = true [dependencies] -fastmetrics = { version = "0.4.1" } +fastmetrics = "0.5.1" opendal-core = { path = "../../core", version = "0.55.0", default-features = false } opendal-layer-observe-metrics-common = { path = "../observe-metrics-common", version = "0.55.0", default-features = false } diff --git a/core/layers/fastmetrics/src/lib.rs b/core/layers/fastmetrics/src/lib.rs index bf39d055b..cb9a044f5 100644 --- a/core/layers/fastmetrics/src/lib.rs +++ b/core/layers/fastmetrics/src/lib.rs @@ -15,8 +15,6 @@ // specific language governing permissions and limitations // under the License. -use std::fmt; - use fastmetrics::encoder::EncodeLabelSet; use fastmetrics::encoder::LabelSetEncoder; use fastmetrics::metrics::counter::Counter; @@ -24,9 +22,9 @@ use fastmetrics::metrics::family::Family; use fastmetrics::metrics::family::MetricFactory; use fastmetrics::metrics::gauge::Gauge; use fastmetrics::metrics::histogram::Histogram; +use fastmetrics::raw::LabelSetSchema; use fastmetrics::registry::Register; use fastmetrics::registry::Registry; -use fastmetrics::registry::RegistryError; use fastmetrics::registry::with_global_registry_mut; use opendal_core::raw::*; use opendal_core::*; @@ -379,7 +377,7 @@ pub struct FastmetricsInterceptor { } impl Register for FastmetricsInterceptor { - fn register(&self, registry: &mut Registry) -> Result<(), RegistryError> { + fn register(&self, registry: &mut Registry) -> fastmetrics::error::Result<()> { macro_rules! register_metrics { ($($field:ident => $value:expr),* $(,)?) => { $( @@ -505,8 +503,22 @@ struct OperationLabels { disable_label_root: bool, } +impl LabelSetSchema for OperationLabels { + fn names() -> Option<&'static [&'static str]> { + static NAMES: &[&str] = &[ + observe::LABEL_SCHEME, + observe::LABEL_NAMESPACE, + observe::LABEL_ROOT, + observe::LABEL_OPERATION, + observe::LABEL_ERROR, + observe::LABEL_STATUS_CODE, + ]; + Some(NAMES) + } +} + impl EncodeLabelSet for OperationLabels { - fn encode(&self, encoder: &mut dyn LabelSetEncoder) -> fmt::Result { + fn encode(&self, encoder: &mut dyn LabelSetEncoder) -> fastmetrics::error::Result<()> { encoder.encode(&(observe::LABEL_SCHEME, self.labels.scheme))?; encoder.encode(&(observe::LABEL_NAMESPACE, self.labels.namespace.as_ref()))?; if !self.disable_label_root {
