HADOOP-12683. Add number of samples in last interval in snapshot of MutableStat. (Vikram Srivastava via kasha)
This commit is contained in:
parent
9b33a03900
commit
fb64e6051a
|
@ -663,6 +663,9 @@ Release 2.9.0 - UNRELEASED
|
||||||
when using kerberos and attempting to bind to any port on the local IP
|
when using kerberos and attempting to bind to any port on the local IP
|
||||||
address (cmccabe)
|
address (cmccabe)
|
||||||
|
|
||||||
|
HADOOP-12683. Add number of samples in last interval in snapshot of
|
||||||
|
MutableStat. (Vikram Srivastava via kasha)
|
||||||
|
|
||||||
BUG FIXES
|
BUG FIXES
|
||||||
|
|
||||||
HADOOP-12655. TestHttpServer.testBindAddress bind port range is wider
|
HADOOP-12655. TestHttpServer.testBindAddress bind port range is wider
|
||||||
|
|
|
@ -41,6 +41,7 @@ public class MutableStat extends MutableMetric {
|
||||||
private final MetricsInfo iMaxInfo;
|
private final MetricsInfo iMaxInfo;
|
||||||
private final MetricsInfo minInfo;
|
private final MetricsInfo minInfo;
|
||||||
private final MetricsInfo maxInfo;
|
private final MetricsInfo maxInfo;
|
||||||
|
private final MetricsInfo iNumInfo;
|
||||||
|
|
||||||
private final SampleStat intervalStat = new SampleStat();
|
private final SampleStat intervalStat = new SampleStat();
|
||||||
private final SampleStat prevStat = new SampleStat();
|
private final SampleStat prevStat = new SampleStat();
|
||||||
|
@ -65,6 +66,8 @@ public class MutableStat extends MutableMetric {
|
||||||
String lsName = StringUtils.uncapitalize(sampleName);
|
String lsName = StringUtils.uncapitalize(sampleName);
|
||||||
String lvName = StringUtils.uncapitalize(valueName);
|
String lvName = StringUtils.uncapitalize(valueName);
|
||||||
numInfo = info(ucName +"Num"+ usName, "Number of "+ lsName +" for "+ desc);
|
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);
|
avgInfo = info(ucName +"Avg"+ uvName, "Average "+ lvName +" for "+ desc);
|
||||||
stdevInfo = info(ucName +"Stdev"+ uvName,
|
stdevInfo = info(ucName +"Stdev"+ uvName,
|
||||||
"Standard deviation of "+ lvName +" for "+ desc);
|
"Standard deviation of "+ lvName +" for "+ desc);
|
||||||
|
@ -128,7 +131,8 @@ public class MutableStat extends MutableMetric {
|
||||||
.addGauge(iMinInfo, lastStat().min())
|
.addGauge(iMinInfo, lastStat().min())
|
||||||
.addGauge(iMaxInfo, lastStat().max())
|
.addGauge(iMaxInfo, lastStat().max())
|
||||||
.addGauge(minInfo, minMax.min())
|
.addGauge(minInfo, minMax.min())
|
||||||
.addGauge(maxInfo, minMax.max());
|
.addGauge(maxInfo, minMax.max())
|
||||||
|
.addGauge(iNumInfo, lastStat().numSamples());
|
||||||
}
|
}
|
||||||
if (changed()) {
|
if (changed()) {
|
||||||
if (numSamples > 0) {
|
if (numSamples > 0) {
|
||||||
|
|
|
@ -86,6 +86,10 @@ public class TestMutableMetrics {
|
||||||
eq(0.0, EPSILON));
|
eq(0.0, EPSILON));
|
||||||
verify(mb).addGauge(eq(info("S1MaxTime","Max time for stat")),
|
verify(mb).addGauge(eq(info("S1MaxTime","Max time for stat")),
|
||||||
eq(0.0, EPSILON));
|
eq(0.0, EPSILON));
|
||||||
|
verify(mb).addGauge(
|
||||||
|
eq(info("S1INumOps", "Interval number of ops for stat")),
|
||||||
|
eq(1L));
|
||||||
|
|
||||||
verify(mb, times(2))
|
verify(mb, times(2))
|
||||||
.addCounter(info("S2NumOps", "Number of ops for stat"), 1L);
|
.addCounter(info("S2NumOps", "Number of ops for stat"), 1L);
|
||||||
verify(mb, times(2)).addGauge(eq(info("S2AvgTime",
|
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).addCounter(info("S2NumOps", "Number of ops for stat"), 2L);
|
||||||
verify(mb).addGauge(eq(info("S2AvgTime", "Average time for stat")),
|
verify(mb).addGauge(eq(info("S2AvgTime", "Average time for stat")),
|
||||||
eq(1.0, EPSILON));
|
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 {
|
interface TestProtocol {
|
||||||
|
|
Loading…
Reference in New Issue