You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by Apache Wiki <wi...@apache.org> on 2012/08/30 17:40:42 UTC

[Cassandra Wiki] Update of "Metrics" by yukim

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Cassandra Wiki" for change notification.

The "Metrics" page has been changed by yukim:
http://wiki.apache.org/cassandra/Metrics

New page:
= Cassandra Metrics =

This page describes new metrics([[https://issues.apache.org/jira/browse/CASSANDRA-4009|CASSANDRA-4009]]) planned in upcoming version 1.2.

== Overview ==

Apache Cassandra version 1.1 introduced metrics using [[https://github.com/codahale/metrics|Codahale's Metrics library]]. The library enables easier exposure of metrics and integration with other systems.
What you can get from metrics are basically the same with 1.1 but reimplemented and put them in order using Metrics library. You can still query using old JMX paths,
but they are deprecated and may be removed in future version.

As of version 1.2, Cassandra exposes following group of metrics.

 * [[#cache|Cache]]
 * [[#clientrequest|Client Request]]
 * [[#columnfamily|ColumnFamily]]
 * [[#commitlog|Commit Log]]
 * [[#compaction|Compaction]]
 * [[#connection|Connection]]
 * [[#droppedmessage|Dropped Message]]
 * [[#streaming|Streaming]]
 * [[#storage|Storage]]
 * [[#threadpool|Thread Pool]]

<<Anchor(cache)>>
== Cache (5 metrics/cache) ==

Cache metrics are created per cache type (key cache, row cache).

=== Codahale Metric Name ===

This section shows defined !MetricName properties.

|| group || org.apache.cassandra.metrics ||
|| type  || Cache                        ||
|| scope || !KeyCache or !RowCache       ||
|| name  || name of metric               ||

=== JMX Object Name ===

This section shows JMX !ObjectName for easy category.

{{{ org.apache.cassandra.metrics:type=Cache,scope=(Cache type),name=(Metric name) }}}

=== Metrics ===

!CapacityInBytes
: Cache capacity in bytes.

Hits
: Cache hit count.

!HitRate
: Cache hit rate.

Requests
: Cache request count.

Size
: Cache size in bytes.

<<Anchor(clientrequest)>>
== Client Request (4 metrics/request type) ==

Metrics for read/range slice/write client request.

=== Codahale Metric Name ===

|| group || org.apache.cassandra.metrics ||
|| type  || !ClientRequest               ||
|| scope || Read or Write or !RangeSlice ||
|| name  || name of metric               ||

=== JMX Object Name ===

{{{ org.apache.cassandra.metrics:type=ClientRequest,scope=(Read|Write|RangeSlice),name=(Metric name) }}}

=== Metrics ===

Latency
: Latency statistics.

!TotalLatency
: Total latecy in micro seconds.

Timeouts
: Total number of timeout requests. More precisely, total number of !TimeoutException thrown.

Unavailables
: Total number of unavailable requests. More precisely, total number of !UnavailableException thrown.

== ColumnFamily (23 metrics/ColumnFamily) ==

!ColumnFamily metrics are created per !ColumnFamily.

=== Codahale Metric Name ===

|| group || org.apache.cassandra.metrics         ||
|| type  || !ColumnFamily or !IndexColumnFamily  ||
|| scope || (Keyspace name).(!ColumnFamily name) ||
|| name  || name of metric                       ||

If !ColumnFamily is for secondary index, then ''type'' will be ''IndexColumnFamily''.

=== JMX Object Name ===

{{{ org.apache.cassandra.metrics:type=(ColumnFamily|IndexColumnFamily),keyspace=(Keyspace name),scope=(ColumnFamily Name),name=(Metric name) }}}

=== Metrics ===

!BloomFilterDiskSpaceUsed
: Disk space used by bloom filter.

!BloomFilterFalsePositives
: Number of false positives for bloom filter.

!BloomFilterFalseRatio
: False positive ratio of bloom filter.

!CompressionRatio
: Current compression ratio for all SSTables.

!EstimatedRowSizeHistogram
: Histogram of estimated row size (in bytes).

!EstimatedColumnCountHistogram
: Histogram of estimated number of columns.

!LiveDiskSpaceUsed
: Disk space used by 'live' SSTables.

LiveSSTableCount
: Number of 'livw' SSTables.

!MaxRowSize
: Size of the largest compacted row.

!MeanRowSize
: Mean size of compacted rows.

!MemtableColumnsCount
: Total number of columns present in memtable.

!MemtableDataSize
: Total amount of data stored in memtable, including column related overhead.

!MemtableSwitchCount
: Number of times flushing has resulted in memtable being switched out.

!MinRowSize
: Size of the smallest compacted row.

!PendingTasks
: Estimated number of tasks pending.

!ReadLatency
: Read latency statistics.

!ReadTotalLatency
: Total latecy in micro seconds for reads.

!RecentBloomFilterFalsePositives
: Number of false positives since last check.

!RecentBloomFilterFalseRatio
: False positive ratio since last check.

SSTablesPerReadHistogram
: Histogram of the number of SSTables accessed per read.

!TotalDiskSpaceUsed
: Total disk space used by SSTables including obsolete ones waiting to be GC'd.

!WriteLatency
: Write latency statistics.

!WriteTotalLatency
: Total latecy in micro seconds for writes.

<<Anchor(commitlog)>>
== Commit Log (3 metrics) ==

=== Codahale Metric Name ===

|| group || org.apache.cassandra.metrics ||
|| type  || !CommitLog                   ||
|| name  || name of metric               ||

=== JMX Object Name ===

{{{ org.apache.cassandra.metrics:type=CommitLog,name=(Metric name) }}}

=== Metrics ===

!CompletedTasks
: Approximate number of completed task.

!PendingTasks
: Approximate number of pending task.

!TotalCommitLogSize
: Current data size of all commit log segments.

<<Anchor(compaction)>>
== Compaction (4 metrics) ==

=== Codahale Metric Name ===

|| group || org.apache.cassandra.metrics ||
|| type  || Compaction                   ||
|| name  || name of metric               ||

=== JMX Object Name ===

{{{ org.apache.cassandra.metrics:type=Compaction,name=(Metric name) }}}

=== Metrics ===

!CompletedTasks
: Estimated number of completed compaction tasks.

!PendingTasks
: Estimated number of pending compaction tasks.

!BytesCompacted
: Number of bytes compacted since node started.

!TotalCompactionsCompleted
: Estimated number of completed compaction tasks.

<<Anchor(connection)>>
== Connection (1 global metrics, 6 metrics / connection) ==

=== Codahale Metric Name ===

|| group || org.apache.cassandra.metrics       ||
|| type  || Connection                         ||
|| scope || IP address (if not global metrics) ||
|| name  || name of metric                     ||

=== JMX Object Name ===

{{{ org.apache.cassandra.metrics:type=Connection,name=(Metric name) }}}

{{{ org.apache.cassandra.metrics:type=Connection,scope=(IP address),name=(Metric name) }}}

=== Metrics (Global) ===

!TotalTimeouts
: Total number of timeouts occurred for this node.

=== Metrics (Per connection) ===

!CommandPendingTasks
: Number of messages to send.

!CommandCompletedTasks
: Number of messages sent.

!CommandDroppedTasks
: Number of messages dropped.

!ResponsePendingTasks
: Number of messages to respond.

!ResponseCompletedTasks
: Number of messages responded.

Timeout
: Number of timeouts occurred for this connection.

<<Anchor(droppedmessage)>>
== Dropped Message (1 metrics/droppable message) ==

=== Codahale Metric Name ===

|| group || org.apache.cassandra.metrics ||
|| type  || !DroppedMessage              ||
|| scope || Verb of droppable message    ||
|| name  || name of metric               ||

=== JMX Object Name ===

{{{ org.apache.cassandra.metrics:type=DroppedMessage,scope=(Verb),name=(Metric name) }}}

=== Metrics ===

Dropped
: Total number of dropped message for this verb.

<<Anchor(streaming)>>
== Streaming (3 global metrics, 2 metrics / connection) ==

=== Codahale Metric Name ===

|| group || org.apache.cassandra.metrics       ||
|| type  || Streaming                          ||
|| scope || IP address (if not global metrics) ||
|| name  || name of metric                     ||

=== JMX Object Name ===

{{{ org.apache.cassandra.metrics:type=Streaming,name=(Metric name) }}}

{{{ org.apache.cassandra.metrics:type=Streaming,scope=(IP address),name=(Metric name) }}}

=== Metrics (Global) ===

!ActiveOutboundStreams
: Currently active outbound streams.

!TotalIncomingBytes
: Total incoming bytes received since node started.

!TotalOutgoingBytes
: Total outgoing bytes sent since node started.

=== Metrics (Per connection) ===

!IncomingBytes
: Incoming bytes received from specific node.

!OutgoingBytes
: Outgoing bytes sent to specific node.

<<Anchor(storage)>>
== Storage (1 metric) ==

=== Codahale Metric Name ===

|| group || org.apache.cassandra.metrics ||
|| type  || Storage                      ||
|| name  || name of metric               ||

=== JMX Object Name ===

{{{ org.apache.cassandra.metrics:type=Storage,name=(Metric name) }}}

=== Metrics ===

Load
: Total disk space used (in bytes) for this node.

<<Anchor(threadpool)>>
== Thread Pool (5 metrics/thread pool) ==

=== Codahale Metric Name ===

|| group || org.apache.cassandra.metrics ||
|| type  || !ThreadPool                  ||
|| scope || (path).(Thread pool name)    ||
|| name  || name of metric               ||

(path) is either ''internal'' or ''request'', based on the usage of thread pool.

=== JMX Object Name ===

{{{ org.apache.cassandra.metrics:type=ThreadPool,path=(type),scope=(Thread pool name),name=(Metric name) }}}

=== Metrics ===

!ActiveTasks
: Approximate number of tasks thread pool is actively executing.

!CompletedTasks
: Approximate total number of tasks thread pool has completed execution.
    
!CurrentlyBlockedTasks
: Number of currently blocked tasks.

!PendingTasks
: Approximate number of pending tasks thread pool has.
    
!TotalBlockedTasks
: Total number of blocked tasks since node start up.