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