From d0f752fc5d2e25b647f0c12965bb52437a69b602 Mon Sep 17 00:00:00 2001 From: Roman Krasiuk Date: Wed, 25 Jan 2023 10:44:09 +0200 Subject: [PATCH] chore(metrics): allow dot in the scope value (#1019) --- crates/metrics/metrics-derive/src/expand.rs | 2 +- .../metrics/metrics-derive/tests/compile-fail/metrics_attr.rs | 2 +- .../metrics-derive/tests/compile-fail/metrics_attr.stderr | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/crates/metrics/metrics-derive/src/expand.rs b/crates/metrics/metrics-derive/src/expand.rs index 59625d242..0b67eb783 100644 --- a/crates/metrics/metrics-derive/src/expand.rs +++ b/crates/metrics/metrics-derive/src/expand.rs @@ -11,7 +11,7 @@ use crate::{metric::Metric, with_attrs::WithAttrs}; /// Metric name regex according to Prometheus data model /// https://prometheus.io/docs/concepts/data_model/#metric-names-and-labels static METRIC_NAME_RE: Lazy = - Lazy::new(|| Regex::new(r"^[a-zA-Z_:][a-zA-Z0-9_:]*$").unwrap()); + Lazy::new(|| Regex::new(r"^[a-zA-Z_:.][a-zA-Z0-9_:.]*$").unwrap()); /// Supported metrics separators const SUPPORTED_SEPARATORS: &[&str] = &[".", "_", ":"]; diff --git a/crates/metrics/metrics-derive/tests/compile-fail/metrics_attr.rs b/crates/metrics/metrics-derive/tests/compile-fail/metrics_attr.rs index d8edce5f4..6c8d3f129 100644 --- a/crates/metrics/metrics-derive/tests/compile-fail/metrics_attr.rs +++ b/crates/metrics/metrics-derive/tests/compile-fail/metrics_attr.rs @@ -24,7 +24,7 @@ struct CustomMetrics4; struct CustomMetrics5; #[derive(Metrics)] -#[metrics(scope = "some.scope")] +#[metrics(scope = "some-scope")] struct CustomMetrics6; #[derive(Metrics)] diff --git a/crates/metrics/metrics-derive/tests/compile-fail/metrics_attr.stderr b/crates/metrics/metrics-derive/tests/compile-fail/metrics_attr.stderr index 18e4c6229..a8a3716c7 100644 --- a/crates/metrics/metrics-derive/tests/compile-fail/metrics_attr.stderr +++ b/crates/metrics/metrics-derive/tests/compile-fail/metrics_attr.stderr @@ -29,10 +29,10 @@ error: Value **must** be a string literal. 23 | #[metrics(scope = 123)] | ^^^ -error: Value must match regex ^[a-zA-Z_:][a-zA-Z0-9_:]*$ +error: Value must match regex ^[a-zA-Z_:.][a-zA-Z0-9_:.]*$ --> tests/compile-fail/metrics_attr.rs:27:19 | -27 | #[metrics(scope = "some.scope")] +27 | #[metrics(scope = "some-scope")] | ^^^^^^^^^^^^ error: Duplicate `scope` value provided.