Hide Constructor for impl-specific metrics to force factory use.
Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/6bc63eb0 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/6bc63eb0 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/6bc63eb0 Branch: refs/heads/metrics2-backwardscompat Commit: 6bc63eb0b9eb430d6dcabd07e88982967a205082 Parents: c4aea2d Author: Josh Elser <[email protected]> Authored: Thu Dec 4 12:04:54 2014 -0500 Committer: Josh Elser <[email protected]> Committed: Thu Dec 4 12:04:54 2014 -0500 ---------------------------------------------------------------------- .../server/metrics/Metrics2ThriftMetrics.java | 2 +- .../accumulo/server/metrics/ThriftMetrics.java | 43 +++++++----- .../java/org/apache/accumulo/master/Master.java | 12 ++-- .../metrics/Metrics2ReplicationMetrics.java | 2 +- .../master/metrics/ReplicationMetrics.java | 2 +- .../apache/accumulo/tserver/TabletServer.java | 5 +- .../metrics/Metrics2TabletServerMetrics.java | 4 +- .../Metrics2TabletServerScanMetrics.java | 2 +- .../tserver/metrics/TabletServerMBeanImpl.java | 2 +- .../metrics/TabletServerMinCMetrics.java | 43 +++++++----- .../metrics/TabletServerScanMetrics.java | 43 +++++++----- .../metrics/TabletServerUpdateMetrics.java | 73 ++++++++++++-------- 12 files changed, 140 insertions(+), 93 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/accumulo/blob/6bc63eb0/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 93a1b70..f0b091f 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 @@ -32,7 +32,7 @@ public class Metrics2ThriftMetrics implements Metrics, MetricsSource { private final MetricsRegistry registry; private final String name, desc; - public Metrics2ThriftMetrics(MetricsSystem system, String serverName, String threadName) { + Metrics2ThriftMetrics(MetricsSystem system, String serverName, String threadName) { this.system = system; this.name = "ThriftMetrics" + serverName; this.desc = "Thrift Server Metrics - " + serverName + " " + threadName; http://git-wip-us.apache.org/repos/asf/accumulo/blob/6bc63eb0/server/base/src/main/java/org/apache/accumulo/server/metrics/ThriftMetrics.java ---------------------------------------------------------------------- diff --git a/server/base/src/main/java/org/apache/accumulo/server/metrics/ThriftMetrics.java b/server/base/src/main/java/org/apache/accumulo/server/metrics/ThriftMetrics.java index cf7d3d5..d87d055 100644 --- a/server/base/src/main/java/org/apache/accumulo/server/metrics/ThriftMetrics.java +++ b/server/base/src/main/java/org/apache/accumulo/server/metrics/ThriftMetrics.java @@ -20,14 +20,14 @@ import javax.management.ObjectName; public class ThriftMetrics extends AbstractMetricsImpl implements ThriftMetricsMBean { - + static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(ThriftMetrics.class); - + private static final String METRICS_PREFIX = "thrift"; - + private ObjectName OBJECT_NAME = null; - - public ThriftMetrics(String serverName, String threadName) { + + ThriftMetrics(String serverName, String threadName) { super(); reset(); try { @@ -36,52 +36,61 @@ public class ThriftMetrics extends AbstractMetricsImpl implements ThriftMetricsM log.error("Exception setting MBean object name", e); } } - + @Override protected ObjectName getObjectName() { return OBJECT_NAME; } - + @Override protected String getMetricsPrefix() { return METRICS_PREFIX; } - + + @Override public void reset() { createMetric(idle); createMetric(execute); } - + + @Override public long getExecutionAvgTime() { return this.getMetricAvg(execute); } - + + @Override public long getExecutionCount() { return this.getMetricCount(execute); } - + + @Override public long getExecutionMaxTime() { return this.getMetricMax(execute); } - + + @Override public long getExecutionMinTime() { return this.getMetricMin(execute); } - + + @Override public long getIdleAvgTime() { return this.getMetricAvg(idle); } - + + @Override public long getIdleCount() { return this.getMetricCount(idle); } - + + @Override public long getIdleMaxTime() { return this.getMetricMax(idle); } - + + @Override public long getIdleMinTime() { return this.getMetricMin(idle); } - + } http://git-wip-us.apache.org/repos/asf/accumulo/blob/6bc63eb0/server/master/src/main/java/org/apache/accumulo/master/Master.java ---------------------------------------------------------------------- diff --git a/server/master/src/main/java/org/apache/accumulo/master/Master.java b/server/master/src/main/java/org/apache/accumulo/master/Master.java index 9d54e98..6e81354 100644 --- a/server/master/src/main/java/org/apache/accumulo/master/Master.java +++ b/server/master/src/main/java/org/apache/accumulo/master/Master.java @@ -82,7 +82,7 @@ import org.apache.accumulo.fate.zookeeper.IZooReaderWriter; import org.apache.accumulo.fate.zookeeper.ZooLock.LockLossReason; import org.apache.accumulo.fate.zookeeper.ZooUtil.NodeExistsPolicy; import org.apache.accumulo.fate.zookeeper.ZooUtil.NodeMissingPolicy; -import org.apache.accumulo.master.metrics.ReplicationMetrics; +import org.apache.accumulo.master.metrics.MasterMetricsFactory; import org.apache.accumulo.master.recovery.RecoveryManager; import org.apache.accumulo.master.replication.MasterReplicationCoordinator; import org.apache.accumulo.master.replication.ReplicationDriver; @@ -115,6 +115,7 @@ import org.apache.accumulo.server.master.state.TabletServerState; import org.apache.accumulo.server.master.state.TabletState; import org.apache.accumulo.server.master.state.ZooStore; import org.apache.accumulo.server.master.state.ZooTabletStateStore; +import org.apache.accumulo.server.metrics.Metrics; import org.apache.accumulo.server.replication.ZooKeeperInitialization; import org.apache.accumulo.server.security.AuditedSecurityOperation; import org.apache.accumulo.server.security.SecurityOperation; @@ -1126,12 +1127,13 @@ public class Master extends AccumuloServerContext implements LiveTServerSet.List ZooReaderWriter.getInstance().putPersistentData(ZooUtil.getRoot(getInstance()) + Constants.ZMASTER_REPLICATION_COORDINATOR_ADDR, replAddress.address.toString().getBytes(UTF_8), NodeExistsPolicy.OVERWRITE); - + // Register replication metrics + MasterMetricsFactory factory = new MasterMetricsFactory(getConfiguration(), this); + Metrics replicationMetrics = factory.createReplicationMetrics(); try { - ReplicationMetrics beanImpl = new ReplicationMetrics(this); - beanImpl.register(); + replicationMetrics.register(); } catch (Exception e) { - log.error("Error registering Replication metrics with JMX", e); + log.error("Failed to register replication metrics", e); } while (clientService.isServing()) { http://git-wip-us.apache.org/repos/asf/accumulo/blob/6bc63eb0/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 374d998..9e12177 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 @@ -44,7 +44,7 @@ public class Metrics2ReplicationMetrics implements Metrics, MetricsSource { private final MetricsRegistry registry; private final ReplicationUtil replicationUtil; - public Metrics2ReplicationMetrics(Master master, MetricsSystem system) { + Metrics2ReplicationMetrics(Master master, MetricsSystem system) { this.master = master; this.system = system; http://git-wip-us.apache.org/repos/asf/accumulo/blob/6bc63eb0/server/master/src/main/java/org/apache/accumulo/master/metrics/ReplicationMetrics.java ---------------------------------------------------------------------- diff --git a/server/master/src/main/java/org/apache/accumulo/master/metrics/ReplicationMetrics.java b/server/master/src/main/java/org/apache/accumulo/master/metrics/ReplicationMetrics.java index 5a3b2aa..c6405de 100644 --- a/server/master/src/main/java/org/apache/accumulo/master/metrics/ReplicationMetrics.java +++ b/server/master/src/main/java/org/apache/accumulo/master/metrics/ReplicationMetrics.java @@ -41,7 +41,7 @@ public class ReplicationMetrics extends AbstractMetricsImpl implements Replicati private ObjectName objectName = null; private ReplicationUtil replicationUtil; - public ReplicationMetrics(Master master) { + ReplicationMetrics(Master master) { super(); this.master = master; try { http://git-wip-us.apache.org/repos/asf/accumulo/blob/6bc63eb0/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java ---------------------------------------------------------------------- diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java index 8492537..11bfe15 100644 --- a/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java +++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java @@ -201,7 +201,6 @@ import org.apache.accumulo.tserver.mastermessage.MasterMessage; import org.apache.accumulo.tserver.mastermessage.SplitReportMessage; import org.apache.accumulo.tserver.mastermessage.TabletStatusMessage; import org.apache.accumulo.tserver.metrics.TabletServerMetricsFactory; -import org.apache.accumulo.tserver.metrics.TabletServerMinCMetrics; import org.apache.accumulo.tserver.metrics.TabletServerScanMetrics; import org.apache.accumulo.tserver.metrics.TabletServerUpdateMetrics; import org.apache.accumulo.tserver.replication.ReplicationServicerHandler; @@ -342,8 +341,8 @@ public class TabletServer extends AccumuloServerContext implements Runnable { metricsFactory = new TabletServerMetricsFactory(aconf); updateMetrics = metricsFactory.createUpdateMetrics(); - scanMetrics = new TabletServerScanMetrics(); - mincMetrics = new TabletServerMinCMetrics(); + scanMetrics = metricsFactory.createScanMetrics(); + mincMetrics = metricsFactory.createMincMetrics(); } private final SessionManager sessionManager; http://git-wip-us.apache.org/repos/asf/accumulo/blob/6bc63eb0/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 8fecf44..c21632b 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 @@ -38,7 +38,7 @@ public class Metrics2TabletServerMetrics implements Metrics, MetricsSource { private final MetricsSystem system; private final MetricsRegistry registry; - public Metrics2TabletServerMetrics(TabletServer tserver, MetricsSystem system) { + Metrics2TabletServerMetrics(TabletServer tserver, MetricsSystem system) { this.tserver = tserver; this.system = system; this.registry = new MetricsRegistry(Interns.info("TabletServerMetrics", "General TabletServer Metrics")); @@ -78,7 +78,7 @@ public class Metrics2TabletServerMetrics implements Metrics, MetricsSource { registry.add(ENTRIES, getEntries()); registry.add(ENTRIES_IN_MEM, getEntriesInMemory()); registry.add(FILES_PER_TABLET, (long) this.getAverageFilesPerTablet()); - + registry.add(ACTIVE_MAJCS, getMajorCompactions()); registry.add(QUEUED_MAJCS, getMajorCompactionsQueued()); registry.add(ACTIVE_MINCS, getMinorCompactions()); http://git-wip-us.apache.org/repos/asf/accumulo/blob/6bc63eb0/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 b57f582..d54e689 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 @@ -32,7 +32,7 @@ public class Metrics2TabletServerScanMetrics implements Metrics, MetricsSource { private final MetricsSystem system; private final MetricsRegistry registry; - public Metrics2TabletServerScanMetrics(MetricsSystem system) { + Metrics2TabletServerScanMetrics(MetricsSystem system) { this.system = system; this.registry = new MetricsRegistry(Interns.info("ScanMetrics", "TabletServer Scan Metrics")); } http://git-wip-us.apache.org/repos/asf/accumulo/blob/6bc63eb0/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerMBeanImpl.java ---------------------------------------------------------------------- diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerMBeanImpl.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerMBeanImpl.java index a12f56d..8ba853f 100644 --- a/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerMBeanImpl.java +++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerMBeanImpl.java @@ -32,7 +32,7 @@ public class TabletServerMBeanImpl extends AbstractMetricsImpl implements Tablet final TabletServer server; - public TabletServerMBeanImpl(TabletServer server) { + TabletServerMBeanImpl(TabletServer server) { this.server = server; try { OBJECT_NAME = new ObjectName("accumulo.server.metrics:service=TServerInfo,name=TabletServerMBean,instance=" + Thread.currentThread().getName()); http://git-wip-us.apache.org/repos/asf/accumulo/blob/6bc63eb0/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerMinCMetrics.java ---------------------------------------------------------------------- diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerMinCMetrics.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerMinCMetrics.java index a89bb45..733cee9 100644 --- a/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerMinCMetrics.java +++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerMinCMetrics.java @@ -21,14 +21,14 @@ import javax.management.ObjectName; import org.apache.accumulo.server.metrics.AbstractMetricsImpl; public class TabletServerMinCMetrics extends AbstractMetricsImpl implements TabletServerMinCMetricsMBean { - + static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(TabletServerMinCMetrics.class); - + private static final String METRICS_PREFIX = "tserver.minc"; - + private static ObjectName OBJECT_NAME = null; - - public TabletServerMinCMetrics() { + + TabletServerMinCMetrics() { super(); reset(); try { @@ -37,52 +37,61 @@ public class TabletServerMinCMetrics extends AbstractMetricsImpl implements Tabl log.error("Exception setting MBean object name", e); } } - + @Override protected ObjectName getObjectName() { return OBJECT_NAME; } - + @Override protected String getMetricsPrefix() { return METRICS_PREFIX; } - + + @Override public long getMinorCompactionMinTime() { return this.getMetricMin(minc); } - + + @Override public long getMinorCompactionAvgTime() { return this.getMetricAvg(minc); } - + + @Override public long getMinorCompactionCount() { return this.getMetricCount(minc); } - + + @Override public long getMinorCompactionMaxTime() { return this.getMetricMax(minc); } - + + @Override public long getMinorCompactionQueueAvgTime() { return this.getMetricAvg(queue); } - + + @Override public long getMinorCompactionQueueCount() { return this.getMetricCount(queue); } - + + @Override public long getMinorCompactionQueueMaxTime() { return this.getMetricMax(queue); } - + + @Override public long getMinorCompactionQueueMinTime() { return this.getMetricMin(minc); } - + + @Override public void reset() { createMetric("minc"); createMetric("queue"); } - + } http://git-wip-us.apache.org/repos/asf/accumulo/blob/6bc63eb0/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerScanMetrics.java ---------------------------------------------------------------------- diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerScanMetrics.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerScanMetrics.java index 142f171..17d33a8 100644 --- a/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerScanMetrics.java +++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerScanMetrics.java @@ -21,14 +21,14 @@ import javax.management.ObjectName; import org.apache.accumulo.server.metrics.AbstractMetricsImpl; public class TabletServerScanMetrics extends AbstractMetricsImpl implements TabletServerScanMetricsMBean { - + static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(TabletServerScanMetrics.class); - + public static final String METRICS_PREFIX = "tserver.scan"; - + static ObjectName OBJECT_NAME = null; - - public TabletServerScanMetrics() { + + TabletServerScanMetrics() { super(); reset(); try { @@ -37,52 +37,61 @@ public class TabletServerScanMetrics extends AbstractMetricsImpl implements Tabl log.error("Exception setting MBean object name", e); } } - + @Override protected ObjectName getObjectName() { return OBJECT_NAME; } - + @Override protected String getMetricsPrefix() { return METRICS_PREFIX; } - + + @Override public long getResultAvgSize() { return this.getMetricAvg(resultSize); } - + + @Override public long getResultCount() { return this.getMetricCount(resultSize); } - + + @Override public long getResultMaxSize() { return this.getMetricMax(resultSize); } - + + @Override public long getResultMinSize() { return this.getMetricMin(resultSize); } - + + @Override public long getScanAvgTime() { return this.getMetricAvg(scan); } - + + @Override public long getScanCount() { return this.getMetricCount(scan); } - + + @Override public long getScanMaxTime() { return this.getMetricMax(scan); } - + + @Override public long getScanMinTime() { return this.getMetricMin(scan); } - + + @Override public void reset() { createMetric(scan); createMetric(resultSize); } - + } http://git-wip-us.apache.org/repos/asf/accumulo/blob/6bc63eb0/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerUpdateMetrics.java ---------------------------------------------------------------------- diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerUpdateMetrics.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerUpdateMetrics.java index b23fb1a..bb38655 100644 --- a/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerUpdateMetrics.java +++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerUpdateMetrics.java @@ -21,14 +21,14 @@ import javax.management.ObjectName; import org.apache.accumulo.server.metrics.AbstractMetricsImpl; public class TabletServerUpdateMetrics extends AbstractMetricsImpl implements TabletServerUpdateMetricsMBean { - + static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(TabletServerUpdateMetrics.class); - + private static final String METRICS_PREFIX = "tserver.update"; - + private static ObjectName OBJECT_NAME = null; - - public TabletServerUpdateMetrics() { + + TabletServerUpdateMetrics() { super(); reset(); try { @@ -38,89 +38,108 @@ public class TabletServerUpdateMetrics extends AbstractMetricsImpl implements Ta log.error("Exception setting MBean object name", e); } } - + @Override protected ObjectName getObjectName() { return OBJECT_NAME; } - + @Override protected String getMetricsPrefix() { return METRICS_PREFIX; } - + + @Override public long getPermissionErrorCount() { return this.getMetricCount(permissionErrors); } - + + @Override public long getUnknownTabletErrorCount() { return this.getMetricCount(unknownTabletErrors); } - + + @Override public long getMutationArrayAvgSize() { return this.getMetricAvg(mutationArraySize); } - + + @Override public long getMutationArrayMinSize() { return this.getMetricMin(mutationArraySize); } - + + @Override public long getMutationArrayMaxSize() { return this.getMetricMax(mutationArraySize); } - + + @Override public long getCommitPrepCount() { return this.getMetricCount(commitPrep); } - + + @Override public long getCommitPrepMinTime() { return this.getMetricMin(commitPrep); } - + + @Override public long getCommitPrepMaxTime() { return this.getMetricMax(commitPrep); } - + + @Override public long getCommitPrepAvgTime() { return this.getMetricAvg(commitPrep); } - + + @Override public long getConstraintViolationCount() { return this.getMetricCount(constraintViolations); } - + + @Override public long getWALogWriteCount() { return this.getMetricCount(waLogWriteTime); } - + + @Override public long getWALogWriteMinTime() { return this.getMetricMin(waLogWriteTime); } - + + @Override public long getWALogWriteMaxTime() { return this.getMetricMax(waLogWriteTime); } - + + @Override public long getWALogWriteAvgTime() { return this.getMetricAvg(waLogWriteTime); } - + + @Override public long getCommitCount() { return this.getMetricCount(commitTime); } - + + @Override public long getCommitMinTime() { return this.getMetricMin(commitTime); } - + + @Override public long getCommitMaxTime() { return this.getMetricMax(commitTime); } - + + @Override public long getCommitAvgTime() { return this.getMetricAvg(commitTime); } - + + @Override public void reset() { createMetric(permissionErrors); createMetric(unknownTabletErrors); @@ -130,5 +149,5 @@ public class TabletServerUpdateMetrics extends AbstractMetricsImpl implements Ta createMetric(waLogWriteTime); createMetric(commitTime); } - + }
