You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by xi...@apache.org on 2022/12/05 05:48:31 UTC

[pulsar] branch branch-2.10 updated: Revert "[fix][metrics]wrong metrics text generated when label_cluster specified (#17704)"

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

xiangying pushed a commit to branch branch-2.10
in repository https://gitbox.apache.org/repos/asf/pulsar.git


The following commit(s) were added to refs/heads/branch-2.10 by this push:
     new 60b6b31054e Revert "[fix][metrics]wrong metrics text generated when label_cluster specified (#17704)"
60b6b31054e is described below

commit 60b6b31054e919df65cd524f009c2621ed298ecf
Author: xiangying <19...@qq.com>
AuthorDate: Mon Dec 5 13:47:51 2022 +0800

    Revert "[fix][metrics]wrong metrics text generated when label_cluster specified (#17704)"
    
    This reverts commit 03d8a37e98200448844ad30dc3a9a7143b8c36d7.
---
 .../PrometheusMetricsGeneratorUtils.java           |  13 +--
 .../PrometheusMetricsGeneratorUtilsTest.java       | 102 ---------------------
 .../broker/stats/prometheus/package-info.java      |  19 ----
 3 files changed, 3 insertions(+), 131 deletions(-)

diff --git a/pulsar-broker-common/src/main/java/org/apache/pulsar/broker/stats/prometheus/PrometheusMetricsGeneratorUtils.java b/pulsar-broker-common/src/main/java/org/apache/pulsar/broker/stats/prometheus/PrometheusMetricsGeneratorUtils.java
index b7ff11a6a86..ead3c332b2b 100644
--- a/pulsar-broker-common/src/main/java/org/apache/pulsar/broker/stats/prometheus/PrometheusMetricsGeneratorUtils.java
+++ b/pulsar-broker-common/src/main/java/org/apache/pulsar/broker/stats/prometheus/PrometheusMetricsGeneratorUtils.java
@@ -26,7 +26,6 @@ import java.io.IOException;
 import java.io.OutputStream;
 import java.util.Enumeration;
 import java.util.List;
-import org.apache.commons.collections4.CollectionUtils;
 import org.apache.pulsar.common.util.SimpleTextOutputStream;
 
 /**
@@ -66,22 +65,16 @@ public class PrometheusMetricsGeneratorUtils {
             for (int i = 0; i < metricFamily.samples.size(); i++) {
                 Collector.MetricFamilySamples.Sample sample = metricFamily.samples.get(i);
                 stream.write(sample.name);
-                stream.write("{");
                 if (!sample.labelNames.contains("cluster")) {
-                    stream.write("cluster=\"").write(cluster).write('"');
-                    // If label is empty, should not append ','.
-                    if (!CollectionUtils.isEmpty(sample.labelNames)){
-                        stream.write(",");
-                    }
+                    stream.write("{cluster=\"").write(cluster).write('"');
                 }
                 for (int j = 0; j < sample.labelNames.size(); j++) {
                     String labelValue = sample.labelValues.get(j);
                     if (labelValue != null) {
                         labelValue = labelValue.replace("\"", "\\\"");
                     }
-                    if (j > 0) {
-                        stream.write(",");
-                    }
+
+                    stream.write(",");
                     stream.write(sample.labelNames.get(j));
                     stream.write("=\"");
                     stream.write(labelValue);
diff --git a/pulsar-broker-common/src/test/java/org/apache/pulsar/broker/stats/prometheus/PrometheusMetricsGeneratorUtilsTest.java b/pulsar-broker-common/src/test/java/org/apache/pulsar/broker/stats/prometheus/PrometheusMetricsGeneratorUtilsTest.java
deleted file mode 100644
index 9bbfa5d7714..00000000000
--- a/pulsar-broker-common/src/test/java/org/apache/pulsar/broker/stats/prometheus/PrometheusMetricsGeneratorUtilsTest.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.pulsar.broker.stats.prometheus;
-
-import static org.testng.Assert.*;
-import io.prometheus.client.CollectorRegistry;
-import io.prometheus.client.Counter;
-import java.io.ByteArrayOutputStream;
-import java.util.Collections;
-import java.util.UUID;
-import org.testng.annotations.Test;
-
-@Test(groups = "broker")
-public class PrometheusMetricsGeneratorUtilsTest {
-
-    private static final String LABEL_NAME_CLUSTER = "cluster";
-
-    @Test
-    public void testGenerateSystemMetricsWithSpecifyCluster() throws Exception {
-        String defaultClusterValue = "cluster_test";
-        String specifyClusterValue = "lb_x";
-        String metricsName = "label_contains_cluster" + randomString();
-        Counter counter = new Counter.Builder()
-                .name(metricsName)
-                .labelNames(LABEL_NAME_CLUSTER)
-                .help("x")
-                .register(CollectorRegistry.defaultRegistry);
-        counter.labels(specifyClusterValue).inc();
-        ByteArrayOutputStream out = new ByteArrayOutputStream();
-        PrometheusMetricsGeneratorUtils.generate(defaultClusterValue, out,  Collections.emptyList());
-        assertTrue(out.toString().contains(
-                String.format("%s_total{cluster=\"%s\"} 1.0", metricsName, specifyClusterValue)
-        ));
-        // cleanup
-        out.close();
-        CollectorRegistry.defaultRegistry.unregister(counter);
-    }
-
-    @Test
-    public void testGenerateSystemMetricsWithDefaultCluster() throws Exception {
-        String defaultClusterValue = "cluster_test";
-        String labelName = "lb_name";
-        String labelValue = "lb_value";
-        // default cluster.
-        String metricsName = "label_use_default_cluster" + randomString();
-        Counter counter = new Counter.Builder()
-                .name(metricsName)
-                .labelNames(labelName)
-                .help("x")
-                .register(CollectorRegistry.defaultRegistry);
-        counter.labels(labelValue).inc();
-        ByteArrayOutputStream out = new ByteArrayOutputStream();
-        PrometheusMetricsGeneratorUtils.generate(defaultClusterValue, out,  Collections.emptyList());
-        assertTrue(out.toString().contains(
-                String.format("%s_total{cluster=\"%s\",%s=\"%s\"} 1.0",
-                        metricsName, defaultClusterValue, labelName, labelValue)
-        ));
-        // cleanup
-        out.close();
-        CollectorRegistry.defaultRegistry.unregister(counter);
-    }
-
-    @Test
-    public void testGenerateSystemMetricsWithoutCustomizedLabel() throws Exception {
-        String defaultClusterValue = "cluster_test";
-        // default cluster.
-        String metricsName = "label_without_customized_label" + randomString();
-        Counter counter = new Counter.Builder()
-                .name(metricsName)
-                .help("x")
-                .register(CollectorRegistry.defaultRegistry);
-        counter.inc();
-        ByteArrayOutputStream out = new ByteArrayOutputStream();
-        PrometheusMetricsGeneratorUtils.generate(defaultClusterValue, out,  Collections.emptyList());
-        assertTrue(out.toString().contains(
-                String.format("%s_total{cluster=\"%s\"} 1.0", metricsName, defaultClusterValue)
-        ));
-        // cleanup
-        out.close();
-        CollectorRegistry.defaultRegistry.unregister(counter);
-    }
-
-    private static String randomString(){
-        return UUID.randomUUID().toString().replaceAll("-", "");
-    }
-}
diff --git a/pulsar-broker-common/src/test/java/org/apache/pulsar/broker/stats/prometheus/package-info.java b/pulsar-broker-common/src/test/java/org/apache/pulsar/broker/stats/prometheus/package-info.java
deleted file mode 100644
index 3723fb4ff5c..00000000000
--- a/pulsar-broker-common/src/test/java/org/apache/pulsar/broker/stats/prometheus/package-info.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.pulsar.broker.stats.prometheus;