You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wu...@apache.org on 2023/02/06 14:50:25 UTC

[skywalking] branch master updated: Change scapedMetricsNameCache method to support `/` (#10349)

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

wusheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking.git


The following commit(s) were added to refs/heads/master by this push:
     new 967886090a  Change scapedMetricsNameCache method to support `/` (#10349)
967886090a is described below

commit 967886090a9ac8992bac5aac56e2300c7f77225d
Author: yswdqz <74...@users.noreply.github.com>
AuthorDate: Mon Feb 6 22:50:08 2023 +0800

     Change scapedMetricsNameCache method to support `/` (#10349)
---
 docs/en/changes/changes.md                                            | 1 +
 .../oap/meter/analyzer/prometheus/PrometheusMetricConverter.java      | 4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/docs/en/changes/changes.md b/docs/en/changes/changes.md
index 50d6da3c0c..d138685d9b 100644
--- a/docs/en/changes/changes.md
+++ b/docs/en/changes/changes.md
@@ -88,6 +88,7 @@
 * Remove handler scan in otel receiver, manual initialization instead
 * Add aws-firehose-receiver to support collecting AWS CloudWatch metric(OpenTelemetry format)
 * Avoid Antlr dependencies' versions might be different in compile time and runtime.
+* Now `PrometheusMetricConverter#escapedName` also support converting `/` to `_`.
 
 #### UI
 
diff --git a/oap-server/analyzer/meter-analyzer/src/main/java/org/apache/skywalking/oap/meter/analyzer/prometheus/PrometheusMetricConverter.java b/oap-server/analyzer/meter-analyzer/src/main/java/org/apache/skywalking/oap/meter/analyzer/prometheus/PrometheusMetricConverter.java
index c2d4bb140b..53443718fd 100644
--- a/oap-server/analyzer/meter-analyzer/src/main/java/org/apache/skywalking/oap/meter/analyzer/prometheus/PrometheusMetricConverter.java
+++ b/oap-server/analyzer/meter-analyzer/src/main/java/org/apache/skywalking/oap/meter/analyzer/prometheus/PrometheusMetricConverter.java
@@ -71,7 +71,7 @@ public class PrometheusMetricConverter {
 
     public PrometheusMetricConverter(Rule rule, MeterSystem service) {
         this.convert = new MetricConvert(rule, service);
-        this.metricsNameEscapePattern = Pattern.compile("\\.");
+        this.metricsNameEscapePattern = Pattern.compile("[/.]");
     }
 
     /**
@@ -160,7 +160,7 @@ public class PrometheusMetricConverter {
         return Optional.of(Tuple.of(escapedName(metric.getName()), SampleFamilyBuilder.newBuilder(ss).build()));
     }
 
-    // Returns the escaped name of the given one, with "." replaced by "_"
+    // Returns the escaped name of the given one, with "." and "/" replaced by "_"
     protected String escapedName(final String name) {
         try {
             return escapedMetricsNameCache.get(name);