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);