Apache Accumulo Documentation : Metrics

As of version 1.2, metrics for the Master, Tablet Servers, and Loggers 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.

Master Metrics

JMX Object Name: org.apache.accumulo.server.metrics:type=MasterMetricsMBean,name= <current thread name>

Method NameDescription
public long getPingCount();Number of pings to tablet servers
public long getPingAvgTime();Average time for each ping
public long getPingMinTime();Minimum time for each ping
public long getPingMaxTime();Maximum time for each ping
public String getTServerWithHighestPingTime();tablet server with highest ping
public void reset();Resets all counters to zero

Logging Server Metrics

JMX Object Name: org.apache.accumulo.server.metrics:type=LogWriterMBean,name= <current thread name>

Method NameDescription
public long getCloseCount();Number of closed log files
public long getCloseAvgTime();Average time to close a log file
public long getCloseMinTime();Minimum time to close a log file
public long getCloseMaxTime();Maximum time to close a log file
public long getCopyCount();Number of log files copied
public long getCopyAvgTime();Average time to copy a log file
public long getCopyMinTime();Minimum time to copy a log file
public long getCopyMaxTime();Maximum time to copy a log file
public long getCreateCount();Number of log files created
public long getCreateMinTime();Minimum time to create a log file
public long getCreateMaxTime();Maximum time to create a log file
public long getCreateAvgTime();Average time to create a log file
public long getLogAppendCount();Number of times logs have been appended
public long getLogAppendMinTime();Minimum time to append to a log file
public long getLogAppendMaxTime();Maximum time to append to a log file
public long getLogAppendAvgTime();Average time to append to a log file
public long getLogFlushCount();Number of log file flushes
public long getLogFlushMinTime();Minimum time to flush a log file
public long getLogFlushMaxTime();Maximum time to flush a log file
public long getLogFlushAvgTime();Average time to flush a log file
public long getLogExceptionCount();Number of log exceptions
public void reset();Resets all counters to zero

Tablet Server Metrics

JMX Object Name: org.apache.accumulo.server.metrics:type=TabletServerMBean,name= <current thread name>

Method NameDescription
public int getOnlineCount();Number of tablets online
public int getOpeningCount();Number of tablets that are being opened
public int getUnopenedCount();Number or unopened tablets
public int getMajorCompactions();Number of Major Compactions currently running
public int getMajorCompactionsQueued();Number of Major Compactions yet to run
public int getMinorCompactions();Number of Minor Compactions currently running
public int getMinorCompactionsQueued();Number of Minor Compactions yet to run
public int getShutdownStage();Current stage in the shutdown process
public long getEntries();Number of entries in all the tablets
public long getEntriesInMemory();Number of entries in memory on all tablet servers
public long getQueries();Number of queries currently running on all the tablet servers
public long getIngest();Number of entries currently being ingested on all the tablet servers
public long getTotalMinorCompactions();Number of Minor Compactions completed
public double getHoldTime();Number of seconds that ingest is waiting for memory to be freed on tablet servers
public String getName();Address of the master

Tablet Server Minor Compaction Metrics

JMX Object Name: org.apache.accumulo.server.metrics:type=TabletServerMinCMetricsMBean,name= <current thread name>

Method NameDescription
public long getMinorCompactionCount();Number of completed Minor Compactions on all tablet servers
public long getMinorCompactionAvgTime();Average time to complete Minor Compaction
public long getMinorCompactionMinTime();Minimum time to complete Minor Compaction
public long getMinorCompactionMaxTime();Maximum time to complete Minor Compaction
public long getMinorCompactionQueueCount();Number of Minor Compactions yet to be run
public long getMinorCompactionQueueAvgTime();Average time Minor Compaction is in the queue
public long getMinorCompactionQueueMinTime();Minimum time Minor Compaction is in the queue
public long getMinorCompactionQueueMaxTime();Maximum time Minor Compaction is in the queue
public void reset();Resets all counters to zero

Tablet Server Scan Metrics

JMX Object Name: org.apache.accumulo.server.metrics:type=TabletServerScanMetricsMBean,name= <current thread name>

Method NameDescription
public long getScanCount();Number of scans completed
public long getScanAvgTime();Average time for scan operation
public long getScanMinTime();Minimum time for scan operation
public long getScanMaxTime();Maximum time for scan operation
public long getResultCount();Number of scans that returned a result
public long getResultAvgSize();Average size of scan result
public long getResultMinSize();Minimum size of scan result
public long getResultMaxSize();Maximum size of scan result
public void reset();Resets all counters to zero

Tablet Server Update Metrics

JMX Object Name: org.apache.accumulo.server.metrics:type=TabletServerUpdateMetricsMBean,name= <current thread name>

Method NameDescription
public long getPermissionErrorCount();Number of permission errors
public long getUnknownTabletErrorCount();Number of unknown tablet errors
public long getMutationArrayAvgSize();Average size of mutation array
public long getMutationArrayMinSize();Minimum size of mutation array
public long getMutationArrayMaxSize();Maximum size of mutation array
public long getCommitPrepCount();Number of commit preparations
public long getCommitPrepMinTime();Minimum time for commit preparation
public long getCommitPrepMaxTime();Maximum time for commit preparatation
public long getCommitPrepAvgTime();Average time for commit preparation
public long getConstraintViolationCount();Number of constraint violations
public long getWALogWriteCount();Number of writes to the Write Ahead Log
public long getWALogWriteMinTime();Minimum time of a write to the Write Ahead Log
public long getWALogWriteMaxTime();Maximum time of a write to the Write Ahead Log
public long getWALogWriteAvgTime();Average time of a write to the Write Ahead Log
public long getCommitCount();Number of commits
public long getCommitMinTime();Minimum time for a commit
public long getCommitMaxTime();Maximum time for a commit
public long getCommitAvgTime();Average time for a commit
public void reset();Resets all counters to zero

Thrift Server Metrics

JMX Object Name: org.apache.accumulo.server.metrics:type=ThriftMetricsMBean,name= <thread name>

Method NameDescription
public long getIdleCount();Number of times the Thrift server has been idle
public long getIdleMinTime();Minimum amount of time the Thrift server has been idle
public long getIdleMaxTime();Maximum amount of time the Thrift server has been idle
public long getIdleAvgTime();Average time the Thrift server has been idle
public long getExecutionCount();Number of calls processed by the Thrift server
public long getExecutionMinTime();Minimum amount of time executing method
public long getExecutionMaxTime();Maximum amount of time executing method
public long getExecutionAvgTime();Average time executing methods
public void reset();Resets all counters to zero