You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by el...@apache.org on 2014/12/05 23:56:47 UTC

[1/4] accumulo git commit: Lift constants into parent interfaces that can be shared across old metrics and metrics2.

Repository: accumulo
Updated Branches:
  refs/heads/metrics2-backwardscompat 43df5e7fc -> 73f8e8973


Lift constants into parent interfaces that can be shared across old metrics and metrics2.

Updated the context and record names so that they collapse better in secondary metrics systems


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

Branch: refs/heads/metrics2-backwardscompat
Commit: 20655d71dc79be84437446c407181e094c589c04
Parents: 43df5e7
Author: Josh Elser <el...@apache.org>
Authored: Fri Dec 5 12:32:30 2014 -0500
Committer: Josh Elser <el...@apache.org>
Committed: Fri Dec 5 12:32:30 2014 -0500

----------------------------------------------------------------------
 .../apache/accumulo/server/metrics/Metrics.java |   2 +
 .../server/metrics/Metrics2ThriftMetrics.java   |   5 +-
 .../server/metrics/ThriftMetricsKeys.java       |  27 ++++
 .../metrics/Metrics2ReplicationMetrics.java     |   7 +-
 .../metrics/Metrics2TabletServerMetrics.java    |   4 +-
 .../Metrics2TabletServerMinCMetrics.java        |   4 +-
 .../Metrics2TabletServerScanMetrics.java        |   4 +-
 .../Metrics2TabletServerUpdateMetrics.java      |   4 +-
 .../metrics/TabletServerMetricsKeys.java        |  38 +++++
 .../metrics/TabletServerMetricsUtil.java        | 138 +++++++++++++++++++
 .../metrics/TabletServerMinCMetricsKeys.java    |  27 ++++
 .../metrics/TabletServerScanMetricsKeys.java    |  27 ++++
 .../metrics/TabletServerUpdateMetricsKeys.java  |  32 +++++
 13 files changed, 306 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/20655d71/server/base/src/main/java/org/apache/accumulo/server/metrics/Metrics.java
----------------------------------------------------------------------
diff --git a/server/base/src/main/java/org/apache/accumulo/server/metrics/Metrics.java b/server/base/src/main/java/org/apache/accumulo/server/metrics/Metrics.java
index ef0a1d5..77b30ca 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/metrics/Metrics.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/metrics/Metrics.java
@@ -22,6 +22,8 @@ package org.apache.accumulo.server.metrics;
 public interface Metrics {
 
   String PREFIX = "Accumulo";
+  String TSERVER_RECORD = "TabletServer";
+  String MASTER_RECORD = "Master";
 
   void register() throws Exception;
 

http://git-wip-us.apache.org/repos/asf/accumulo/blob/20655d71/server/base/src/main/java/org/apache/accumulo/server/metrics/Metrics2ThriftMetrics.java
----------------------------------------------------------------------
diff --git a/server/base/src/main/java/org/apache/accumulo/server/metrics/Metrics2ThriftMetrics.java b/server/base/src/main/java/org/apache/accumulo/server/metrics/Metrics2ThriftMetrics.java
index b7330e3..028d1ae 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/metrics/Metrics2ThriftMetrics.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/metrics/Metrics2ThriftMetrics.java
@@ -27,6 +27,7 @@ import org.apache.hadoop.metrics2.lib.MetricsRegistry;
  *
  */
 public class Metrics2ThriftMetrics implements Metrics, MetricsSource, ThriftMetricsKeys {
+  public static final String RECORD_NAME = "Thrift";
 
   private final MetricsSystem system;
   private final MetricsRegistry registry;
@@ -34,7 +35,7 @@ public class Metrics2ThriftMetrics implements Metrics, MetricsSource, ThriftMetr
 
   Metrics2ThriftMetrics(MetricsSystem system, String serverName, String threadName) {
     this.system = system;
-    this.context = "thrift." + serverName;
+    this.context = serverName;
     this.name = "ThriftMetrics" + serverName;
     this.desc = "Thrift Server Metrics - " + serverName + " " + threadName;
     this.registry = new MetricsRegistry(Interns.info(name, desc));
@@ -57,7 +58,7 @@ public class Metrics2ThriftMetrics implements Metrics, MetricsSource, ThriftMetr
 
   @Override
   public void getMetrics(MetricsCollector collector, boolean all) {
-    MetricsRecordBuilder builder = collector.addRecord("Accumulo").setContext(context);
+    MetricsRecordBuilder builder = collector.addRecord(RECORD_NAME).setContext(context);
 
     registry.snapshot(builder, all);
   }

http://git-wip-us.apache.org/repos/asf/accumulo/blob/20655d71/server/base/src/main/java/org/apache/accumulo/server/metrics/ThriftMetricsKeys.java
----------------------------------------------------------------------
diff --git a/server/base/src/main/java/org/apache/accumulo/server/metrics/ThriftMetricsKeys.java b/server/base/src/main/java/org/apache/accumulo/server/metrics/ThriftMetricsKeys.java
new file mode 100644
index 0000000..f527657
--- /dev/null
+++ b/server/base/src/main/java/org/apache/accumulo/server/metrics/ThriftMetricsKeys.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.accumulo.server.metrics;
+
+/**
+ *
+ */
+public interface ThriftMetricsKeys {
+
+  static String idle = "idle";
+  static String execute = "execute";
+
+}

http://git-wip-us.apache.org/repos/asf/accumulo/blob/20655d71/server/master/src/main/java/org/apache/accumulo/master/metrics/Metrics2ReplicationMetrics.java
----------------------------------------------------------------------
diff --git a/server/master/src/main/java/org/apache/accumulo/master/metrics/Metrics2ReplicationMetrics.java b/server/master/src/main/java/org/apache/accumulo/master/metrics/Metrics2ReplicationMetrics.java
index 9e12177..d9269a9 100644
--- a/server/master/src/main/java/org/apache/accumulo/master/metrics/Metrics2ReplicationMetrics.java
+++ b/server/master/src/main/java/org/apache/accumulo/master/metrics/Metrics2ReplicationMetrics.java
@@ -37,6 +37,7 @@ import org.apache.hadoop.metrics2.lib.MetricsRegistry;
  *
  */
 public class Metrics2ReplicationMetrics implements Metrics, MetricsSource {
+  public static final String NAME = "ReplicationMetrics", DESCRIPTION = "Data-Center Replication Metrics";
   public static final String PENDING_FILES = "filesPendingReplication", NUM_PEERS = "numPeers", MAX_REPLICATION_THREADS = "maxReplicationThreads";
 
   private final Master master;
@@ -48,7 +49,7 @@ public class Metrics2ReplicationMetrics implements Metrics, MetricsSource {
     this.master = master;
     this.system = system;
 
-    registry = new MetricsRegistry(Interns.info("ReplicationMetrics", "Data-Center Replication Metrics"));
+    registry = new MetricsRegistry(Interns.info(NAME, DESCRIPTION));
     replicationUtil = new ReplicationUtil(master);
   }
 
@@ -60,7 +61,7 @@ public class Metrics2ReplicationMetrics implements Metrics, MetricsSource {
 
   @Override
   public void getMetrics(MetricsCollector collector, boolean all) {
-    MetricsRecordBuilder builder = collector.addRecord("Accumulo").setContext("replication");
+    MetricsRecordBuilder builder = collector.addRecord(MASTER_RECORD).setContext("replication");
 
     snapshot();
 
@@ -69,7 +70,7 @@ public class Metrics2ReplicationMetrics implements Metrics, MetricsSource {
 
   @Override
   public void register() throws Exception {
-    system.register("ReplicationMetrics", "Data-Center Replication Metrics", this);
+    system.register(NAME, DESCRIPTION, this);
   }
 
   @Override

http://git-wip-us.apache.org/repos/asf/accumulo/blob/20655d71/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerMetrics.java
----------------------------------------------------------------------
diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerMetrics.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerMetrics.java
index 1ab2319..7aacf1f 100644
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerMetrics.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerMetrics.java
@@ -30,7 +30,7 @@ import org.apache.hadoop.metrics2.lib.MutableGaugeLong;
  *
  */
 public class Metrics2TabletServerMetrics implements Metrics, MetricsSource, TabletServerMetricsKeys {
-  public static final String NAME = "TabletServerMetrics", DESCRIPTION = "General TabletServer Metrics", CONTEXT = "tserver";
+  public static final String NAME = "GeneralMetrics", DESCRIPTION = "General TabletServer Metrics", CONTEXT = "general";
 
   private final TabletServerMetricsUtil util;
   private final MetricsSystem system;
@@ -90,7 +90,7 @@ public class Metrics2TabletServerMetrics implements Metrics, MetricsSource, Tabl
 
   @Override
   public void getMetrics(MetricsCollector collector, boolean all) {
-    MetricsRecordBuilder builder = collector.addRecord(PREFIX).setContext(CONTEXT);
+    MetricsRecordBuilder builder = collector.addRecord(TSERVER_RECORD).setContext(CONTEXT);
 
     // Update each MutableMetric with the new value
     snapshot();

http://git-wip-us.apache.org/repos/asf/accumulo/blob/20655d71/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerMinCMetrics.java
----------------------------------------------------------------------
diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerMinCMetrics.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerMinCMetrics.java
index 11af88b..a8d5933 100644
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerMinCMetrics.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerMinCMetrics.java
@@ -29,7 +29,7 @@ import org.apache.hadoop.metrics2.lib.MutableStat;
  *
  */
 public class Metrics2TabletServerMinCMetrics implements Metrics, MetricsSource, TabletServerMinCMetricsKeys {
-  public static final String NAME = "MinorCompactionMetrics", DESCRIPTION = "TabletServer Minor Compaction Metrics", CONTEXT = "tserver.minc";
+  public static final String NAME = "MinorCompactionMetrics", DESCRIPTION = "TabletServer Minor Compaction Metrics", CONTEXT = "minc";
 
   private final MetricsSystem system;
   private final MetricsRegistry registry;
@@ -65,7 +65,7 @@ public class Metrics2TabletServerMinCMetrics implements Metrics, MetricsSource,
 
   @Override
   public void getMetrics(MetricsCollector collector, boolean all) {
-    MetricsRecordBuilder builder = collector.addRecord(PREFIX).setContext(CONTEXT);
+    MetricsRecordBuilder builder = collector.addRecord(TSERVER_RECORD).setContext(CONTEXT);
 
     registry.snapshot(builder, all);
   }

http://git-wip-us.apache.org/repos/asf/accumulo/blob/20655d71/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerScanMetrics.java
----------------------------------------------------------------------
diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerScanMetrics.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerScanMetrics.java
index bca7f9c..245a2bf 100644
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerScanMetrics.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerScanMetrics.java
@@ -29,7 +29,7 @@ import org.apache.hadoop.metrics2.lib.MutableStat;
  *
  */
 public class Metrics2TabletServerScanMetrics implements Metrics, MetricsSource, TabletServerScanMetricsKeys {
-  public static final String NAME = "ScanMetrics", DESCRIPTION = "TabletServer Scan Metrics", CONTEXT = "tserver.scan";
+  public static final String NAME = "ScanMetrics", DESCRIPTION = "TabletServer Scan Metrics", CONTEXT = "scan";
 
   private final MetricsSystem system;
   private final MetricsRegistry registry;
@@ -67,7 +67,7 @@ public class Metrics2TabletServerScanMetrics implements Metrics, MetricsSource,
 
   @Override
   public void getMetrics(MetricsCollector collector, boolean all) {
-    MetricsRecordBuilder builder = collector.addRecord(PREFIX).setContext(CONTEXT);
+    MetricsRecordBuilder builder = collector.addRecord(TSERVER_RECORD).setContext(CONTEXT);
 
     registry.snapshot(builder, all);
   }

http://git-wip-us.apache.org/repos/asf/accumulo/blob/20655d71/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 916c616..83670c0 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
@@ -30,7 +30,7 @@ import org.apache.hadoop.metrics2.lib.MutableStat;
  *
  */
 public class Metrics2TabletServerUpdateMetrics implements Metrics, MetricsSource, TabletServerUpdateMetricsKeys {
-  public static final String NAME = "UpdateMetrics", DESCRIPTION = "TabletServer Update Metrics", CONTEXT = "tserver.update";
+  public static final String NAME = "UpdateMetrics", DESCRIPTION = "TabletServer Update Metrics", CONTEXT = "update";
 
   private final MetricsSystem system;
   private final MetricsRegistry registry;
@@ -86,7 +86,7 @@ public class Metrics2TabletServerUpdateMetrics implements Metrics, MetricsSource
 
   @Override
   public void getMetrics(MetricsCollector collector, boolean all) {
-    MetricsRecordBuilder builder = collector.addRecord(PREFIX).setContext(CONTEXT);
+    MetricsRecordBuilder builder = collector.addRecord(TSERVER_RECORD).setContext(CONTEXT);
 
     registry.snapshot(builder, all);
   }

http://git-wip-us.apache.org/repos/asf/accumulo/blob/20655d71/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerMetricsKeys.java
----------------------------------------------------------------------
diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerMetricsKeys.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerMetricsKeys.java
new file mode 100644
index 0000000..1d8d1af
--- /dev/null
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerMetricsKeys.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.accumulo.tserver.metrics;
+
+/**
+ * Keys for general tablet server metrics
+ */
+public interface TabletServerMetricsKeys {
+
+  String ENTRIES = "entries";
+  String ENTRIES_IN_MEM = "entriesInMem";
+  String HOLD_TIME = "holdTime";
+  String FILES_PER_TABLET = "filesPerTablet";
+  String ACTIVE_MAJCS = "activeMajCs";
+  String QUEUED_MAJCS = "queuedMajCs";
+  String ACTIVE_MINCS = "activeMinCs";
+  String QUEUED_MINCS = "queuedMinCs";
+  String ONLINE_TABLETS = "onlineTablets";
+  String OPENING_TABLETS = "openingTablets";
+  String UNOPENED_TABLETS = "unopenedTablets";
+  String QUERIES = "queries";
+  String TOTAL_MINCS = "totalMinCs";
+
+}

http://git-wip-us.apache.org/repos/asf/accumulo/blob/20655d71/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerMetricsUtil.java
----------------------------------------------------------------------
diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerMetricsUtil.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerMetricsUtil.java
new file mode 100644
index 0000000..5905aea
--- /dev/null
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerMetricsUtil.java
@@ -0,0 +1,138 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.accumulo.tserver.metrics;
+
+import org.apache.accumulo.tserver.TabletServer;
+import org.apache.accumulo.tserver.tablet.Tablet;
+
+/**
+ * Wrapper around extracting metrics from a TabletServer instance
+ *
+ * Necessary to support both old custom JMX metrics and Hadoop Metrics2
+ */
+public class TabletServerMetricsUtil {
+
+  private final TabletServer tserver;
+
+  public TabletServerMetricsUtil(TabletServer tserver) {
+    this.tserver = tserver;
+  }
+
+  public long getEntries() {
+    long result = 0;
+    for (Tablet tablet : tserver.getOnlineTablets()) {
+      result += tablet.getNumEntries();
+    }
+    return result;
+  }
+
+  public long getEntriesInMemory() {
+    long result = 0;
+    for (Tablet tablet : tserver.getOnlineTablets()) {
+      result += tablet.getNumEntriesInMemory();
+    }
+    return result;
+  }
+
+  public long getIngest() {
+    long result = 0;
+    for (Tablet tablet : tserver.getOnlineTablets()) {
+      result += tablet.getNumEntriesInMemory();
+    }
+    return result;
+  }
+
+  public int getMajorCompactions() {
+    int result = 0;
+    for (Tablet tablet : tserver.getOnlineTablets()) {
+      if (tablet.isMajorCompactionRunning())
+        result++;
+    }
+    return result;
+  }
+
+  public int getMajorCompactionsQueued() {
+    int result = 0;
+    for (Tablet tablet : tserver.getOnlineTablets()) {
+      if (tablet.isMajorCompactionQueued())
+        result++;
+    }
+    return result;
+  }
+
+  public int getMinorCompactions() {
+    int result = 0;
+    for (Tablet tablet : tserver.getOnlineTablets()) {
+      if (tablet.isMinorCompactionRunning())
+        result++;
+    }
+    return result;
+  }
+
+  public int getMinorCompactionsQueued() {
+    int result = 0;
+    for (Tablet tablet : tserver.getOnlineTablets()) {
+      if (tablet.isMinorCompactionQueued())
+        result++;
+    }
+    return result;
+  }
+
+  public int getOnlineCount() {
+    return tserver.getOnlineTablets().size();
+  }
+
+  public int getOpeningCount() {
+    return tserver.getOpeningCount();
+  }
+
+  public long getQueries() {
+    long result = 0;
+    for (Tablet tablet : tserver.getOnlineTablets()) {
+      result += tablet.totalQueries();
+    }
+    return result;
+  }
+
+  public int getUnopenedCount() {
+    return tserver.getUnopenedCount();
+  }
+
+  public String getName() {
+    return tserver.getClientAddressString();
+  }
+
+  public long getTotalMinorCompactions() {
+    return tserver.getTotalMinorCompactions();
+  }
+
+  public double getHoldTime() {
+    return tserver.getHoldTimeMillis() / 1000.;
+  }
+
+  public double getAverageFilesPerTablet() {
+    int count = 0;
+    long result = 0;
+    for (Tablet tablet : tserver.getOnlineTablets()) {
+      result += tablet.getDatafiles().size();
+      count++;
+    }
+    if (count == 0)
+      return 0;
+    return result / (double) count;
+  }
+}

http://git-wip-us.apache.org/repos/asf/accumulo/blob/20655d71/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerMinCMetricsKeys.java
----------------------------------------------------------------------
diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerMinCMetricsKeys.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerMinCMetricsKeys.java
new file mode 100644
index 0000000..29d4846
--- /dev/null
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerMinCMetricsKeys.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.accumulo.tserver.metrics;
+
+/**
+ * Keys to reference minor compaction metrics
+ */
+public interface TabletServerMinCMetricsKeys {
+
+  String MINC = "minc";
+  String QUEUE = "queue";
+
+}

http://git-wip-us.apache.org/repos/asf/accumulo/blob/20655d71/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerScanMetricsKeys.java
----------------------------------------------------------------------
diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerScanMetricsKeys.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerScanMetricsKeys.java
new file mode 100644
index 0000000..7d33a84
--- /dev/null
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerScanMetricsKeys.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.accumulo.tserver.metrics;
+
+/**
+ * Keys for referencing scan metrics
+ */
+public interface TabletServerScanMetricsKeys {
+
+  String SCAN = "scan";
+  String RESULT_SIZE = "result";
+
+}

http://git-wip-us.apache.org/repos/asf/accumulo/blob/20655d71/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerUpdateMetricsKeys.java
----------------------------------------------------------------------
diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerUpdateMetricsKeys.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerUpdateMetricsKeys.java
new file mode 100644
index 0000000..f06751b
--- /dev/null
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerUpdateMetricsKeys.java
@@ -0,0 +1,32 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.accumulo.tserver.metrics;
+
+/**
+ * Keys to identify which update metric is being altered
+ */
+public interface TabletServerUpdateMetricsKeys {
+
+  static String PERMISSION_ERRORS = "permissionErrors";
+  static String UNKNOWN_TABLET_ERRORS = "unknownTabletErrors";
+  static String MUTATION_ARRAY_SIZE = "mutationArraysSize";
+  static String COMMIT_PREP = "commitPrep";
+  static String CONSTRAINT_VIOLATIONS = "constraintViolations";
+  static String WALOG_WRITE_TIME = "waLogWriteTime";
+  static String COMMIT_TIME = "commitTime";
+
+}


[2/4] accumulo git commit: Inject a little jmx grouping into the names to be a nicer output.

Posted by el...@apache.org.
Inject a little jmx grouping into the names to be a nicer output.


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

Branch: refs/heads/metrics2-backwardscompat
Commit: ac361d2938b8a3af4eaefc4fb08f98f48cf2c117
Parents: 20655d7
Author: Josh Elser <el...@apache.org>
Authored: Fri Dec 5 13:33:19 2014 -0500
Committer: Josh Elser <el...@apache.org>
Committed: Fri Dec 5 13:33:19 2014 -0500

----------------------------------------------------------------------
 .../org/apache/accumulo/server/metrics/Metrics2ThriftMetrics.java  | 2 +-
 .../apache/accumulo/master/metrics/Metrics2ReplicationMetrics.java | 2 +-
 .../accumulo/tserver/metrics/Metrics2TabletServerMetrics.java      | 2 +-
 .../accumulo/tserver/metrics/Metrics2TabletServerMinCMetrics.java  | 2 +-
 .../accumulo/tserver/metrics/Metrics2TabletServerScanMetrics.java  | 2 +-
 .../tserver/metrics/Metrics2TabletServerUpdateMetrics.java         | 2 +-
 6 files changed, 6 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/ac361d29/server/base/src/main/java/org/apache/accumulo/server/metrics/Metrics2ThriftMetrics.java
----------------------------------------------------------------------
diff --git a/server/base/src/main/java/org/apache/accumulo/server/metrics/Metrics2ThriftMetrics.java b/server/base/src/main/java/org/apache/accumulo/server/metrics/Metrics2ThriftMetrics.java
index 028d1ae..300e1a3 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/metrics/Metrics2ThriftMetrics.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/metrics/Metrics2ThriftMetrics.java
@@ -36,7 +36,7 @@ public class Metrics2ThriftMetrics implements Metrics, MetricsSource, ThriftMetr
   Metrics2ThriftMetrics(MetricsSystem system, String serverName, String threadName) {
     this.system = system;
     this.context = serverName;
-    this.name = "ThriftMetrics" + serverName;
+    this.name = RECORD_NAME + ",sub=" + serverName;
     this.desc = "Thrift Server Metrics - " + serverName + " " + threadName;
     this.registry = new MetricsRegistry(Interns.info(name, desc));
   }

http://git-wip-us.apache.org/repos/asf/accumulo/blob/ac361d29/server/master/src/main/java/org/apache/accumulo/master/metrics/Metrics2ReplicationMetrics.java
----------------------------------------------------------------------
diff --git a/server/master/src/main/java/org/apache/accumulo/master/metrics/Metrics2ReplicationMetrics.java b/server/master/src/main/java/org/apache/accumulo/master/metrics/Metrics2ReplicationMetrics.java
index d9269a9..c62d7ac 100644
--- a/server/master/src/main/java/org/apache/accumulo/master/metrics/Metrics2ReplicationMetrics.java
+++ b/server/master/src/main/java/org/apache/accumulo/master/metrics/Metrics2ReplicationMetrics.java
@@ -37,7 +37,7 @@ import org.apache.hadoop.metrics2.lib.MetricsRegistry;
  *
  */
 public class Metrics2ReplicationMetrics implements Metrics, MetricsSource {
-  public static final String NAME = "ReplicationMetrics", DESCRIPTION = "Data-Center Replication Metrics";
+  public static final String NAME = MASTER_RECORD + ",sub=Replication", DESCRIPTION = "Data-Center Replication Metrics";
   public static final String PENDING_FILES = "filesPendingReplication", NUM_PEERS = "numPeers", MAX_REPLICATION_THREADS = "maxReplicationThreads";
 
   private final Master master;

http://git-wip-us.apache.org/repos/asf/accumulo/blob/ac361d29/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerMetrics.java
----------------------------------------------------------------------
diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerMetrics.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerMetrics.java
index 7aacf1f..8095a6b 100644
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerMetrics.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerMetrics.java
@@ -30,7 +30,7 @@ import org.apache.hadoop.metrics2.lib.MutableGaugeLong;
  *
  */
 public class Metrics2TabletServerMetrics implements Metrics, MetricsSource, TabletServerMetricsKeys {
-  public static final String NAME = "GeneralMetrics", DESCRIPTION = "General TabletServer Metrics", CONTEXT = "general";
+  public static final String NAME = TSERVER_RECORD + ",sub=General", DESCRIPTION = "General TabletServer Metrics", CONTEXT = "general";
 
   private final TabletServerMetricsUtil util;
   private final MetricsSystem system;

http://git-wip-us.apache.org/repos/asf/accumulo/blob/ac361d29/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerMinCMetrics.java
----------------------------------------------------------------------
diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerMinCMetrics.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerMinCMetrics.java
index a8d5933..ff3ee57 100644
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerMinCMetrics.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerMinCMetrics.java
@@ -29,7 +29,7 @@ import org.apache.hadoop.metrics2.lib.MutableStat;
  *
  */
 public class Metrics2TabletServerMinCMetrics implements Metrics, MetricsSource, TabletServerMinCMetricsKeys {
-  public static final String NAME = "MinorCompactionMetrics", DESCRIPTION = "TabletServer Minor Compaction Metrics", CONTEXT = "minc";
+  public static final String NAME = TSERVER_RECORD + ",sub=MinorCompactions", DESCRIPTION = "TabletServer Minor Compaction Metrics", CONTEXT = "minc";
 
   private final MetricsSystem system;
   private final MetricsRegistry registry;

http://git-wip-us.apache.org/repos/asf/accumulo/blob/ac361d29/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerScanMetrics.java
----------------------------------------------------------------------
diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerScanMetrics.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerScanMetrics.java
index 245a2bf..fdc6925 100644
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerScanMetrics.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerScanMetrics.java
@@ -29,7 +29,7 @@ import org.apache.hadoop.metrics2.lib.MutableStat;
  *
  */
 public class Metrics2TabletServerScanMetrics implements Metrics, MetricsSource, TabletServerScanMetricsKeys {
-  public static final String NAME = "ScanMetrics", DESCRIPTION = "TabletServer Scan Metrics", CONTEXT = "scan";
+  public static final String NAME = TSERVER_RECORD + ",sub=Scans", DESCRIPTION = "TabletServer Scan Metrics", CONTEXT = "scan";
 
   private final MetricsSystem system;
   private final MetricsRegistry registry;

http://git-wip-us.apache.org/repos/asf/accumulo/blob/ac361d29/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 83670c0..d422c4a 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
@@ -30,7 +30,7 @@ import org.apache.hadoop.metrics2.lib.MutableStat;
  *
  */
 public class Metrics2TabletServerUpdateMetrics implements Metrics, MetricsSource, TabletServerUpdateMetricsKeys {
-  public static final String NAME = "UpdateMetrics", DESCRIPTION = "TabletServer Update Metrics", CONTEXT = "update";
+  public static final String NAME = TSERVER_RECORD + ",sub=Updates", DESCRIPTION = "TabletServer Update Metrics", CONTEXT = "update";
 
   private final MetricsSystem system;
   private final MetricsRegistry registry;


[4/4] accumulo git commit: Add a sane default for metrics which enables nothing by default.

Posted by el...@apache.org.
Add a sane default for metrics which enables nothing by default.


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

Branch: refs/heads/metrics2-backwardscompat
Commit: 73f8e8973cb3f6160aad9dc95186f40fa4ef01c2
Parents: 15b3aa7
Author: Josh Elser <el...@apache.org>
Authored: Fri Dec 5 17:56:10 2014 -0500
Committer: Josh Elser <el...@apache.org>
Committed: Fri Dec 5 17:56:10 2014 -0500

----------------------------------------------------------------------
 .../hadoop-metrics2-accumulo.properties         | 86 ++++++++++++++++++++
 1 file changed, 86 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/73f8e897/assemble/conf/templates/hadoop-metrics2-accumulo.properties
----------------------------------------------------------------------
diff --git a/assemble/conf/templates/hadoop-metrics2-accumulo.properties b/assemble/conf/templates/hadoop-metrics2-accumulo.properties
new file mode 100644
index 0000000..7e3c7c0
--- /dev/null
+++ b/assemble/conf/templates/hadoop-metrics2-accumulo.properties
@@ -0,0 +1,86 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Poll collectors every ten seconds
+*.period=10
+
+#
+# MetricSink configuration
+# 
+# Uncomment a sink (and configuration) to enable it. By default,
+# no sinks are enabled.
+#
+
+#
+# Configure file logging
+#
+
+# File sink for all metrics
+# accumulo.sink.file-all.class=org.apache.hadoop.metrics2.sink.FileSink
+# accumulo.sink.file-all.filename=all.metrics
+
+# File sink for tserver metrics
+# accumulo.sink.file-tserver.class=org.apache.hadoop.metrics2.sink.FileSink
+# accumulo.sink.file-tserver.context=tserver
+# accumulo.sink.file-tserver.filename=tserver.metrics
+
+# File sink for master metrics
+# accumulo.sink.file-master.class=org.apache.hadoop.metrics2.sink.FileSink
+# accumulo.sink.file-master.context=master
+# accumulo.sink.file-master.filename=master.metrics
+
+# File sink for thrift server metrics
+# accumulo.sink.file-thrift.class=org.apache.hadoop.metrics2.sink.FileSink
+# accumulo.sink.file-thrift.context=thrift
+# accumulo.sink.file-thrift.filename=thrift.metrics
+
+#
+# Configure Graphite
+#
+
+# Configure all sources to be written to a Graphite instance
+# accumulo.sink.graphite.class=org.apache.hadoop.metrics2.sink.GraphiteSink
+# accumulo.sink.graphite.server_host=localhost
+# accumulo.sink.graphite.server_port=2003
+
+#
+# Configure Ganglia
+#
+
+# for Ganglia 3.0 support
+# accumulo.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink30
+
+# for Ganglia 3.1 support
+# accumulo.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31
+
+# accumulo.sink.ganglia.period=10
+
+# default for supportsparse is false
+# accumulo.sink.ganglia.supportsparse=true
+
+# accumulo.sink.ganglia.slope=jvm.metrics.gcCount=zero,jvm.metrics.memHeapUsedM=both
+# accumulo.sink.ganglia.dmax=jvm.metrics.threadsBlocked=70,jvm.metrics.memHeapUsedM=40
+
+# Tag values to use for the ganglia prefix. If not defined no tags are used.
+# If '*' all tags are used. If specifiying multiple tags separate them with
+# commas. Note that the last segment of the property name is the context name.
+#
+# accumulo.sink.ganglia.tagsForPrefix.jvm=ProcesName
+# accumulo.sink.ganglia.tagsForPrefix.tserver=
+# accumulo.sink.ganglia.tagsForPrefix.master=
+# accumulo.sink.ganglia.tagsForPrefix.thrift=
+
+# Ganglia host(s)
+# accumulo.sink.ganglia.servers=yourgangliahost_1:8649,yourgangliahost_2:8649


[3/4] accumulo git commit: Some more tweaking of record name and context

Posted by el...@apache.org.
Some more tweaking of record name and context


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

Branch: refs/heads/metrics2-backwardscompat
Commit: 15b3aa78123ce7aebab5cd18b21be0d410a59310
Parents: ac361d2
Author: Josh Elser <el...@apache.org>
Authored: Fri Dec 5 17:41:28 2014 -0500
Committer: Josh Elser <el...@apache.org>
Committed: Fri Dec 5 17:41:28 2014 -0500

----------------------------------------------------------------------
 .../java/org/apache/accumulo/server/metrics/Metrics.java  |  5 +++--
 .../accumulo/server/metrics/Metrics2ThriftMetrics.java    | 10 +++++-----
 .../master/metrics/Metrics2ReplicationMetrics.java        |  5 +++--
 .../tserver/metrics/Metrics2TabletServerMetrics.java      |  4 ++--
 .../tserver/metrics/Metrics2TabletServerMinCMetrics.java  |  5 +++--
 .../tserver/metrics/Metrics2TabletServerScanMetrics.java  |  4 ++--
 .../metrics/Metrics2TabletServerUpdateMetrics.java        |  4 ++--
 7 files changed, 20 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/15b3aa78/server/base/src/main/java/org/apache/accumulo/server/metrics/Metrics.java
----------------------------------------------------------------------
diff --git a/server/base/src/main/java/org/apache/accumulo/server/metrics/Metrics.java b/server/base/src/main/java/org/apache/accumulo/server/metrics/Metrics.java
index 77b30ca..f451266 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/metrics/Metrics.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/metrics/Metrics.java
@@ -22,8 +22,9 @@ package org.apache.accumulo.server.metrics;
 public interface Metrics {
 
   String PREFIX = "Accumulo";
-  String TSERVER_RECORD = "TabletServer";
-  String MASTER_RECORD = "Master";
+  String THRIFT_NAME = "Thrift";
+  String TSERVER_NAME = "TabletServer";
+  String MASTER_NAME = "Master";
 
   void register() throws Exception;
 

http://git-wip-us.apache.org/repos/asf/accumulo/blob/15b3aa78/server/base/src/main/java/org/apache/accumulo/server/metrics/Metrics2ThriftMetrics.java
----------------------------------------------------------------------
diff --git a/server/base/src/main/java/org/apache/accumulo/server/metrics/Metrics2ThriftMetrics.java b/server/base/src/main/java/org/apache/accumulo/server/metrics/Metrics2ThriftMetrics.java
index 300e1a3..d166899 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/metrics/Metrics2ThriftMetrics.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/metrics/Metrics2ThriftMetrics.java
@@ -27,16 +27,16 @@ import org.apache.hadoop.metrics2.lib.MetricsRegistry;
  *
  */
 public class Metrics2ThriftMetrics implements Metrics, MetricsSource, ThriftMetricsKeys {
-  public static final String RECORD_NAME = "Thrift";
+  public static final String CONTEXT = "thrift";
 
   private final MetricsSystem system;
   private final MetricsRegistry registry;
-  private final String context, name, desc;
+  private final String record, name, desc;
 
   Metrics2ThriftMetrics(MetricsSystem system, String serverName, String threadName) {
     this.system = system;
-    this.context = serverName;
-    this.name = RECORD_NAME + ",sub=" + serverName;
+    this.record = serverName;
+    this.name = THRIFT_NAME + ",sub=" + serverName;
     this.desc = "Thrift Server Metrics - " + serverName + " " + threadName;
     this.registry = new MetricsRegistry(Interns.info(name, desc));
   }
@@ -58,7 +58,7 @@ public class Metrics2ThriftMetrics implements Metrics, MetricsSource, ThriftMetr
 
   @Override
   public void getMetrics(MetricsCollector collector, boolean all) {
-    MetricsRecordBuilder builder = collector.addRecord(RECORD_NAME).setContext(context);
+    MetricsRecordBuilder builder = collector.addRecord(record).setContext(CONTEXT);
 
     registry.snapshot(builder, all);
   }

http://git-wip-us.apache.org/repos/asf/accumulo/blob/15b3aa78/server/master/src/main/java/org/apache/accumulo/master/metrics/Metrics2ReplicationMetrics.java
----------------------------------------------------------------------
diff --git a/server/master/src/main/java/org/apache/accumulo/master/metrics/Metrics2ReplicationMetrics.java b/server/master/src/main/java/org/apache/accumulo/master/metrics/Metrics2ReplicationMetrics.java
index c62d7ac..9e35c61 100644
--- a/server/master/src/main/java/org/apache/accumulo/master/metrics/Metrics2ReplicationMetrics.java
+++ b/server/master/src/main/java/org/apache/accumulo/master/metrics/Metrics2ReplicationMetrics.java
@@ -37,7 +37,8 @@ import org.apache.hadoop.metrics2.lib.MetricsRegistry;
  *
  */
 public class Metrics2ReplicationMetrics implements Metrics, MetricsSource {
-  public static final String NAME = MASTER_RECORD + ",sub=Replication", DESCRIPTION = "Data-Center Replication Metrics";
+  public static final String NAME = MASTER_NAME + ",sub=Replication", DESCRIPTION = "Data-Center Replication Metrics", CONTEXT = "master",
+      RECORD = "MasterReplication";
   public static final String PENDING_FILES = "filesPendingReplication", NUM_PEERS = "numPeers", MAX_REPLICATION_THREADS = "maxReplicationThreads";
 
   private final Master master;
@@ -61,7 +62,7 @@ public class Metrics2ReplicationMetrics implements Metrics, MetricsSource {
 
   @Override
   public void getMetrics(MetricsCollector collector, boolean all) {
-    MetricsRecordBuilder builder = collector.addRecord(MASTER_RECORD).setContext("replication");
+    MetricsRecordBuilder builder = collector.addRecord(RECORD).setContext(CONTEXT);
 
     snapshot();
 

http://git-wip-us.apache.org/repos/asf/accumulo/blob/15b3aa78/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerMetrics.java
----------------------------------------------------------------------
diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerMetrics.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerMetrics.java
index 8095a6b..b470a8f 100644
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerMetrics.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerMetrics.java
@@ -30,7 +30,7 @@ import org.apache.hadoop.metrics2.lib.MutableGaugeLong;
  *
  */
 public class Metrics2TabletServerMetrics implements Metrics, MetricsSource, TabletServerMetricsKeys {
-  public static final String NAME = TSERVER_RECORD + ",sub=General", DESCRIPTION = "General TabletServer Metrics", CONTEXT = "general";
+  public static final String NAME = TSERVER_NAME + ",sub=General", DESCRIPTION = "General TabletServer Metrics", CONTEXT = "tserver", RECORD = "general";
 
   private final TabletServerMetricsUtil util;
   private final MetricsSystem system;
@@ -90,7 +90,7 @@ public class Metrics2TabletServerMetrics implements Metrics, MetricsSource, Tabl
 
   @Override
   public void getMetrics(MetricsCollector collector, boolean all) {
-    MetricsRecordBuilder builder = collector.addRecord(TSERVER_RECORD).setContext(CONTEXT);
+    MetricsRecordBuilder builder = collector.addRecord(RECORD).setContext(CONTEXT);
 
     // Update each MutableMetric with the new value
     snapshot();

http://git-wip-us.apache.org/repos/asf/accumulo/blob/15b3aa78/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerMinCMetrics.java
----------------------------------------------------------------------
diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerMinCMetrics.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerMinCMetrics.java
index ff3ee57..cd06c8e 100644
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerMinCMetrics.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerMinCMetrics.java
@@ -29,7 +29,8 @@ import org.apache.hadoop.metrics2.lib.MutableStat;
  *
  */
 public class Metrics2TabletServerMinCMetrics implements Metrics, MetricsSource, TabletServerMinCMetricsKeys {
-  public static final String NAME = TSERVER_RECORD + ",sub=MinorCompactions", DESCRIPTION = "TabletServer Minor Compaction Metrics", CONTEXT = "minc";
+  public static final String NAME = TSERVER_NAME + ",sub=MinorCompactions", DESCRIPTION = "TabletServer Minor Compaction Metrics", CONTEXT = "tserver",
+      RECORD = "MinorCompactions";
 
   private final MetricsSystem system;
   private final MetricsRegistry registry;
@@ -65,7 +66,7 @@ public class Metrics2TabletServerMinCMetrics implements Metrics, MetricsSource,
 
   @Override
   public void getMetrics(MetricsCollector collector, boolean all) {
-    MetricsRecordBuilder builder = collector.addRecord(TSERVER_RECORD).setContext(CONTEXT);
+    MetricsRecordBuilder builder = collector.addRecord(RECORD).setContext(CONTEXT);
 
     registry.snapshot(builder, all);
   }

http://git-wip-us.apache.org/repos/asf/accumulo/blob/15b3aa78/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerScanMetrics.java
----------------------------------------------------------------------
diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerScanMetrics.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerScanMetrics.java
index fdc6925..0c72cb5 100644
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerScanMetrics.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/Metrics2TabletServerScanMetrics.java
@@ -29,7 +29,7 @@ import org.apache.hadoop.metrics2.lib.MutableStat;
  *
  */
 public class Metrics2TabletServerScanMetrics implements Metrics, MetricsSource, TabletServerScanMetricsKeys {
-  public static final String NAME = TSERVER_RECORD + ",sub=Scans", DESCRIPTION = "TabletServer Scan Metrics", CONTEXT = "scan";
+  public static final String NAME = TSERVER_NAME + ",sub=Scans", DESCRIPTION = "TabletServer Scan Metrics", CONTEXT = "tserver", RECORD = "Scans";
 
   private final MetricsSystem system;
   private final MetricsRegistry registry;
@@ -67,7 +67,7 @@ public class Metrics2TabletServerScanMetrics implements Metrics, MetricsSource,
 
   @Override
   public void getMetrics(MetricsCollector collector, boolean all) {
-    MetricsRecordBuilder builder = collector.addRecord(TSERVER_RECORD).setContext(CONTEXT);
+    MetricsRecordBuilder builder = collector.addRecord(RECORD).setContext(CONTEXT);
 
     registry.snapshot(builder, all);
   }

http://git-wip-us.apache.org/repos/asf/accumulo/blob/15b3aa78/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 d422c4a..e1c91c6 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
@@ -30,7 +30,7 @@ import org.apache.hadoop.metrics2.lib.MutableStat;
  *
  */
 public class Metrics2TabletServerUpdateMetrics implements Metrics, MetricsSource, TabletServerUpdateMetricsKeys {
-  public static final String NAME = TSERVER_RECORD + ",sub=Updates", DESCRIPTION = "TabletServer Update Metrics", CONTEXT = "update";
+  public static final String NAME = TSERVER_NAME + ",sub=Updates", DESCRIPTION = "TabletServer Update Metrics", CONTEXT = "tserver", RECORD = "Updates";
 
   private final MetricsSystem system;
   private final MetricsRegistry registry;
@@ -86,7 +86,7 @@ public class Metrics2TabletServerUpdateMetrics implements Metrics, MetricsSource
 
   @Override
   public void getMetrics(MetricsCollector collector, boolean all) {
-    MetricsRecordBuilder builder = collector.addRecord(TSERVER_RECORD).setContext(CONTEXT);
+    MetricsRecordBuilder builder = collector.addRecord(RECORD).setContext(CONTEXT);
 
     registry.snapshot(builder, all);
   }