You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by ar...@apache.org on 2016/01/16 01:10:43 UTC

[17/43] hadoop git commit: HADOOP-12683. Add number of samples in last interval in snapshot of MutableStat. (Vikram Srivastava via kasha)

HADOOP-12683. Add number of samples in last interval in snapshot of MutableStat. (Vikram Srivastava via kasha)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/fb64e605
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/fb64e605
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/fb64e605

Branch: refs/heads/HDFS-1312
Commit: fb64e6051a65b43e1db051915af84711a8120ea1
Parents: 9b33a03
Author: Karthik Kambatla <ka...@cloudera.com>
Authored: Wed Jan 13 15:43:47 2016 -0800
Committer: Karthik Kambatla <ka...@cloudera.com>
Committed: Wed Jan 13 15:43:47 2016 -0800

----------------------------------------------------------------------
 hadoop-common-project/hadoop-common/CHANGES.txt       |  3 +++
 .../org/apache/hadoop/metrics2/lib/MutableStat.java   |  6 +++++-
 .../hadoop/metrics2/lib/TestMutableMetrics.java       | 14 ++++++++++++++
 3 files changed, 22 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hadoop/blob/fb64e605/hadoop-common-project/hadoop-common/CHANGES.txt
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt
index 0114ce5..a358cf3 100644
--- a/hadoop-common-project/hadoop-common/CHANGES.txt
+++ b/hadoop-common-project/hadoop-common/CHANGES.txt
@@ -663,6 +663,9 @@ Release 2.9.0 - UNRELEASED
     when using kerberos and attempting to bind to any port on the local IP
     address (cmccabe)
 
+    HADOOP-12683. Add number of samples in last interval in snapshot of 
+    MutableStat. (Vikram Srivastava via kasha)
+
   BUG FIXES
 
     HADOOP-12655. TestHttpServer.testBindAddress bind port range is wider

http://git-wip-us.apache.org/repos/asf/hadoop/blob/fb64e605/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/lib/MutableStat.java
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/lib/MutableStat.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/lib/MutableStat.java
index 116b835..ae68874 100644
--- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/lib/MutableStat.java
+++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/lib/MutableStat.java
@@ -41,6 +41,7 @@ public class MutableStat extends MutableMetric {
   private final MetricsInfo iMaxInfo;
   private final MetricsInfo minInfo;
   private final MetricsInfo maxInfo;
+  private final MetricsInfo iNumInfo;
 
   private final SampleStat intervalStat = new SampleStat();
   private final SampleStat prevStat = new SampleStat();
@@ -65,6 +66,8 @@ public class MutableStat extends MutableMetric {
     String lsName = StringUtils.uncapitalize(sampleName);
     String lvName = StringUtils.uncapitalize(valueName);
     numInfo = info(ucName +"Num"+ usName, "Number of "+ lsName +" for "+ desc);
+    iNumInfo = info(ucName +"INum"+ usName,
+                    "Interval number of "+ lsName +" for "+ desc);
     avgInfo = info(ucName +"Avg"+ uvName, "Average "+ lvName +" for "+ desc);
     stdevInfo = info(ucName +"Stdev"+ uvName,
                      "Standard deviation of "+ lvName +" for "+ desc);
@@ -128,7 +131,8 @@ public class MutableStat extends MutableMetric {
                .addGauge(iMinInfo, lastStat().min())
                .addGauge(iMaxInfo, lastStat().max())
                .addGauge(minInfo, minMax.min())
-               .addGauge(maxInfo, minMax.max());
+               .addGauge(maxInfo, minMax.max())
+               .addGauge(iNumInfo, lastStat().numSamples());
       }
       if (changed()) {
         if (numSamples > 0) {

http://git-wip-us.apache.org/repos/asf/hadoop/blob/fb64e605/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/metrics2/lib/TestMutableMetrics.java
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/metrics2/lib/TestMutableMetrics.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/metrics2/lib/TestMutableMetrics.java
index ed83000..e9f4e10 100644
--- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/metrics2/lib/TestMutableMetrics.java
+++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/metrics2/lib/TestMutableMetrics.java
@@ -86,6 +86,10 @@ public class TestMutableMetrics {
                            eq(0.0, EPSILON));
     verify(mb).addGauge(eq(info("S1MaxTime","Max time for stat")),
                            eq(0.0, EPSILON));
+    verify(mb).addGauge(
+        eq(info("S1INumOps", "Interval number of ops for stat")),
+        eq(1L));
+
     verify(mb, times(2))
         .addCounter(info("S2NumOps", "Number of ops for stat"), 1L);
     verify(mb, times(2)).addGauge(eq(info("S2AvgTime",
@@ -94,6 +98,16 @@ public class TestMutableMetrics {
     verify(mb).addCounter(info("S2NumOps", "Number of ops for stat"), 2L);
     verify(mb).addGauge(eq(info("S2AvgTime", "Average time for stat")),
                            eq(1.0, EPSILON));
+
+    // Add one more sample to s1 and verify that total number of ops
+    // has increased to 2, but interval number is 1 for both intervals.
+    MutableStat s1 = (MutableStat) registry.get("s1");
+    s1.add(0);
+    registry.snapshot(mb, true);
+    verify(mb).addCounter(info("S1NumOps", "Number of ops for stat"), 2L);
+    verify(mb, times(2)).addGauge(
+        eq(info("S1INumOps", "Interval number of ops for stat")),
+        eq(1L));
   }
 
   interface TestProtocol {