Repository: accumulo
Updated Branches:
  refs/heads/metrics2-backwardscompat a056b1ca0 -> f3f8dc467


Use MutableCounter and (extended) MutableStats for update metric elements


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

Branch: refs/heads/metrics2-backwardscompat
Commit: f3f8dc467e6d6cdf82c6bbfe4a2269191dcca351
Parents: a056b1c
Author: Josh Elser <[email protected]>
Authored: Thu Dec 4 13:01:50 2014 -0500
Committer: Josh Elser <[email protected]>
Committed: Thu Dec 4 13:02:14 2014 -0500

----------------------------------------------------------------------
 .../Metrics2TabletServerUpdateMetrics.java      | 34 ++++++++++++++++++--
 1 file changed, 32 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/f3f8dc46/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerUpdateMetrics.java
----------------------------------------------------------------------
diff --git 
a/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerUpdateMetrics.java
 
b/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerUpdateMetrics.java
index a8e0ad4..f883b60 100644
--- 
a/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerUpdateMetrics.java
+++ 
b/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerUpdateMetrics.java
@@ -23,6 +23,8 @@ import org.apache.hadoop.metrics2.MetricsSource;
 import org.apache.hadoop.metrics2.MetricsSystem;
 import org.apache.hadoop.metrics2.lib.Interns;
 import org.apache.hadoop.metrics2.lib.MetricsRegistry;
+import org.apache.hadoop.metrics2.lib.MutableCounterLong;
+import org.apache.hadoop.metrics2.lib.MutableStat;
 
 /**
  *
@@ -32,14 +34,42 @@ public class Metrics2TabletServerUpdateMetrics implements 
Metrics, MetricsSource
   private final MetricsSystem system;
   private final MetricsRegistry registry;
 
+  private final MutableCounterLong permissionErrors, unknownTabletErrors, 
constraintViolations;
+  private final MutableStat commitPrep, walogWriteTime, commitTime, 
mutationArraySize;
+
   public Metrics2TabletServerUpdateMetrics(MetricsSystem system) {
     this.system = system;
     this.registry = new MetricsRegistry(Interns.info("UpdateMetrics", 
"TabletServer Update Metrics"));
+
+    permissionErrors = 
registry.newCounter(Interns.info(TabletServerUpdateMetricsMBean.permissionErrors,
 "Permission Errors"), 0l);
+    unknownTabletErrors = 
registry.newCounter(Interns.info(TabletServerUpdateMetricsMBean.unknownTabletErrors,
 "Unknown Tablet Errors"), 0l);
+    constraintViolations = 
registry.newCounter(Interns.info(TabletServerUpdateMetricsMBean.constraintViolations,
 "Table Constraint Violations"), 0l);
+
+    commitPrep = registry.newStat(TabletServerUpdateMetricsMBean.commitPrep, 
"preparing to commit mutations", "Ops", "Time", true);
+    walogWriteTime = 
registry.newStat(TabletServerUpdateMetricsMBean.waLogWriteTime, "writing 
mutations to WAL", "Ops", "Time", true);
+    commitTime = registry.newStat(TabletServerUpdateMetricsMBean.commitTime, 
"committing mutations", "Ops", "Time", true);
+    mutationArraySize = 
registry.newStat(TabletServerUpdateMetricsMBean.mutationArraySize, "mutation 
array", "ops", "Size", true);
   }
 
   @Override
-  public void add(String name, long time) {
-    registry.add(name, time);
+  public void add(String name, long value) {
+    if (TabletServerUpdateMetricsMBean.permissionErrors.equals(name)) {
+      permissionErrors.incr(value);
+    } else if 
(TabletServerUpdateMetricsMBean.unknownTabletErrors.equals(name)) {
+      unknownTabletErrors.incr(value);
+    } else if (TabletServerUpdateMetricsMBean.mutationArraySize.equals(name)) {
+      mutationArraySize.add(value);
+    } else if (TabletServerUpdateMetricsMBean.commitPrep.equals(name)) {
+      commitPrep.add(value);
+    } else if 
(TabletServerUpdateMetricsMBean.constraintViolations.equals(name)) {
+      constraintViolations.incr(value);
+    } else if (TabletServerUpdateMetricsMBean.waLogWriteTime.equals(name)) {
+      walogWriteTime.add(value);
+    } else if (TabletServerUpdateMetricsMBean.commitTime.equals(name)) {
+      commitTime.add(value);
+    } else {
+      throw new RuntimeException("Cannot process metric with name " + name);
+    }
   }
 
   @Override

Reply via email to