blob: 7ddef6ebd694f329f35d6d098c13ad8f6b16b360 [file] [log] [blame]
<!--
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.
-->
<html>
<head>
<title>Accumulo Metrics</title>
<link rel='stylesheet' type='text/css' href='documentation.css' media='screen'/>
</head>
<body>
<h1>Apache Accumulo Documentation : Metrics</h1>
As of version 1.2, metrics for the Master and Tablet Servers are available. A new configuration file, accumulo-metrics.xml, is located in the conf directory and can
be modified to turn metrics collection on or off, and to enable file logging if desired. This file can be modified at runtime and the changes will be seen after a few seconds.
Except where specified all time values are in milliseconds.
<h1>Master Metrics</h1>
<p>JMX Object Name: org.apache.accumulo.server.metrics:type=MasterMetricsMBean,name= &lt;current thread name&gt;</p>
<table>
<thead>
<tr><td>Method Name</td><td>Description</td></tr>
</thead>
<tbody>
<tr class="highlight"><td>public long getPingCount();</td><td>Number of pings to tablet servers</td></tr>
<tr><td>public long getPingAvgTime();</td><td>Average time for each ping</td></tr>
<tr class="highlight"><td>public long getPingMinTime();</td><td>Minimum time for each ping</td></tr>
<tr><td>public long getPingMaxTime();</td><td>Maximum time for each ping</td></tr>
<tr class="highlight"><td>public String getTServerWithHighestPingTime();</td><td>tablet server with highest ping</td></tr>
<tr><td>public void reset();</td><td>Resets all counters to zero</td></tr>
</tbody>
</table>
<h1>Tablet Server Metrics</h1>
<p>JMX Object Name: org.apache.accumulo.server.metrics:type=TabletServerMBean,name= &lt;current thread name&gt;</p>
<table>
<thead>
<tr><td>Method Name</td><td>Description</td></tr>
</thead>
<tbody>
<tr class="highlight"><td>public int getOnlineCount();</td><td>Number of tablets online</td></tr>
<tr><td>public int getOpeningCount();</td><td>Number of tablets that are being opened</td></tr>
<tr class="highlight"><td>public int getUnopenedCount();</td><td>Number or unopened tablets</td></tr>
<tr><td>public int getMajorCompactions();</td><td>Number of Major Compactions currently running</td></tr>
<tr class="highlight"><td>public int getMajorCompactionsQueued();</td><td>Number of Major Compactions yet to run</td></tr>
<tr><td>public int getMinorCompactions();</td><td>Number of Minor Compactions currently running</td></tr>
<tr class="highlight"><td>public int getMinorCompactionsQueued();</td><td>Number of Minor Compactions yet to run</td></tr>
<tr><td>public int getShutdownStage();</td><td>Current stage in the shutdown process</td></tr>
<tr class="highlight"><td>public long getEntries();</td><td>Number of entries in all the tablets</td></tr>
<tr><td>public long getEntriesInMemory();</td><td>Number of entries in memory on all tablet servers</td></tr>
<tr class="highlight"><td>public long getQueries();</td><td>Number of queries currently running on all the tablet servers</td></tr>
<tr><td>public long getIngest();</td><td>Number of entries currently being ingested on all the tablet servers</td></tr>
<tr class="highlight"><td>public long getTotalMinorCompactions();</td><td>Number of Minor Compactions completed</td></tr>
<tr><td>public double getHoldTime();</td><td>Number of seconds that ingest is waiting for memory to be freed on tablet servers</td></tr>
<tr class="highlight"><td>public String getName();</td><td>Address of the master</td></tr>
</tbody>
</table>
<h1>Tablet Server Minor Compaction Metrics</h1>
<p>JMX Object Name: org.apache.accumulo.server.metrics:type=TabletServerMinCMetricsMBean,name= &lt;current thread name&gt;</p>
<table>
<thead>
<tr><td>Method Name</td><td>Description</td></tr>
</thead>
<tbody>
<tr class="highlight"><td>public long getMinorCompactionCount();</td><td>Number of completed Minor Compactions on all tablet servers</td></tr>
<tr><td>public long getMinorCompactionAvgTime();</td><td>Average time to complete Minor Compaction</td></tr>
<tr class="highlight"><td>public long getMinorCompactionMinTime();</td><td>Minimum time to complete Minor Compaction</td></tr>
<tr><td>public long getMinorCompactionMaxTime();</td><td>Maximum time to complete Minor Compaction</td></tr>
<tr class="highlight"><td>public long getMinorCompactionQueueCount();</td><td>Number of Minor Compactions yet to be run</td></tr>
<tr><td>public long getMinorCompactionQueueAvgTime();</td><td>Average time Minor Compaction is in the queue</td></tr>
<tr class="highlight"><td>public long getMinorCompactionQueueMinTime();</td><td>Minimum time Minor Compaction is in the queue</td></tr>
<tr><td>public long getMinorCompactionQueueMaxTime();</td><td>Maximum time Minor Compaction is in the queue</td></tr>
<tr class="highlight"><td>public void reset();</td><td>Resets all counters to zero</td></tr>
</tbody>
</table>
<h1>Tablet Server Scan Metrics</h1>
<p>JMX Object Name: org.apache.accumulo.server.metrics:type=TabletServerScanMetricsMBean,name= &lt;current thread name&gt;</p>
<table>
<thead>
<tr><td>Method Name</td><td>Description</td></tr>
</thead>
<tbody>
<tr class="highlight"><td>public long getScanCount();</td><td>Number of scans completed</td></tr>
<tr><td>public long getScanAvgTime();</td><td>Average time for scan operation</td></tr>
<tr class="highlight"><td>public long getScanMinTime();</td><td>Minimum time for scan operation</td></tr>
<tr><td>public long getScanMaxTime();</td><td>Maximum time for scan operation</td></tr>
<tr class="highlight"><td>public long getResultCount();</td><td>Number of scans that returned a result</td></tr>
<tr><td>public long getResultAvgSize();</td><td>Average size of scan result</td></tr>
<tr class="highlight"><td>public long getResultMinSize();</td><td>Minimum size of scan result</td></tr>
<tr><td>public long getResultMaxSize();</td><td>Maximum size of scan result</td></tr>
<tr class="highlight"><td>public void reset();</td><td>Resets all counters to zero</td></tr>
</tbody>
</table>
<h1>Tablet Server Update Metrics</h1>
<p>JMX Object Name: org.apache.accumulo.server.metrics:type=TabletServerUpdateMetricsMBean,name= &lt;current thread name&gt;</p>
<table>
<thead>
<tr><td>Method Name</td><td>Description</td></tr>
</thead>
<tbody>
<tr class="highlight"><td>public long getPermissionErrorCount();</td><td>Number of permission errors</td></tr>
<tr><td>public long getUnknownTabletErrorCount();</td><td>Number of unknown tablet errors</td></tr>
<tr class="highlight"><td>public long getMutationArrayAvgSize();</td><td>Average size of mutation array</td></tr>
<tr><td>public long getMutationArrayMinSize();</td><td>Minimum size of mutation array</td></tr>
<tr class="highlight"><td>public long getMutationArrayMaxSize();</td><td>Maximum size of mutation array</td></tr>
<tr><td>public long getCommitPrepCount();</td><td>Number of commit preparations</td></tr>
<tr class="highlight"><td>public long getCommitPrepMinTime();</td><td>Minimum time for commit preparation</td></tr>
<tr><td>public long getCommitPrepMaxTime();</td><td>Maximum time for commit preparatation</td></tr>
<tr class="highlight"><td>public long getCommitPrepAvgTime();</td><td>Average time for commit preparation</td></tr>
<tr><td>public long getConstraintViolationCount();</td><td>Number of constraint violations</td></tr>
<tr class="highlight"><td>public long getWALogWriteCount();</td><td>Number of writes to the Write Ahead Log</td></tr>
<tr><td>public long getWALogWriteMinTime();</td><td>Minimum time of a write to the Write Ahead Log</td></tr>
<tr class="highlight"><td>public long getWALogWriteMaxTime();</td><td>Maximum time of a write to the Write Ahead Log</td></tr>
<tr><td>public long getWALogWriteAvgTime();</td><td>Average time of a write to the Write Ahead Log</td></tr>
<tr class="highlight"><td>public long getCommitCount();</td><td>Number of commits</td></tr>
<tr><td>public long getCommitMinTime();</td><td>Minimum time for a commit</td></tr>
<tr class="highlight"><td>public long getCommitMaxTime();</td><td>Maximum time for a commit</td></tr>
<tr><td>public long getCommitAvgTime();</td><td>Average time for a commit</td></tr>
<tr class="highlight"><td>public void reset();</td><td>Resets all counters to zero</td></tr>
</tbody>
</table>
<h1>Thrift Server Metrics</h1>
<p>JMX Object Name: org.apache.accumulo.server.metrics:type=ThriftMetricsMBean,name= &lt;thread name&gt;</p>
<table>
<thead>
<tr><td>Method Name</td><td>Description</td></tr>
</thead>
<tbody>
<tr class="highlight"><td>public long getIdleCount();</td><td>Number of times the Thrift server has been idle</td></tr>
<tr><td>public long getIdleMinTime();</td><td>Minimum amount of time the Thrift server has been idle</td></tr>
<tr class="highlight"><td>public long getIdleMaxTime();</td><td>Maximum amount of time the Thrift server has been idle</td></tr>
<tr><td>public long getIdleAvgTime();</td><td>Average time the Thrift server has been idle</td></tr>
<tr class="highlight"><td>public long getExecutionCount();</td><td>Number of calls processed by the Thrift server</td></tr>
<tr><td>public long getExecutionMinTime();</td><td>Minimum amount of time executing method</td></tr>
<tr class="highlight"><td>public long getExecutionMaxTime();</td><td>Maximum amount of time executing method</td></tr>
<tr><td>public long getExecutionAvgTime();</td><td>Average time executing methods</td></tr>
<tr class="highlight"><td>public void reset();</td><td>Resets all counters to zero</td></tr>
</tbody>
</table>
</body>
</html>