You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@storm.apache.org by et...@apache.org on 2020/09/08 14:00:00 UTC

[storm] branch master updated: STORM-3695 add timer rates to V2 metrics tick (#3330)

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

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


The following commit(s) were added to refs/heads/master by this push:
     new e83fafc  STORM-3695 add timer rates to V2 metrics tick (#3330)
e83fafc is described below

commit e83fafcb884f4c630dbbe4a8656a4f93a41abe5b
Author: agresch <ag...@gmail.com>
AuthorDate: Tue Sep 8 08:59:43 2020 -0500

    STORM-3695 add timer rates to V2 metrics tick (#3330)
---
 .../src/jvm/org/apache/storm/executor/Executor.java  | 20 ++++++++++++--------
 1 file changed, 12 insertions(+), 8 deletions(-)

diff --git a/storm-client/src/jvm/org/apache/storm/executor/Executor.java b/storm-client/src/jvm/org/apache/storm/executor/Executor.java
index d36b38d..ef4d057 100644
--- a/storm-client/src/jvm/org/apache/storm/executor/Executor.java
+++ b/storm-client/src/jvm/org/apache/storm/executor/Executor.java
@@ -16,6 +16,7 @@ import com.codahale.metrics.Counter;
 import com.codahale.metrics.Gauge;
 import com.codahale.metrics.Histogram;
 import com.codahale.metrics.Meter;
+import com.codahale.metrics.Metered;
 import com.codahale.metrics.Snapshot;
 import com.codahale.metrics.Timer;
 import java.io.IOException;
@@ -396,12 +397,7 @@ public abstract class Executor implements Callable, JCQueue.Consumer {
     private void processMeters(int taskId, List<IMetricsConsumer.DataPoint> dataPoints) {
         Map<String, Meter> meters = workerData.getMetricRegistry().getTaskMeters(taskId);
         for (Map.Entry<String, Meter> entry : meters.entrySet()) {
-            IMetricsConsumer.DataPoint dataPoint = new IMetricsConsumer.DataPoint(entry.getKey() + ".count", entry.getValue().getCount());
-            dataPoints.add(dataPoint);
-            addConvertedMetric(entry.getKey(), ".m1_rate", entry.getValue().getOneMinuteRate(), dataPoints);
-            addConvertedMetric(entry.getKey(), ".m5_rate", entry.getValue().getFiveMinuteRate(), dataPoints);
-            addConvertedMetric(entry.getKey(), ".m15_rate", entry.getValue().getFifteenMinuteRate(), dataPoints);
-            addConvertedMetric(entry.getKey(), ".mean_rate", entry.getValue().getMeanRate(), dataPoints);
+            addMeteredDatapoints(entry.getKey(), entry.getValue(), dataPoints);
         }
     }
 
@@ -410,11 +406,19 @@ public abstract class Executor implements Callable, JCQueue.Consumer {
         for (Map.Entry<String, Timer> entry : timers.entrySet()) {
             Snapshot snapshot =  entry.getValue().getSnapshot();
             addSnapshotDatapoints(entry.getKey(), snapshot, dataPoints);
-            IMetricsConsumer.DataPoint dataPoint = new IMetricsConsumer.DataPoint(entry.getKey() + ".count", entry.getValue().getCount());
-            dataPoints.add(dataPoint);
+            addMeteredDatapoints(entry.getKey(), entry.getValue(), dataPoints);
         }
     }
 
+    private void addMeteredDatapoints(String baseName, Metered metered, List<IMetricsConsumer.DataPoint> dataPoints) {
+        IMetricsConsumer.DataPoint dataPoint = new IMetricsConsumer.DataPoint(baseName + ".count", metered.getCount());
+        dataPoints.add(dataPoint);
+        addConvertedMetric(baseName, ".m1_rate", metered.getOneMinuteRate(), dataPoints);
+        addConvertedMetric(baseName, ".m5_rate", metered.getFiveMinuteRate(), dataPoints);
+        addConvertedMetric(baseName, ".m15_rate", metered.getFifteenMinuteRate(), dataPoints);
+        addConvertedMetric(baseName, ".mean_rate", metered.getMeanRate(), dataPoints);
+    }
+
     private void addSnapshotDatapoints(String baseName, Snapshot snapshot, List<IMetricsConsumer.DataPoint> dataPoints) {
         addConvertedMetric(baseName, ".max", snapshot.getMax(), dataPoints);
         addConvertedMetric(baseName, ".mean", snapshot.getMean(), dataPoints);