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 {