You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ozone.apache.org by el...@apache.org on 2020/03/31 12:12:36 UTC

[hadoop-ozone] branch master updated: HDDS-3236. Fix Dropwizard metrics mapping for latest Ratis metrics

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

elek pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hadoop-ozone.git


The following commit(s) were added to refs/heads/master by this push:
     new 18577a9  HDDS-3236. Fix Dropwizard metrics mapping for latest Ratis metrics
18577a9 is described below

commit 18577a9435adc34a4e5f03795ea8b755d8ec0dba
Author: Elek Márton <el...@apache.org>
AuthorDate: Tue Mar 31 13:59:55 2020 +0200

    HDDS-3236. Fix Dropwizard metrics mapping for latest Ratis metrics
    
    Closes #707
---
 .../hdds/server/http/RatisNameRewriteSampleBuilder.java | 17 +++++++++++++----
 .../hadoop/hdds/server/http/TestRatisNameRewrite.java   | 10 ++++++++++
 2 files changed, 23 insertions(+), 4 deletions(-)

diff --git a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/RatisNameRewriteSampleBuilder.java b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/RatisNameRewriteSampleBuilder.java
index 7d02f21..cb8950c 100644
--- a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/RatisNameRewriteSampleBuilder.java
+++ b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/RatisNameRewriteSampleBuilder.java
@@ -27,12 +27,17 @@ import io.prometheus.client.Collector.MetricFamilySamples.Sample;
 import io.prometheus.client.dropwizard.samplebuilder.DefaultSampleBuilder;
 import org.apache.logging.log4j.util.Strings;
 import static org.apache.ratis.server.metrics.RatisMetrics.RATIS_APPLICATION_NAME_METRICS;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Collect Dropwizard metrics and rename ratis specific metrics.
  */
 public class RatisNameRewriteSampleBuilder extends DefaultSampleBuilder {
 
+  private static final Logger LOG =
+      LoggerFactory.getLogger(RatisNameRewriteSampleBuilder.class);
+
   private List<Pattern> followerPatterns = new ArrayList<>();
 
   public RatisNameRewriteSampleBuilder() {
@@ -41,8 +46,8 @@ public class RatisNameRewriteSampleBuilder extends DefaultSampleBuilder {
             "grpc_log_appender_follower_(.*)_(latency|success|inconsistency)"
                 + ".*"));
     followerPatterns
-        .add(Pattern.compile("follower_(.*)_lastHeartbeatElapsedTime"));
-    followerPatterns.add(Pattern.compile("(.*)_peerCommitIndex"));
+        .add(Pattern.compile("follower_([^_]*)_.*"));
+    followerPatterns.add(Pattern.compile("([^_]*)_peerCommitIndex"));
 
   }
 
@@ -51,12 +56,16 @@ public class RatisNameRewriteSampleBuilder extends DefaultSampleBuilder {
       List<String> additionalLabelNames, List<String> additionalLabelValues,
       double value) {
     //this is a ratis metrics, where the second part is an instance id.
-    if (dropwizardName.startsWith(RATIS_APPLICATION_NAME_METRICS)
-        || (dropwizardName.startsWith("ratis_grpc"))) {
+    if (dropwizardName.startsWith(RATIS_APPLICATION_NAME_METRICS)) {
       List<String> names = new ArrayList<>(additionalLabelNames);
       List<String> values = new ArrayList<>(additionalLabelValues);
       String name = normalizeRatisMetric(dropwizardName, names, values);
 
+      if (LOG.isTraceEnabled()) {
+        LOG.trace(
+            "Ratis dropwizard {} metrics are converted to {} with tag "
+                + "keys/values {},{}", dropwizardName, name, names, values);
+      }
       return super
           .createSample(name, nameSuffix,
               names,
diff --git a/hadoop-hdds/framework/src/test/java/org/apache/hadoop/hdds/server/http/TestRatisNameRewrite.java b/hadoop-hdds/framework/src/test/java/org/apache/hadoop/hdds/server/http/TestRatisNameRewrite.java
index 2f24dca..f0067fd 100644
--- a/hadoop-hdds/framework/src/test/java/org/apache/hadoop/hdds/server/http/TestRatisNameRewrite.java
+++ b/hadoop-hdds/framework/src/test/java/org/apache/hadoop/hdds/server/http/TestRatisNameRewrite.java
@@ -45,6 +45,16 @@ public class TestRatisNameRewrite {
   public static List<Object[]> parameters() {
     return Arrays.asList(
         new Object[] {
+            "ratis.log_appender"
+                + ".851cb00a-af97-455a-b079-d94a77d2a936@group-C14654DE8C2C"
+                + ".follower_65f881ea-8794-403d-be77-a030ed79c341_match_index",
+            "ratis.log_appender.follower_match_index",
+            new String[] {"instance", "group", "follower"},
+            new String[] {"851cb00a-af97-455a-b079-d94a77d2a936",
+                "group-C14654DE8C2C",
+                "65f881ea-8794-403d-be77-a030ed79c341"}
+        },
+        new Object[] {
             "ratis_grpc.log_appender.72caaf3a-fb1c-4da4-9cc0-a2ce21bb8e67@group"
                 + "-72caaf3a-fb1c-4da4-9cc0-a2ce21bb8e67"
                 + ".grpc_log_appender_follower_75fa730a-59f0-4547"


---------------------------------------------------------------------
To unsubscribe, e-mail: ozone-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: ozone-commits-help@hadoop.apache.org