This is an automated email from the ASF dual-hosted git repository.

koushiro pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/opendal.git


The following commit(s) were added to refs/heads/main by this push:
     new ce8f158a0 chore(layer/fastmetrics): upgrade fastmetrics to v0.5.1 
(#7104)
ce8f158a0 is described below

commit ce8f158a0b2558226b565e69c0d094d51ebd7ffa
Author: Qinxuan Chen <[email protected]>
AuthorDate: Sat Dec 27 12:24:24 2025 +0800

    chore(layer/fastmetrics): upgrade fastmetrics to v0.5.1 (#7104)
---
 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 {

Reply via email to