You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ratis.apache.org by ha...@apache.org on 2021/06/21 22:08:10 UTC

[ratis] branch master updated: RATIS-1381. Add default Reporter if there are no reporters when creating Metrics Registry (#481)

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 526b254  RATIS-1381. Add default Reporter if there are no reporters when creating Metrics Registry (#481)
526b254 is described below

commit 526b254cef8d383a80c0faa0fab3fd99708a06b8
Author: Hanisha Koneru <ha...@apache.org>
AuthorDate: Mon Jun 21 15:08:04 2021 -0700

    RATIS-1381. Add default Reporter if there are no reporters when creating Metrics Registry (#481)
---
 .../src/main/java/org/apache/ratis/metrics/RatisMetrics.java |  8 ++++++--
 .../org/apache/ratis/metrics/impl/MetricRegistriesImpl.java  | 12 +++++++++---
 2 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/ratis-metrics/src/main/java/org/apache/ratis/metrics/RatisMetrics.java b/ratis-metrics/src/main/java/org/apache/ratis/metrics/RatisMetrics.java
index 8c47fd2..00271f5 100644
--- a/ratis-metrics/src/main/java/org/apache/ratis/metrics/RatisMetrics.java
+++ b/ratis-metrics/src/main/java/org/apache/ratis/metrics/RatisMetrics.java
@@ -33,14 +33,18 @@ public class RatisMetrics {
   protected static RatisMetricRegistry create(MetricRegistryInfo info) {
     Optional<RatisMetricRegistry> metricRegistry = MetricRegistries.global().get(info);
     return metricRegistry.orElseGet(() -> {
-      LOG.info("Creating Metrics Registry : {}", info.getName());
+      if (LOG.isDebugEnabled()) {
+        LOG.debug("Creating Metrics Registry : {}", info.getName());
+      }
       return MetricRegistries.global().create(info);
     });
   }
 
   public void unregister() {
     MetricRegistryInfo info = registry.getMetricRegistryInfo();
-    LOG.info("Unregistering Metrics Registry : {}", info.getName());
+    if (LOG.isDebugEnabled()) {
+      LOG.debug("Unregistering Metrics Registry : {}", info.getName());
+    }
     Optional<RatisMetricRegistry> metricRegistry = MetricRegistries.global().get(info);
     if (metricRegistry.isPresent()) {
       MetricRegistries.global().remove(info);
diff --git a/ratis-metrics/src/main/java/org/apache/ratis/metrics/impl/MetricRegistriesImpl.java b/ratis-metrics/src/main/java/org/apache/ratis/metrics/impl/MetricRegistriesImpl.java
index be3922b..cbe8d7b 100644
--- a/ratis-metrics/src/main/java/org/apache/ratis/metrics/impl/MetricRegistriesImpl.java
+++ b/ratis-metrics/src/main/java/org/apache/ratis/metrics/impl/MetricRegistriesImpl.java
@@ -62,9 +62,11 @@ public class MetricRegistriesImpl extends MetricRegistries {
   public RatisMetricRegistry create(MetricRegistryInfo info) {
     return registries.put(info, () -> {
       if (reporterRegistrations.isEmpty()) {
-        LOG.warn(
-            "First MetricRegistry has been created without registering reporters. You may need to call" +
-                " MetricRegistries.global().addReporterRegistration(...) before.");
+        if (LOG.isDebugEnabled()) {
+          LOG.debug("First MetricRegistry has been created without registering reporters. " +
+              "Hence registering JMX reporter by default.");
+        }
+        enableJmxReporter();
       }
       RatisMetricRegistry registry = factory.create(info);
       reporterRegistrations.forEach(reg -> reg.accept(registry));
@@ -105,6 +107,10 @@ public class MetricRegistriesImpl extends MetricRegistries {
   @Override
   public void addReporterRegistration(Consumer<RatisMetricRegistry> reporterRegistration,
       Consumer<RatisMetricRegistry> stopReporter) {
+    if (registries.size() > 0) {
+      LOG.warn("New reporters are added after registries were created. Some metrics will be missing from the reporter. "
+          + "Please add reporter before adding any new registry.");
+    }
     this.reporterRegistrations.add(reporterRegistration);
     this.stopReporters.add(stopReporter);
   }