You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by pe...@apache.org on 2021/06/11 00:23:14 UTC

[pulsar] 07/08: Provide a flag to disable managed ledger metrics (#10885)

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

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

commit 8252f9db7f2f0382e19e4e715352ccb48a5c638a
Author: Sijie Guo <si...@apache.org>
AuthorDate: Thu Jun 10 21:58:35 2021 +0800

    Provide a flag to disable managed ledger metrics (#10885)
    
    
    (cherry picked from commit 3de089c3b54b7c35c5f18bcf5437c73a20ff4594)
---
 conf/broker.conf                                                  | 4 ++++
 .../main/java/org/apache/pulsar/broker/ServiceConfiguration.java  | 5 +++++
 .../broker/stats/prometheus/PrometheusMetricsGenerator.java       | 8 +++++---
 3 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/conf/broker.conf b/conf/broker.conf
index dc9d732..e8c7877 100644
--- a/conf/broker.conf
+++ b/conf/broker.conf
@@ -1137,8 +1137,12 @@ exposeConsumerLevelMetricsInPrometheus=false
 # Enable producer level metrics. default is false
 exposeProducerLevelMetricsInPrometheus=false
 
+# Enable managed ledger metrics (aggregated by namespace). default is false
+exposeManagedLedgerMetricsInPrometheus=true
+
 # Enable cursor level metrics. default is false
 exposeManagedCursorMetricsInPrometheus=false
+
 # Classname of Pluggable JVM GC metrics logger that can log GC specific metrics
 # jvmGCMetricsLoggerClassName=
 
diff --git a/pulsar-broker-common/src/main/java/org/apache/pulsar/broker/ServiceConfiguration.java b/pulsar-broker-common/src/main/java/org/apache/pulsar/broker/ServiceConfiguration.java
index 2299e42..8bd05c2 100644
--- a/pulsar-broker-common/src/main/java/org/apache/pulsar/broker/ServiceConfiguration.java
+++ b/pulsar-broker-common/src/main/java/org/apache/pulsar/broker/ServiceConfiguration.java
@@ -1945,6 +1945,11 @@ public class ServiceConfiguration implements PulsarConfiguration {
     private boolean exposeProducerLevelMetricsInPrometheus = false;
     @FieldContext(
             category = CATEGORY_METRICS,
+            doc = "If true, export managed ledger metrics (aggregated by namespace)"
+    )
+    private boolean exposeManagedLedgerMetricsInPrometheus = true;
+    @FieldContext(
+            category = CATEGORY_METRICS,
             doc = "If true, export managed cursor metrics"
     )
     private boolean exposeManagedCursorMetricsInPrometheus = false;
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/PrometheusMetricsGenerator.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/PrometheusMetricsGenerator.java
index 08af52c..8f303a3 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/PrometheusMetricsGenerator.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/PrometheusMetricsGenerator.java
@@ -131,14 +131,16 @@ public class PrometheusMetricsGenerator {
         parseMetricsToPrometheusMetrics(new ManagedLedgerCacheMetrics(pulsar).generate(),
                 clusterName, Collector.Type.GAUGE, stream);
 
-        // generate managedLedger metrics
-        parseMetricsToPrometheusMetrics(new ManagedLedgerMetrics(pulsar).generate(),
+        if (pulsar.getConfiguration().isExposeManagedLedgerMetricsInPrometheus()) {
+            // generate managedLedger metrics
+            parseMetricsToPrometheusMetrics(new ManagedLedgerMetrics(pulsar).generate(),
                 clusterName, Collector.Type.GAUGE, stream);
+        }
 
         if (pulsar.getConfiguration().isExposeManagedCursorMetricsInPrometheus()) {
             // generate managedCursor metrics
             parseMetricsToPrometheusMetrics(new ManagedCursorMetrics(pulsar).generate(),
-                    clusterName, Collector.Type.GAUGE, stream);
+                clusterName, Collector.Type.GAUGE, stream);
         }
 
         parseMetricsToPrometheusMetrics(Collections.singletonList(pulsar.getBrokerService()