| <!-- |
| 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= <current thread name></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= <current thread name></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= <current thread name></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= <current thread name></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= <current thread name></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= <thread name></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> |