blob: 385d94a94e0481ec133a452821e86b85b1360a9b [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>Monitoring | Apache Cassandra Documentation</title>
<link rel="stylesheet" href="../../../../assets/css/site.css">
<link rel="schema.dcterms" href="https://purl.org/dc/terms/">
<meta name="dcterms.subject" content="Cassandra">
<meta name="dcterms.identifier" content="3.11">
<meta name="generator" content="Antora 2.3.4">
<link rel="icon" href="../../../../assets/img/favicon.ico" type="image/x-icon">
<script>
const script = document.createElement("script");
const domain = window.location.hostname;
script.type = "text/javascript";
script.src = "https://plausible.cassandra.apache.org/js/plausible.js";
script.setAttribute("data-domain",domain);
script.setAttribute("defer",'true');
script.setAttribute("async",'true');
document.getElementsByTagName("head")[0].appendChild(script);
</script> </head>
<body class="docs-wrapper article">
<div class="container mx-auto relative">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<meta property="og:type" content="website" />
<meta property="og:url" content="/" />
<meta property="og:site_name" content="Apache Cassandra" />
<header id="top-nav">
<div class="inner relative">
<div class="header-social-icons text-right">
<a href="https://twitter.com/cassandra?lang=en" target="_blank" styles="margin-left: 20px;"><img src="../../../../assets/img/twitter-icon-circle-white.svg" alt="twitter icon" width="24"></a>
<a href="https://www.linkedin.com/company/apache-cassandra/" target="_blank" styles="margin-left: 20px;"><img src="../../../../assets/img/LI-In-Bug.png" alt="linked-in icon" width="24"></a>
<a href="https://www.youtube.com/c/PlanetCassandra" target="_blank" styles="margin-left: 20px;"><img src="../../../../assets/img/youtube-icon.png" alt="youtube icon" width="24"></a>
</div>
<div class="cf">
<div class="logo left"><a href="/"><img src="../../../../assets/img/logo-white-r.png" alt="Cassandra Logo"></a></div>
<div class="mobile-nav-icon right">
<img class="toggle-icon" src="../../../../assets/img/hamburger-nav.svg">
</div>
<ul class="main-nav nav-links right flex flex-vert-center flex-space-between">
<li>
<a class="nav-link hide-mobile">Get Started</a>
<ul class="sub-menu bg-white">
<li class="pa-micro">
<a href="/_/cassandra-basics.html">
<div class="sub-nav-icon">
<img src="../../../../assets/img/sub-menu-basics.png" alt="cassandra basics icon">
</div>
<div class="sub-nav-text teal py-small">
Cassandra Basics
</div>
</a>
</li>
<li class="pa-micro">
<a href="/_/quickstart.html">
<div class="sub-nav-icon">
<img src="../../../../assets/img/sub-menu-rocket.png" alt="cassandra basics icon">
</div>
<div class="sub-nav-text teal py-small">
Quickstart
</div>
</a>
</li>
<li class="pa-micro">
<a href="/_/ecosystem.html">
<div class="sub-nav-icon">
<img src="../../../../assets/img/sub-menu-ecosystem.png" alt="cassandra basics icon">
</div>
<div class="sub-nav-text teal py-small">
Ecosystem
</div>
</a>
</li>
</ul>
</li>
<li><a class="nav-link" href="/doc/latest/">Documentation</a></li>
<li>
<a class="nav-link" href="/_/community.html">Community</a>
<ul class="sub-menu bg-white">
<li class="pa-micro">
<a href="/_/community.html#code-of-conduct">
<div class="sub-nav-icon">
<img src="../../../../assets/img/sub-menu-welcome.png" alt="welcome icon">
</div>
<div class="sub-nav-text teal py-small">
Welcome
</div>
</a>
</li>
<li class="pa-micro hide-mobile">
<a href="/_/community.html#discussions">
<div class="sub-nav-icon">
<img src="../../../../assets/img/sub-menu-discussions.png" alt="discussions icon">
</div>
<div class="sub-nav-text teal py-small">
Discussions
</div>
</a>
</li>
<li class="pa-micro hide-mobile">
<a href="/_/community.html#project-governance">
<div class="sub-nav-icon">
<img src="../../../../assets/img/sub-menu-governance.png" alt="Governance icon">
</div>
<div class="sub-nav-text teal py-small">
Governance
</div>
</a>
</li>
<li class="pa-micro hide-mobile">
<a href="/_/community.html#how-to-contribute">
<div class="sub-nav-icon">
<img src="../../../../assets/img/sub-menu-contribute.png" alt="Contribute icon">
</div>
<div class="sub-nav-text teal py-small">
Contribute
</div>
</a>
</li>
<li class="pa-micro hide-mobile">
<a href="/_/community.html#meet-the-community">
<div class="sub-nav-icon">
<img src="../../../../assets/img/sub-menu-community.png" alt="Meet the Community icon">
</div>
<div class="sub-nav-text teal py-small">
Meet the Community
</div>
</a>
</li>
<li class="pa-micro hide-mobile">
<a href="/_/cassandra-catalyst-program.html">
<div class="sub-nav-icon">
<img src="../../../../assets/img/sub-menu-catalyst.png" alt="Catalyst icon">
</div>
<div class="sub-nav-text teal py-small">
Catalyst Program
</div>
</a>
</li>
<li class="pa-micro hide-mobile">
<a href="/_/events.html">
<div class="sub-nav-icon">
<img src="../../../../assets/img/sub-menu-events.png" alt="Events icon">
</div>
<div class="sub-nav-text teal py-small">
Events
</div>
</a>
</li>
</ul>
</li>
<li>
<a class="nav-link hide-mobile">Learn</a>
<ul class="sub-menu bg-white">
<li class="pa-micro">
<a href="/_/Apache-Cassandra-5.0-Moving-Toward-an-AI-Driven-Future.html">
<div class="sub-nav-icon">
<img src="../../../../assets/img/sub-menu-basics.png" alt="Basics icon">
</div>
<div class="sub-nav-text teal py-small">
Cassandra 5.0
</div>
</a>
</li>
<li class="pa-micro">
<a href="/_/case-studies.html">
<div class="sub-nav-icon">
<img src="../../../../assets/img/sub-menu-case-study.png" alt="Case Studies icon">
</div>
<div class="sub-nav-text teal py-small">
Case Studies
</div>
</a>
</li>
<li class="pa-micro">
<a href="/_/resources.html">
<div class="sub-nav-icon">
<img src="../../../../assets/img/sub-menu-resources.png" alt="Resources icon">
</div>
<div class="sub-nav-text teal py-small">
Resources
</div>
</a>
</li>
<li class="pa-micro">
<a href="/_/blog.html">
<div class="sub-nav-icon">
<img src="../../../../assets/img/sub-menu-blog.png" alt="Blog icon">
</div>
<div class="sub-nav-text teal py-small">
Blog
</div>
</a>
</li>
</ul>
</li>
<li><a class="nav-link btn btn--filled" href="/_/download.html">Download Now</a></li>
</ul>
</div>
</div>
</header>
<div class="hero hero--home grad">
<div class="eye"></div>
<div id="docs-content" class="text-center flex flex-center flex-column relative z2 ma-xlarge">
<h2>Cassandra Documentation</h2>
</div>
</div>
<div class="body px-medium py-medium container">
<div class="docs-nav-bar flex flex-space-between mb-medium">
<div id="mobile-docs-nav-burger" class="hidden">
<svg viewBox="0 0 24 24" width="36" height="36" stroke="#1c81a0" stroke-width="2.5" fill="none" stroke-linecap="round" stroke-linejoin="round" class="css-i6dzq1"><line x1="3" y1="12" x2="21" y2="12"></line><line x1="3" y1="6" x2="21" y2="6"></line><line x1="3" y1="18" x2="21" y2="18"></line></svg>
</div>
<div class="docs-nav-item relative">
<input id="search-input" type="text" placeholder="Search docs">
</div>
<div class="versions-wrapper">
<h4>Version:</h4>
<div class="nav-panel-explore" data-panel="explore">
<div id="version-toggle" class="context">
<span class="version">3.11</span>
</div>
<ul id="versions-list" class="components">
<li class="component">
<ul class="versions">
<li class="version is-latest">
<a href="../../../../_/index.html">master</a>
</li>
</ul>
</li>
<li class="component is-current">
<ul class="versions">
<li class="version">
<a href="../../../trunk/index.html">trunk</a>
</li>
<li class="version">
<a href="../../../5.0/index.html">5.0</a>
</li>
<li class="version is-latest">
<a href="../../../4.1/index.html">4.1</a>
</li>
<li class="version">
<a href="../../../4.0/index.html">4.0</a>
</li>
<li class="version is-current">
<a href="../../index.html">3.11</a>
</li>
</ul>
</li>
</ul>
</div>
</div> </div>
<div class="cf relative">
<nav class="nav docs-nav full-800">
<div class="nav-menu">
<ul class="nav-list">
<li class="nav-item is-active" data-depth="0">
<ul class="nav-list">
<li class="nav-item" data-depth="1">
<span class="nav-line">
<button class="nav-toggle"></button>
<a class="nav-link" href="../../index.html">Main</a>
</span>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<span class="nav-line">
<a class="nav-link" href="../../../../_/glossary.html">Glossary</a>
</span>
</li>
<li class="nav-item" data-depth="2">
<span class="nav-line">
<a class="nav-link" href="../../../../_/bugs.html">How to report bugs</a>
</span>
</li>
<li class="nav-item" data-depth="2">
<span class="nav-line">
<a class="nav-link" href="../../../../_/contactus.html">Contact us</a>
</span>
</li>
</ul>
</li>
</ul>
</li>
<li class="nav-item is-active" data-depth="0">
<ul class="nav-list">
<li class="nav-item is-current-path is-active" data-depth="1">
<span class="nav-line">
<button class="nav-toggle"></button>
<span class="nav-text">Cassandra</span>
</span>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<span class="nav-line">
<button class="nav-toggle"></button>
<a class="nav-link" href="../getting_started/index.html">Getting Started</a>
</span>
<ul class="nav-list">
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../getting_started/installing.html">Installing Cassandra</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../getting_started/configuring.html">Configuring Cassandra</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../getting_started/querying.html">Inserting and querying</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../getting_started/drivers.html">Client drivers</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../getting_started/production.html">Production recommendations</a>
</span>
</li>
</ul>
</li>
<li class="nav-item" data-depth="2">
<span class="nav-line">
<button class="nav-toggle"></button>
<a class="nav-link" href="../architecture/index.html">Architecture</a>
</span>
<ul class="nav-list">
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../architecture/overview.html">Overview</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../architecture/dynamo.html">Dynamo</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../architecture/storage_engine.html">Storage engine</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../architecture/guarantees.html">Guarantees</a>
</span>
</li>
</ul>
</li>
<li class="nav-item" data-depth="2">
<span class="nav-line">
<button class="nav-toggle"></button>
<a class="nav-link" href="../data_modeling/index.html">Data modeling</a>
</span>
<ul class="nav-list">
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../data_modeling/intro.html">Introduction</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../data_modeling/data_modeling_conceptual.html">Conceptual data modeling</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../data_modeling/data_modeling_rdbms.html">RDBMS design</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../data_modeling/data_modeling_queries.html">Defining application queries</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../data_modeling/data_modeling_logical.html">Logical data modeling</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../data_modeling/data_modeling_physical.html">Physical data modeling</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../data_modeling/data_modeling_refining.html">Evaluating and refining data models</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../data_modeling/data_modeling_schema.html">Defining database schema</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../data_modeling/data_modeling_tools.html">Cassandra data modeling tools</a>
</span>
</li>
</ul>
</li>
<li class="nav-item" data-depth="2">
<span class="nav-line">
<button class="nav-toggle"></button>
<a class="nav-link" href="../cql/index.html">Cassandra Query Language (CQL)</a>
</span>
<ul class="nav-list">
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../cql/definitions.html">Definitions</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../cql/types.html">Data types</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../cql/ddl.html">Data definition (DDL)</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../cql/dml.html">Data manipulation (DML)</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../cql/operators.html">Operators</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../cql/indexes.html">Secondary indexes</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../cql/mvs.html">Materialized views</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../cql/functions.html">Functions</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../cql/json.html">JSON</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../cql/security.html">Security</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../cql/triggers.html">Triggers</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../cql/appendices.html">Appendices</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../cql/changes.html">Changes</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../cql/SASI.html">SASI</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../cql/cql_singlefile.html">Single file of CQL information</a>
</span>
</li>
</ul>
</li>
<li class="nav-item" data-depth="2">
<span class="nav-line">
<button class="nav-toggle"></button>
<a class="nav-link" href="../configuration/index.html">Configuration</a>
</span>
<ul class="nav-list">
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../configuration/cass_yaml_file.html">cassandra.yaml</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../configuration/cass_rackdc_file.html">cassandra-rackdc.properties</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../configuration/cass_env_sh_file.html">cassandra-env.sh</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../configuration/cass_topo_file.html">cassandra-topologies.properties</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../configuration/cass_cl_archive_file.html">commitlog-archiving.properties</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../configuration/cass_logback_xml_file.html">logback.xml</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../configuration/cass_jvm_options_file.html">jvm-* files</a>
</span>
</li>
</ul>
</li>
<li class="nav-item is-current-path is-active" data-depth="2">
<span class="nav-line">
<button class="nav-toggle"></button>
<a class="nav-link" href="index.html">Operating</a>
</span>
<ul class="nav-list">
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="#operating/snitch.adoc">Snitches</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="topo_changes.html">Topology changes</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="repair.html">Repair</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="hints.html">Hints</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="bloom_filters.html">Bloom filters</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="compression.html">Compression</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="cdc.html">Change Data Capture (CDC)</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="backups.html">Backups</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="bulk_loading.html">Bulk loading</a>
</span>
</li>
<li class="nav-item is-current-page is-active" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="metrics.html">Metrics</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="security.html">Security</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="hardware.html">Hardware</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="audit_logging.html">Audit logging</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="compaction/index.html">Compaction</a>
</span>
</li>
</ul>
</li>
<li class="nav-item" data-depth="2">
<span class="nav-line">
<button class="nav-toggle"></button>
<a class="nav-link" href="../tools/index.html">Tools</a>
</span>
<ul class="nav-list">
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../tools/cqlsh.html">cqlsh: the CQL shell</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../tools/nodetool/nodetool.html">nodetool</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../tools/sstable/index.html">SSTable tools</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../tools/cassandra_stress.html">cassandra-stress</a>
</span>
</li>
</ul>
</li>
<li class="nav-item" data-depth="2">
<span class="nav-line">
<button class="nav-toggle"></button>
<a class="nav-link" href="../troubleshooting/index.html">Troubleshooting</a>
</span>
<ul class="nav-list">
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../troubleshooting/finding_nodes.html">Finding misbehaving nodes</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../troubleshooting/reading_logs.html">Reading Cassandra logs</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../troubleshooting/use_nodetool.html">Using nodetool</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../troubleshooting/use_tools.html">Using external tools to deep-dive</a>
</span>
</li>
</ul>
</li>
<li class="nav-item" data-depth="2">
<span class="nav-line">
<button class="nav-toggle"></button>
<a class="nav-link" href="../../../../_/development/index.html">Development</a>
</span>
<ul class="nav-list">
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../../../../_/development/gettingstarted.html">Getting started</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../../../../_/development/ide.html">Building and IDE integration</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../../../../_/development/testing.html">Testing</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../../../../_/development/patches.html">Contributing code changes</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../../../../_/development/code_style.html">Code style</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../../../../_/development/how_to_review.html">Review checklist</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../../../../_/development/how_to_commit.html">How to commit</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../../../../_/development/documentation.html">Working on documentation</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../../../../_/development/ci.html">Jenkins CI environment</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../../../../_/development/dependencies.html">Dependency management</a>
</span>
</li>
<li class="nav-item" data-depth="3">
<span class="nav-line">
<a class="nav-link" href="../../../../_/development/release_process.html">Release process</a>
</span>
</li>
</ul>
</li>
<li class="nav-item" data-depth="2">
<span class="nav-line">
<a class="nav-link" href="../faq/index.html">FAQ</a>
</span>
</li>
<li class="nav-item" data-depth="2">
<span class="nav-line">
<a class="nav-link" href="../plugins/index.html">Plug-ins</a>
</span>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</nav>
<aside class="toc sidebar">
<div class="toc-menu"></div>
</aside>
<main class="article default-main full-800" data-ceiling="topbar">
<div class="article-banner">
<p>A newer version of this documentation is available.</p>
<a class="btn" href="../../../4.1/cassandra/operating/metrics.html">View Latest</a>
</div>
<div class="article-header">
<nav class="crumbs" aria-label="breadcrumbs">
<ul>
<li class="crumb">Cassandra</li>
<li class="crumb"><a href="index.html">Operating</a></li>
<li class="crumb"><a href="metrics.html">Metrics</a></li>
</ul>
</nav>
<div class="tools" role="navigation">
<ul>
<li class="tool edit"><a href="file:///home/jenkins/working/cassandra/doc/modules/cassandra/pages/operating/metrics.adoc" title="Edit Page" target="_blank" rel="noopener">Edit</a></li>
</ul>
</div>
</div>
<article class="doc">
<h1 class="page">Monitoring</h1>
<div id="preamble">
<div class="sectionbody">
<div class="paragraph">
<p>Metrics in Cassandra are managed using the
<a href="http://metrics.dropwizard.io">Dropwizard Metrics</a> library. These metrics
can be queried via JMX or pushed to external monitoring systems using a
number of
<a href="http://metrics.dropwizard.io/3.1.0/getting-started/#other-reporting">built
in</a> and <a href="http://metrics.dropwizard.io/3.1.0/manual/third-party/">third
party</a> reporter plugins.</p>
</div>
<div class="paragraph">
<p>Metrics are collected for a single node. It&#8217;s up to the operator to use
an external monitoring system to aggregate them.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="metric-types"><a class="anchor" href="#metric-types"></a><a class="link" href="#metric-types">Metric Types</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p>All metrics reported by cassandra fit into one of the following types.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><code>Gauge</code></dt>
<dd>
<p>An instantaneous measurement of a value.</p>
</dd>
<dt class="hdlist1"><code>Counter</code></dt>
<dd>
<p>A gauge for an <code>AtomicLong</code> instance. Typically this is consumed by
monitoring the change since the last call to see if there is a large
increase compared to the norm.</p>
</dd>
<dt class="hdlist1"><code>Histogram</code></dt>
<dd>
<p>Measures the statistical distribution of values in a stream of data.
+
In addition to minimum, maximum, mean, etc., it also measures median,
75th, 90th, 95th, 98th, 99th, and 99.9th percentiles.</p>
</dd>
<dt class="hdlist1"><code>Timer</code></dt>
<dd>
<p>Measures both the rate that a particular piece of code is called and
the histogram of its duration.</p>
</dd>
<dt class="hdlist1"><code>Latency</code></dt>
<dd>
<p>Special type that tracks latency (in microseconds) with a <code>Timer</code> plus
a <code>Counter</code> that tracks the total latency accrued since starting. The
former is useful if you track the change in total latency since the
last check. Each metric name of this type will have 'Latency' and
'TotalLatency' appended to it.</p>
</dd>
<dt class="hdlist1"><code>Meter</code></dt>
<dd>
<p>A meter metric which measures mean throughput and one-, five-, and
fifteen-minute exponentially-weighted moving average throughputs.</p>
</dd>
</dl>
</div>
</div>
</div>
<div class="sect1">
<h2 id="table-metrics"><a class="anchor" href="#table-metrics"></a><a class="link" href="#table-metrics">Table Metrics</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p>Each table in Cassandra has metrics responsible for tracking its state
and performance.</p>
</div>
<div class="paragraph">
<p>The metric names are all appended with the specific <code>Keyspace</code> and
<code>Table</code> name.</p>
</div>
<div class="paragraph">
<p>Reported name format:</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Metric Name</strong></dt>
<dd>
<p><code>org.apache.cassandra.metrics.Table.&lt;MetricName&gt;.&lt;Keyspace&gt;.&lt;Table&gt;</code></p>
</dd>
<dt class="hdlist1"><strong>JMX MBean</strong></dt>
<dd>
<p><code>org.apache.cassandra.metrics:type=Table keyspace=&lt;Keyspace&gt; scope=&lt;Table&gt; name=&lt;MetricName&gt;</code></p>
</dd>
</dl>
</div>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
<div class="title">Note</div>
<div class="paragraph">
<p>There is a special table called &#8216;all&#8217; without a keyspace. This
represents the aggregation of metrics across <strong>all</strong> tables and keyspaces
on the node.
====[cols=",,",options="header",]</p>
</div>
<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 33.3333%;">
<col style="width: 33.3333%;">
<col style="width: 33.3334%;">
</colgroup>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Name</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Type</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Description</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">MemtableOnHeapSize</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Long&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Total amount of data stored in the
memtable that resides <strong>on</strong>-heap, including column related overhead and
partitions overwritten.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">MemtableOffHeapSize</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Long&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Total amount of data stored in the
memtable that resides <strong>off</strong>-heap, including column related overhead and
partitions overwritten.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">MemtableLiveDataSize</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Long&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Total amount of live data stored in
the memtable, excluding any data structure overhead.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">AllMemtablesOnHeapSize</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Long&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Total amount of data stored in the
memtables (2i and pending flush memtables included) that resides
<strong>on</strong>-heap.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">AllMemtablesOffHeapSize</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Long&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Total amount of data stored in
the memtables (2i and pending flush memtables included) that resides
<strong>off</strong>-heap.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">AllMemtablesLiveDataSize</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Long&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Total amount of live data stored
in the memtables (2i and pending flush memtables included) that resides
off-heap, excluding any data structure overhead.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">MemtableColumnsCount</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Long&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Total number of columns present in
the memtable.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">MemtableSwitchCount</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Counter</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Number of times flush has resulted in the
memtable being switched out.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">CompressionRatio</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Double&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Current compression ratio for all
SSTables.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">EstimatedPartitionSizeHistogram</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;long[]&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Histogram of estimated
partition size (in bytes).</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">EstimatedPartitionCount</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Long&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Approximate number of keys in
table.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">EstimatedColumnCountHistogram</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;long[]&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Histogram of estimated
number of columns.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">SSTablesPerReadHistogram</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Histogram</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Histogram of the number of sstable
data files accessed per single partition read. SSTables skipped due to
Bloom Filters, min-max key or partition index lookup are not taken into
acoount.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">ReadLatency</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Latency</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Local read latency for this table.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">RangeLatency</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Latency</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Local range scan latency for this table.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">WriteLatency</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Latency</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Local write latency for this table.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">CoordinatorReadLatency</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Timer</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Coordinator read latency for this table.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">CoordinatorWriteLatency</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Timer</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Coordinator write latency for this
table.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">CoordinatorScanLatency</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Timer</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Coordinator range scan latency for this
table.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">PendingFlushes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Counter</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Estimated number of flush tasks pending for
this table.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">BytesFlushed</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Counter</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Total number of bytes flushed since server
[re]start.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">CompactionBytesWritten</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Counter</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Total number of bytes written by
compaction since server [re]start.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">PendingCompactions</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Integer&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Estimate of number of pending
compactions for this table.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">LiveSSTableCount</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Integer&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Number of SSTables on disk for this
table.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">LiveDiskSpaceUsed</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Counter</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Disk space used by SSTables belonging to
this table (in bytes).</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">TotalDiskSpaceUsed</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Counter</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Total disk space used by SSTables
belonging to this table, including obsolete ones waiting to be GC&#8217;d.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">MinPartitionSize</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Long&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Size of the smallest compacted partition
(in bytes).</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">MaxPartitionSize</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Long&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Size of the largest compacted partition
(in bytes).</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">MeanPartitionSize</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Long&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Size of the average compacted partition
(in bytes).</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">BloomFilterFalsePositives</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Long&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Number of false positives on
table&#8217;s bloom filter.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">BloomFilterFalseRatio</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Double&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">False positive ratio of table&#8217;s
bloom filter.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">BloomFilterDiskSpaceUsed</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Long&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Disk space used by bloom filter
(in bytes).</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">BloomFilterOffHeapMemoryUsed</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Long&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Off-heap memory used by
bloom filter.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">IndexSummaryOffHeapMemoryUsed</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Long&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Off-heap memory used by
index summary.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">CompressionMetadataOffHeapMemoryUsed</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Long&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Off-heap memory used
by compression meta data.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">KeyCacheHitRate</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Double&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Key cache hit rate for this table.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">TombstoneScannedHistogram</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Histogram</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Histogram of tombstones scanned
in queries on this table.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">LiveScannedHistogram</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Histogram</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Histogram of live cells scanned in
queries on this table.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">ColUpdateTimeDeltaHistogram</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Histogram</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Histogram of column update time
delta on this table.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">ViewLockAcquireTime</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Timer</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Time taken acquiring a partition lock for
materialized view updates on this table.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">ViewReadTime</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Timer</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Time taken during the local read of a materialized
view update.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">TrueSnapshotsSize</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Long&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Disk space used by snapshots of this
table including all SSTable components.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">RowCacheHitOutOfRange</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Counter</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Number of table row cache hits that do
not satisfy the query filter, thus went to disk.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">RowCacheHit</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Counter</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Number of table row cache hits.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">RowCacheMiss</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Counter</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Number of table row cache misses.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">CasPrepare</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Latency</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Latency of paxos prepare round.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">CasPropose</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Latency</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Latency of paxos propose round.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">CasCommit</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Latency</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Latency of paxos commit round.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">PercentRepaired</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Double&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Percent of table data that is repaired
on disk.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">BytesRepaired</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Long&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Size of table data repaired on disk</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">BytesUnrepaired</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Long&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Size of table data unrepaired on disk</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">BytesPendingRepair</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Long&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Size of table data isolated for an
ongoing incremental repair</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">SpeculativeRetries</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Counter</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Number of times speculative retries were
sent for this table.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">SpeculativeFailedRetries</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Counter</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Number of speculative retries that
failed to prevent a timeout</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">SpeculativeInsufficientReplicas</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Counter</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Number of speculative retries
that couldn&#8217;t be attempted due to lack of replicas</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">SpeculativeSampleLatencyNanos</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Long&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Number of nanoseconds to
wait before speculation is attempted. Value may be statically configured
or updated periodically based on coordinator latency.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">WaitingOnFreeMemtableSpace</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Histogram</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Histogram of time spent waiting
for free memtable space, either on- or off-heap.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">DroppedMutations</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Counter</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Number of dropped mutations on this table.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">AnticompactionTime</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Timer</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Time spent anticompacting before a
consistent repair.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">ValidationTime</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Timer</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Time spent doing validation compaction during
repair.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">SyncTime</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Timer</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Time spent doing streaming during repair.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">BytesValidated</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Histogram</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Histogram over the amount of bytes read
during validation.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">PartitionsValidated</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Histogram</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Histogram over the number of partitions
read during validation.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">BytesAnticompacted</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Counter</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">How many bytes we anticompacted.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">BytesMutatedAnticompaction</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Counter</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">How many bytes we avoided
anticompacting because the sstable was fully contained in the repaired
range.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">MutatedAnticompactionGauge</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Double&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Ratio of bytes mutated vs
total bytes repaired.</p></td>
</tr>
</tbody>
</table>
<div class="paragraph">
<p>== Keyspace Metrics</p>
</div>
<div class="paragraph">
<p>Each keyspace in Cassandra has metrics responsible for tracking its
state and performance.</p>
</div>
<div class="paragraph">
<p>Most of these metrics are the same as the <code>Table Metrics</code> above, only
they are aggregated at the Keyspace level. The keyspace specific metrics
are specified in the table below.</p>
</div>
<div class="paragraph">
<p>Reported name format:</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Metric Name</strong></dt>
<dd>
<p><code>org.apache.cassandra.metrics.keyspace.&lt;MetricName&gt;.&lt;Keyspace&gt;</code></p>
</dd>
<dt class="hdlist1"><strong>JMX MBean</strong></dt>
<dd>
<p><code>org.apache.cassandra.metrics:type=Keyspace scope=&lt;Keyspace&gt; name=&lt;MetricName&gt;</code></p>
</dd>
</dl>
</div>
<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 33.3333%;">
<col style="width: 33.3333%;">
<col style="width: 33.3334%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Name</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">WriteFailedIdeaCL</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Counter</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Number of writes that failed to achieve the
configured ideal consistency level or 0 if none is configured</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">IdealCLWriteLatency</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Latency</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Coordinator latency of writes at the
configured ideal consistency level. No values are recorded if ideal
consistency level is not configured</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">RepairTime</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Timer</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Total time spent as repair coordinator.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">RepairPrepareTime</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Timer</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Total time spent preparing for repair.</p></td>
</tr>
</tbody>
</table>
<div class="paragraph">
<p>== ThreadPool Metrics</p>
</div>
<div class="paragraph">
<p>Cassandra splits work of a particular type into its own thread pool.
This provides back-pressure and asynchrony for requests on a node. It&#8217;s
important to monitor the state of these thread pools since they can tell
you how saturated a node is.</p>
</div>
<div class="paragraph">
<p>The metric names are all appended with the specific <code>ThreadPool</code> name.
The thread pools are also categorized under a specific type.</p>
</div>
<div class="paragraph">
<p>Reported name format:</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Metric Name</strong></dt>
<dd>
<p><code>org.apache.cassandra.metrics.ThreadPools.&lt;MetricName&gt;.&lt;Path&gt;.&lt;ThreadPoolName&gt;</code></p>
</dd>
<dt class="hdlist1"><strong>JMX MBean</strong></dt>
<dd>
<p><code>org.apache.cassandra.metrics:type=ThreadPools path=&lt;Path&gt; scope=&lt;ThreadPoolName&gt; name=&lt;MetricName&gt;</code></p>
</dd>
</dl>
</div>
<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 33.3333%;">
<col style="width: 33.3333%;">
<col style="width: 33.3334%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Name</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">ActiveTasks</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Integer&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Number of tasks being actively worked on
by this pool.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">PendingTasks</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Integer&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Number of queued tasks queued up on this
pool.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">CompletedTasks</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Counter</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Number of tasks completed.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">TotalBlockedTasks</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Counter</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Number of tasks that were blocked due to
queue saturation.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">CurrentlyBlockedTask</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Counter</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Number of tasks that are currently
blocked due to queue saturation but on retry will become unblocked.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">MaxPoolSize</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Integer&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">The maximum number of threads in this
pool.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">MaxTasksQueued</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Integer&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">The maximum number of tasks queued
before a task get blocked.</p></td>
</tr>
</tbody>
</table>
<div class="paragraph">
<p>The following thread pools can be monitored.</p>
</div>
<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 33.3333%;">
<col style="width: 33.3333%;">
<col style="width: 33.3334%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Name</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Native-Transport-Requests</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">transport</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Handles client CQL requests</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">CounterMutationStage</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">request</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Responsible for counter writes</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">ViewMutationStage</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">request</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Responsible for materialized view writes</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">MutationStage</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">request</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Responsible for all other writes</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">ReadRepairStage</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">request</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">ReadRepair happens on this thread pool</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">ReadStage</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">request</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Local reads run on this thread pool</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">RequestResponseStage</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">request</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Coordinator requests to the cluster run
on this thread pool</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">AntiEntropyStage</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">internal</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Builds merkle tree for repairs</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">CacheCleanupExecutor</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">internal</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Cache maintenance performed on this
thread pool</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">CompactionExecutor</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">internal</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Compactions are run on these threads</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">GossipStage</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">internal</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Handles gossip requests</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">HintsDispatcher</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">internal</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Performs hinted handoff</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">InternalResponseStage</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">internal</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Responsible for intra-cluster
callbacks</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">MemtableFlushWriter</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">internal</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Writes memtables to disk</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">MemtablePostFlush</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">internal</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Cleans up commit log after memtable is
written to disk</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">MemtableReclaimMemory</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">internal</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Memtable recycling</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">MigrationStage</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">internal</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Runs schema migrations</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">MiscStage</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">internal</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Misceleneous tasks run here</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">PendingRangeCalculator</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">internal</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Calculates token range</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">PerDiskMemtableFlushWriter_0</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">internal</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Responsible for writing a spec
(there is one of these per disk 0-N)</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Sampler</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">internal</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Responsible for re-sampling the index summaries of
SStables</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">SecondaryIndexManagement</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">internal</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Performs updates to secondary
indexes</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">ValidationExecutor</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">internal</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Performs validation compaction or
scrubbing</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">ViewBuildExecutor</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">internal</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Performs materialized views initial build</p></td>
</tr>
</tbody>
</table>
<div class="paragraph">
<p>== Client Request Metrics</p>
</div>
<div class="paragraph">
<p>Client requests have their own set of metrics that encapsulate the work
happening at coordinator level.</p>
</div>
<div class="paragraph">
<p>Different types of client requests are broken down by <code>RequestType</code>.</p>
</div>
<div class="paragraph">
<p>Reported name format:</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Metric Name</strong></dt>
<dd>
<p><code>org.apache.cassandra.metrics.ClientRequest.&lt;MetricName&gt;.&lt;RequestType&gt;</code></p>
</dd>
<dt class="hdlist1"><strong>JMX MBean</strong></dt>
<dd>
<p><code>org.apache.cassandra.metrics:type=ClientRequest scope=&lt;RequestType&gt; name=&lt;MetricName&gt;</code></p>
</dd>
<dt class="hdlist1">RequestType</dt>
<dd>
<p>CASRead</p>
</dd>
<dt class="hdlist1">Description</dt>
<dd>
<p>Metrics related to transactional read requests.</p>
</dd>
<dt class="hdlist1">Metrics</dt>
<dd>
<p>[cols=",,",options="header",]
|===
|Name |Type |Description
|Timeouts |Counter |Number of timeouts encountered.</p>
<div class="literalblock">
<div class="content">
<pre>|Failures |Counter |Number of transaction failures encountered.</pre>
</div>
</div>
<div class="literalblock">
<div class="content">
<pre>|  |Latency |Transaction read latency.</pre>
</div>
</div>
<div class="literalblock">
<div class="content">
<pre>|Unavailables |Counter |Number of unavailable exceptions encountered.</pre>
</div>
</div>
<div class="literalblock">
<div class="content">
<pre>|UnfinishedCommit |Counter |Number of transactions that were committed
on read.</pre>
</div>
</div>
<div class="literalblock">
<div class="content">
<pre>|ConditionNotMet |Counter |Number of transaction preconditions did not
match current values.</pre>
</div>
</div>
<div class="literalblock">
<div class="content">
<pre>|ContentionHistogram |Histogram |How many contended reads were
encountered
|===</pre>
</div>
</div>
</dd>
<dt class="hdlist1">RequestType</dt>
<dd>
<p>CASWrite</p>
</dd>
<dt class="hdlist1">Description</dt>
<dd>
<p>Metrics related to transactional write requests.</p>
</dd>
<dt class="hdlist1">Metrics</dt>
<dd>
<p>[cols=",,",options="header",]
|===
|Name |Type |Description
|Timeouts |Counter |Number of timeouts encountered.</p>
<div class="literalblock">
<div class="content">
<pre>|Failures |Counter |Number of transaction failures encountered.</pre>
</div>
</div>
<div class="literalblock">
<div class="content">
<pre>|  |Latency |Transaction write latency.</pre>
</div>
</div>
<div class="literalblock">
<div class="content">
<pre>|UnfinishedCommit |Counter |Number of transactions that were committed
on write.</pre>
</div>
</div>
<div class="literalblock">
<div class="content">
<pre>|ConditionNotMet |Counter |Number of transaction preconditions did not
match current values.</pre>
</div>
</div>
<div class="literalblock">
<div class="content">
<pre>|ContentionHistogram |Histogram |How many contended writes were
encountered</pre>
</div>
</div>
<div class="literalblock">
<div class="content">
<pre>|MutationSizeHistogram |Histogram |Total size in bytes of the requests
mutations.
|===</pre>
</div>
</div>
</dd>
<dt class="hdlist1">RequestType</dt>
<dd>
<p>Read</p>
</dd>
<dt class="hdlist1">Description</dt>
<dd>
<p>Metrics related to standard read requests.</p>
</dd>
<dt class="hdlist1">Metrics</dt>
<dd>
<p>[cols=",,",options="header",]
|===
|Name |Type |Description
|Timeouts |Counter |Number of timeouts encountered.
|Failures |Counter |Number of read failures encountered.
|  |Latency |Read latency.
|Unavailables |Counter |Number of unavailable exceptions encountered.
|===</p>
</dd>
<dt class="hdlist1">RequestType</dt>
<dd>
<p>RangeSlice</p>
</dd>
<dt class="hdlist1">Description</dt>
<dd>
<p>Metrics related to token range read requests.</p>
</dd>
<dt class="hdlist1">Metrics</dt>
<dd>
<p>[cols=",,",options="header",]
|===
|Name |Type |Description
|Timeouts |Counter |Number of timeouts encountered.
|Failures |Counter |Number of range query failures encountered.
|  |Latency |Range query latency.
|Unavailables |Counter |Number of unavailable exceptions encountered.
|===</p>
</dd>
<dt class="hdlist1">RequestType</dt>
<dd>
<p>Write</p>
</dd>
<dt class="hdlist1">Description</dt>
<dd>
<p>Metrics related to regular write requests.</p>
</dd>
<dt class="hdlist1">Metrics</dt>
<dd>
<p>[cols=",,",options="header",]
|===
|Name |Type |Description
|Timeouts |Counter |Number of timeouts encountered.</p>
<div class="literalblock">
<div class="content">
<pre>|Failures |Counter |Number of write failures encountered.</pre>
</div>
</div>
<div class="literalblock">
<div class="content">
<pre>|  |Latency |Write latency.</pre>
</div>
</div>
<div class="literalblock">
<div class="content">
<pre>|Unavailables |Counter |Number of unavailable exceptions encountered.</pre>
</div>
</div>
<div class="literalblock">
<div class="content">
<pre>|MutationSizeHistogram |Histogram |Total size in bytes of the requests
mutations.
|===</pre>
</div>
</div>
</dd>
<dt class="hdlist1">RequestType</dt>
<dd>
<p>ViewWrite</p>
</dd>
<dt class="hdlist1">Description</dt>
<dd>
<p>Metrics related to materialized view write wrtes.</p>
</dd>
<dt class="hdlist1">Metrics</dt>
<dd>
<p>[cols=",,",]
|===
|Timeouts |Counter |Number of timeouts encountered.</p>
<div class="literalblock">
<div class="content">
<pre>|Failures |Counter |Number of transaction failures encountered.</pre>
</div>
</div>
<div class="literalblock">
<div class="content">
<pre>|Unavailables |Counter |Number of unavailable exceptions encountered.</pre>
</div>
</div>
<div class="literalblock">
<div class="content">
<pre>|ViewReplicasAttempted |Counter |Total number of attempted view
replica writes.</pre>
</div>
</div>
<div class="literalblock">
<div class="content">
<pre>|ViewReplicasSuccess |Counter |Total number of succeded view replica
writes.</pre>
</div>
</div>
<div class="literalblock">
<div class="content">
<pre>|ViewPendingMutations |Gauge&lt;Long&gt; |ViewReplicasAttempted -
ViewReplicasSuccess.</pre>
</div>
</div>
<div class="literalblock">
<div class="content">
<pre>|ViewWriteLatency |Timer |Time between when mutation is applied to
base table and when CL.ONE is achieved on view.
|===</pre>
</div>
</div>
</dd>
</dl>
</div>
<div class="paragraph">
<p>== Cache Metrics</p>
</div>
<div class="paragraph">
<p>Cassandra caches have metrics to track the effectivness of the caches.
Though the <code>Table Metrics</code> might be more useful.</p>
</div>
<div class="paragraph">
<p>Reported name format:</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Metric Name</strong></dt>
<dd>
<p><code>org.apache.cassandra.metrics.Cache.&lt;MetricName&gt;.&lt;CacheName&gt;</code></p>
</dd>
<dt class="hdlist1"><strong>JMX MBean</strong></dt>
<dd>
<p><code>org.apache.cassandra.metrics:type=Cache scope=&lt;CacheName&gt; name=&lt;MetricName&gt;</code></p>
</dd>
</dl>
</div>
<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 33.3333%;">
<col style="width: 33.3333%;">
<col style="width: 33.3334%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Name</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Capacity</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Long&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Cache capacity in bytes.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Entries</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Integer&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Total number of cache entries.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">FifteenMinuteCacheHitRate</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Double&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">15m cache hit rate.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">FiveMinuteCacheHitRate</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Double&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">5m cache hit rate.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">OneMinuteCacheHitRate</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Double&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">1m cache hit rate.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">HitRate</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Double&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">All time cache hit rate.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Hits</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Meter</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Total number of cache hits.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Misses</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Meter</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Total number of cache misses.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">MissLatency</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Timer</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Latency of misses.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Requests</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Long&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Total number of cache requests.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Size</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Long&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Total size of occupied cache, in bytes.</p></td>
</tr>
</tbody>
</table>
<div class="paragraph">
<p>The following caches are covered:</p>
</div>
<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 50%;">
<col style="width: 50%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Name</th>
<th class="tableblock halign-left valign-top">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">CounterCache</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Keeps hot counters in memory for performance.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">ChunkCache</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">In process uncompressed page cache.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">KeyCache</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Cache for partition to sstable offsets.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">RowCache</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Cache for rows kept in memory.</p></td>
</tr>
</tbody>
</table>
</td>
</tr>
</table>
</div>
<div class="paragraph">
<p>Misses and MissLatency are only defined for the ChunkCache
====== CQL Metrics</p>
</div>
<div class="paragraph">
<p>Metrics specific to CQL prepared statement caching.</p>
</div>
<div class="paragraph">
<p>Reported name format:</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Metric Name</strong></dt>
<dd>
<p><code>org.apache.cassandra.metrics.CQL.&lt;MetricName&gt;</code></p>
</dd>
<dt class="hdlist1"><strong>JMX MBean</strong></dt>
<dd>
<p><code>org.apache.cassandra.metrics:type=CQL name=&lt;MetricName&gt;</code></p>
</dd>
</dl>
</div>
<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 33.3333%;">
<col style="width: 33.3333%;">
<col style="width: 33.3334%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Name</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">PreparedStatementsCount</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Integer&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Number of cached prepared
statements.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">PreparedStatementsEvicted</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Counter</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Number of prepared statements
evicted from the prepared statement cache</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">PreparedStatementsExecuted</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Counter</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Number of prepared statements
executed.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">RegularStatementsExecuted</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Counter</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Number of <strong>non</strong> prepared statements
executed.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">PreparedStatementsRatio</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Double&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Percentage of statements that
are prepared vs unprepared.</p></td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="sect1">
<h2 id="dropped-metrics"><a class="anchor" href="#dropped-metrics"></a><a class="link" href="#dropped-metrics">DroppedMessage Metrics</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p>Metrics specific to tracking dropped messages for different types of
requests. Dropped writes are stored and retried by <code>Hinted Handoff</code></p>
</div>
<div class="paragraph">
<p>Reported name format:</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Metric Name</strong></dt>
<dd>
<p><code>org.apache.cassandra.metrics.DroppedMessage.&lt;MetricName&gt;.&lt;Type&gt;</code></p>
</dd>
<dt class="hdlist1"><strong>JMX MBean</strong></dt>
<dd>
<p><code>org.apache.cassandra.metrics:type=DroppedMessage scope=&lt;Type&gt; name=&lt;MetricName&gt;</code></p>
</dd>
</dl>
</div>
<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 33.3333%;">
<col style="width: 33.3333%;">
<col style="width: 33.3334%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Name</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">CrossNodeDroppedLatency</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Timer</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">The dropped latency across nodes.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">InternalDroppedLatency</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Timer</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">The dropped latency within node.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Dropped</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Meter</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Number of dropped messages.</p></td>
</tr>
</tbody>
</table>
<div class="paragraph">
<p>The different types of messages tracked are:</p>
</div>
<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 50%;">
<col style="width: 50%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Name</th>
<th class="tableblock halign-left valign-top">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">BATCH_STORE</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Batchlog write</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">BATCH_REMOVE</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Batchlog cleanup (after succesfully applied)</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">COUNTER_MUTATION</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Counter writes</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">HINT</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Hint replay</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">MUTATION</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Regular writes</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">READ</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Regular reads</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">READ_REPAIR</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Read repair</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">PAGED_SLICE</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Paged read</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">RANGE_SLICE</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Token range read</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">REQUEST_RESPONSE</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">RPC Callbacks</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">_TRACE</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Tracing writes</p></td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="sect1">
<h2 id="streaming-metrics"><a class="anchor" href="#streaming-metrics"></a><a class="link" href="#streaming-metrics">Streaming Metrics</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p>Metrics reported during <code>Streaming</code> operations, such as repair,
bootstrap, rebuild.</p>
</div>
<div class="paragraph">
<p>These metrics are specific to a peer endpoint, with the source node
being the node you are pulling the metrics from.</p>
</div>
<div class="paragraph">
<p>Reported name format:</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Metric Name</strong></dt>
<dd>
<p><code>org.apache.cassandra.metrics.Streaming.&lt;MetricName&gt;.&lt;PeerIP&gt;</code></p>
</dd>
<dt class="hdlist1"><strong>JMX MBean</strong></dt>
<dd>
<p><code>org.apache.cassandra.metrics:type=Streaming scope=&lt;PeerIP&gt; name=&lt;MetricName&gt;</code></p>
</dd>
</dl>
</div>
<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 33.3333%;">
<col style="width: 33.3333%;">
<col style="width: 33.3334%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Name</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">IncomingBytes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Counter</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Number of bytes streamed to this node from the
peer.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">OutgoingBytes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Counter</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Number of bytes streamed to the peer endpoint
from this node.</p></td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="sect1">
<h2 id="compaction-metrics"><a class="anchor" href="#compaction-metrics"></a><a class="link" href="#compaction-metrics">Compaction Metrics</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p>Metrics specific to <code>Compaction</code> work.</p>
</div>
<div class="paragraph">
<p>Reported name format:</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Metric Name</strong></dt>
<dd>
<p><code>org.apache.cassandra.metrics.Compaction.&lt;MetricName&gt;</code></p>
</dd>
<dt class="hdlist1"><strong>JMX MBean</strong></dt>
<dd>
<p><code>org.apache.cassandra.metrics:type=Compaction name=&lt;MetricName&gt;</code></p>
</dd>
</dl>
</div>
<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 33.3333%;">
<col style="width: 33.3333%;">
<col style="width: 33.3334%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Name</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">BytesCompacted</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Counter</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Total number of bytes compacted since server
[re]start.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">PendingTasks</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Integer&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Estimated number of compactions remaining
to perform.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">CompletedTasks</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Long&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Number of completed compactions since
server [re]start.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">TotalCompactionsCompleted</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Meter</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Throughput of completed compactions
since server [re]start.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">PendingTasksByTableName</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Map&lt;String, Map&lt;String, Integer&gt;&gt;&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Estimated number of compactions remaining to perform, grouped by
keyspace and then table name. This info is also kept in <code>Table Metrics</code>.</p></td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="sect1">
<h2 id="commitlog-metrics"><a class="anchor" href="#commitlog-metrics"></a><a class="link" href="#commitlog-metrics">CommitLog Metrics</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p>Metrics specific to the <code>CommitLog</code></p>
</div>
<div class="paragraph">
<p>Reported name format:</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Metric Name</strong></dt>
<dd>
<p><code>org.apache.cassandra.metrics.CommitLog.&lt;MetricName&gt;</code></p>
</dd>
<dt class="hdlist1"><strong>JMX MBean</strong></dt>
<dd>
<p><code>org.apache.cassandra.metrics:type=CommitLog name=&lt;MetricName&gt;</code></p>
</dd>
</dl>
</div>
<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 33.3333%;">
<col style="width: 33.3333%;">
<col style="width: 33.3334%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Name</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">CompletedTasks</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Long&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Total number of commit log messages
written since [re]start.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">PendingTasks</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Long&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Number of commit log messages written but
yet to be fsync&#8217;d.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">TotalCommitLogSize</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Long&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Current size, in bytes, used by all
the commit log segments.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">WaitingOnSegmentAllocation</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Timer</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Time spent waiting for a
CommitLogSegment to be allocated - under normal conditions this should
be zero.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">WaitingOnCommit</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Timer</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">The time spent waiting on CL fsync; for
Periodic this is only occurs when the sync is lagging its sync interval.</p></td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="sect1">
<h2 id="storage-metrics"><a class="anchor" href="#storage-metrics"></a><a class="link" href="#storage-metrics">Storage Metrics</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p>Metrics specific to the storage engine.</p>
</div>
<div class="paragraph">
<p>Reported name format:</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Metric Name</strong></dt>
<dd>
<p><code>org.apache.cassandra.metrics.Storage.&lt;MetricName&gt;</code></p>
</dd>
<dt class="hdlist1"><strong>JMX MBean</strong></dt>
<dd>
<p><code>org.apache.cassandra.metrics:type=Storage name=&lt;MetricName&gt;</code></p>
</dd>
</dl>
</div>
<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 33.3333%;">
<col style="width: 33.3333%;">
<col style="width: 33.3334%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Name</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Exceptions</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Counter</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Number of internal exceptions caught. Under normal
exceptions this should be zero.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Load</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Counter</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Size, in bytes, of the on disk data size this node
manages.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">TotalHints</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Counter</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Number of hint messages written to this node since
[re]start. Includes one entry for each host to be hinted per hint.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">TotalHintsInProgress</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Counter</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Number of hints attemping to be sent
currently.</p></td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="sect1">
<h2 id="handoff-metrics"><a class="anchor" href="#handoff-metrics"></a><a class="link" href="#handoff-metrics">HintedHandoff Metrics</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p>Metrics specific to Hinted Handoff. There are also some metrics related
to hints tracked in <code>Storage Metrics</code></p>
</div>
<div class="paragraph">
<p>These metrics include the peer endpoint <strong>in the metric name</strong></p>
</div>
<div class="paragraph">
<p>Reported name format:</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Metric Name</strong></dt>
<dd>
<p><code>org.apache.cassandra.metrics.HintedHandOffManager.&lt;MetricName&gt;</code></p>
</dd>
<dt class="hdlist1"><strong>JMX MBean</strong></dt>
<dd>
<p><code>org.apache.cassandra.metrics:type=HintedHandOffManager name=&lt;MetricName&gt;</code></p>
</dd>
</dl>
</div>
<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 33.3333%;">
<col style="width: 33.3333%;">
<col style="width: 33.3334%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Name</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Hints_created-&lt;PeerIP&gt;</p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="quoteblock">
<blockquote>
<div class="paragraph">
<p>Counter</p>
</div>
</blockquote>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="quoteblock">
<blockquote>
<div class="paragraph">
<p>Number of hints on disk for this peer.</p>
</div>
</blockquote>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Hints_not_stored-&lt;PeerIP&gt;</p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="quoteblock">
<blockquote>
<div class="paragraph">
<p>Counter</p>
</div>
</blockquote>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="quoteblock">
<blockquote>
<div class="paragraph">
<p>Number of hints not stored for this peer, due to being down past the
configured hint window.</p>
</div>
</blockquote>
</div></div></td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="sect1">
<h2 id="hintsservice-metrics"><a class="anchor" href="#hintsservice-metrics"></a><a class="link" href="#hintsservice-metrics">HintsService Metrics</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p>Metrics specific to the Hints delivery service. There are also some
metrics related to hints tracked in <code>Storage Metrics</code></p>
</div>
<div class="paragraph">
<p>These metrics include the peer endpoint <strong>in the metric name</strong></p>
</div>
<div class="paragraph">
<p>Reported name format:</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Metric Name</strong></dt>
<dd>
<p><code>org.apache.cassandra.metrics.HintsService.&lt;MetricName&gt;</code></p>
</dd>
<dt class="hdlist1"><strong>JMX MBean</strong></dt>
<dd>
<p><code>org.apache.cassandra.metrics:type=HintsService name=&lt;MetricName&gt;</code></p>
</dd>
</dl>
</div>
<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 33.3333%;">
<col style="width: 33.3333%;">
<col style="width: 33.3334%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Name</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">HintsSucceeded</p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="quoteblock">
<blockquote>
<div class="paragraph">
<p>Meter</p>
</div>
</blockquote>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="quoteblock">
<blockquote>
<div class="paragraph">
<p>A meter of the hints successfully delivered</p>
</div>
</blockquote>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">HintsFailed</p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="quoteblock">
<blockquote>
<div class="paragraph">
<p>Meter</p>
</div>
</blockquote>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="quoteblock">
<blockquote>
<div class="paragraph">
<p>A meter of the hints that failed deliver</p>
</div>
</blockquote>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">HintsTimedOut</p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="quoteblock">
<blockquote>
<div class="paragraph">
<p>Meter</p>
</div>
</blockquote>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="quoteblock">
<blockquote>
<div class="paragraph">
<p>A meter of the hints that timed out</p>
</div>
</blockquote>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Hint_delays</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Histogram</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Histogram of hint delivery delays (in
milliseconds)</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Hint_delays-&lt;PeerIP&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Histogram</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Histogram of hint delivery delays (in
milliseconds) per peer</p></td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="sect1">
<h2 id="sstable-index-metrics"><a class="anchor" href="#sstable-index-metrics"></a><a class="link" href="#sstable-index-metrics">SSTable Index Metrics</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p>Metrics specific to the SSTable index metadata.</p>
</div>
<div class="paragraph">
<p>Reported name format:</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Metric Name</strong></dt>
<dd>
<p><code>org.apache.cassandra.metrics.Index.&lt;MetricName&gt;.RowIndexEntry</code></p>
</dd>
<dt class="hdlist1"><strong>JMX MBean</strong></dt>
<dd>
<p><code>org.apache.cassandra.metrics:type=Index scope=RowIndexEntry name=&lt;MetricName&gt;</code></p>
</dd>
</dl>
</div>
<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 33.3333%;">
<col style="width: 33.3333%;">
<col style="width: 33.3334%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Name</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">IndexedEntrySize</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Histogram</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Histogram of the on-heap size, in bytes,
of the index across all SSTables.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">IndexInfoCount</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Histogram</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Histogram of the number of on-heap index
entries managed across all SSTables.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">IndexInfoGets</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Histogram</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Histogram of the number index seeks performed
per SSTable.</p></td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="sect1">
<h2 id="bufferpool-metrics"><a class="anchor" href="#bufferpool-metrics"></a><a class="link" href="#bufferpool-metrics">BufferPool Metrics</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p>Metrics specific to the internal recycled buffer pool Cassandra manages.
This pool is meant to keep allocations and GC lower by recycling on and
off heap buffers.</p>
</div>
<div class="paragraph">
<p>Reported name format:</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Metric Name</strong></dt>
<dd>
<p><code>org.apache.cassandra.metrics.BufferPool.&lt;MetricName&gt;</code></p>
</dd>
<dt class="hdlist1"><strong>JMX MBean</strong></dt>
<dd>
<p><code>org.apache.cassandra.metrics:type=BufferPool name=&lt;MetricName&gt;</code></p>
</dd>
</dl>
</div>
<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 33.3333%;">
<col style="width: 33.3333%;">
<col style="width: 33.3334%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Name</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Size</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Long&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Size, in bytes, of the managed buffer pool</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Misses</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Meter</p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="quoteblock">
<blockquote>
<div class="paragraph">
<p>The rate of misses in the pool. The higher this is the more allocations
incurred.</p>
</div>
</blockquote>
</div></div></td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="sect1">
<h2 id="client-metrics"><a class="anchor" href="#client-metrics"></a><a class="link" href="#client-metrics">Client Metrics</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p>Metrics specifc to client managment.</p>
</div>
<div class="paragraph">
<p>Reported name format:</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Metric Name</strong></dt>
<dd>
<p><code>org.apache.cassandra.metrics.Client.&lt;MetricName&gt;</code></p>
</dd>
<dt class="hdlist1"><strong>JMX MBean</strong></dt>
<dd>
<p><code>org.apache.cassandra.metrics:type=Client name=&lt;MetricName&gt;</code></p>
</dd>
</dl>
</div>
<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 33.3333%;">
<col style="width: 33.3333%;">
<col style="width: 33.3334%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Name</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">connectedNativeClients</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Integer&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Number of clients connected to
this nodes native protocol server</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">connections</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;List&lt;Map&lt;String, String&gt;&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">List of all connections
and their state information</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">connectedNativeClientsByUser</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Map&lt;String, Int&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Number of
connnective native clients by username</p></td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="sect1">
<h2 id="batch-metrics"><a class="anchor" href="#batch-metrics"></a><a class="link" href="#batch-metrics">Batch Metrics</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p>Metrics specifc to batch statements.</p>
</div>
<div class="paragraph">
<p>Reported name format:</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Metric Name</strong></dt>
<dd>
<p><code>org.apache.cassandra.metrics.Batch.&lt;MetricName&gt;</code></p>
</dd>
<dt class="hdlist1"><strong>JMX MBean</strong></dt>
<dd>
<p><code>org.apache.cassandra.metrics:type=Batch name=&lt;MetricName&gt;</code></p>
</dd>
</dl>
</div>
<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 33.3333%;">
<col style="width: 33.3333%;">
<col style="width: 33.3334%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Name</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">PartitionsPerCounterBatch</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Histogram</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Distribution of the number of
partitions processed per counter batch</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">PartitionsPerLoggedBatch</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Histogram</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Distribution of the number of
partitions processed per logged batch</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">PartitionsPerUnloggedBatch</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Histogram</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Distribution of the number of
partitions processed per unlogged batch</p></td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="sect1">
<h2 id="jvm-metrics"><a class="anchor" href="#jvm-metrics"></a><a class="link" href="#jvm-metrics">JVM Metrics</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p>JVM metrics such as memory and garbage collection statistics can either
be accessed by connecting to the JVM using JMX or can be exported using
<a href="#metric-reporters">Metric Reporters</a>.</p>
</div>
<div class="sect2">
<h3 id="bufferpool"><a class="anchor" href="#bufferpool"></a><a class="link" href="#bufferpool">BufferPool</a></h3>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Metric Name</strong></dt>
<dd>
<p><code>jvm.buffers.&lt;direct|mapped&gt;.&lt;MetricName&gt;</code></p>
</dd>
<dt class="hdlist1"><strong>JMX MBean</strong></dt>
<dd>
<p><code>java.nio:type=BufferPool name=&lt;direct|mapped&gt;</code></p>
</dd>
</dl>
</div>
<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 33.3333%;">
<col style="width: 33.3333%;">
<col style="width: 33.3334%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Name</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Capacity</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Long&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Estimated total capacity of the buffers in this
pool</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Count</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Long&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Estimated number of buffers in the pool</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Used</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Long&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Estimated memory that the Java virtual machine is
using for this buffer pool</p></td>
</tr>
</tbody>
</table>
</div>
<div class="sect2">
<h3 id="filedescriptorratio"><a class="anchor" href="#filedescriptorratio"></a><a class="link" href="#filedescriptorratio">FileDescriptorRatio</a></h3>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Metric Name</strong></dt>
<dd>
<p><code>jvm.fd.&lt;MetricName&gt;</code></p>
</dd>
<dt class="hdlist1"><strong>JMX MBean</strong></dt>
<dd>
<p><code>java.lang:type=OperatingSystem name=&lt;OpenFileDescriptorCount|MaxFileDescriptorCount&gt;</code></p>
</dd>
</dl>
</div>
<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 33.3333%;">
<col style="width: 33.3333%;">
<col style="width: 33.3334%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Name</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Usage</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Ratio</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Ratio of used to total file descriptors</p></td>
</tr>
</tbody>
</table>
</div>
<div class="sect2">
<h3 id="garbagecollector"><a class="anchor" href="#garbagecollector"></a><a class="link" href="#garbagecollector">GarbageCollector</a></h3>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Metric Name</strong></dt>
<dd>
<p><code>jvm.gc.&lt;gc_type&gt;.&lt;MetricName&gt;</code></p>
</dd>
<dt class="hdlist1"><strong>JMX MBean</strong></dt>
<dd>
<p><code>java.lang:type=GarbageCollector name=&lt;gc_type&gt;</code></p>
</dd>
</dl>
</div>
<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 33.3333%;">
<col style="width: 33.3333%;">
<col style="width: 33.3334%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Name</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Count</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Long&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Total number of collections that have occurred</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Time</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Long&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Approximate accumulated collection elapsed time in
milliseconds</p></td>
</tr>
</tbody>
</table>
</div>
<div class="sect2">
<h3 id="memory"><a class="anchor" href="#memory"></a><a class="link" href="#memory">Memory</a></h3>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Metric Name</strong></dt>
<dd>
<p><code>jvm.memory.&lt;heap/non-heap/total&gt;.&lt;MetricName&gt;</code></p>
</dd>
<dt class="hdlist1"><strong>JMX MBean</strong></dt>
<dd>
<p><code>java.lang:type=Memory</code></p>
</dd>
</dl>
</div>
<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 33.3333%;">
<col style="width: 33.3333%;">
<col style="width: 33.3334%;">
</colgroup>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Committed</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Long&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Amount of memory in bytes that is committed for
the JVM to use</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Init</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Long&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Amount of memory in bytes that the JVM initially
requests from the OS</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Max</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Long&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Maximum amount of memory in bytes that can be used
for memory management</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Usage</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Ratio</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Ratio of used to maximum memory</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Used</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Long&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Amount of used memory in bytes</p></td>
</tr>
</tbody>
</table>
</div>
<div class="sect2">
<h3 id="memorypool"><a class="anchor" href="#memorypool"></a><a class="link" href="#memorypool">MemoryPool</a></h3>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Metric Name</strong></dt>
<dd>
<p><code>jvm.memory.pools.&lt;memory_pool&gt;.&lt;MetricName&gt;</code></p>
</dd>
<dt class="hdlist1"><strong>JMX MBean</strong></dt>
<dd>
<p><code>java.lang:type=MemoryPool name=&lt;memory_pool&gt;</code></p>
</dd>
</dl>
</div>
<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 33.3333%;">
<col style="width: 33.3333%;">
<col style="width: 33.3334%;">
</colgroup>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Committed</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Long&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Amount of memory in bytes that is committed for
the JVM to use</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Init</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Long&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Amount of memory in bytes that the JVM initially
requests from the OS</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Max</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Long&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Maximum amount of memory in bytes that can be used
for memory management</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Usage</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Ratio</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Ratio of used to maximum memory</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Used</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Gauge&lt;Long&gt;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Amount of used memory in bytes</p></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="sect1">
<h2 id="jmx"><a class="anchor" href="#jmx"></a><a class="link" href="#jmx">JMX</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p>Any JMX based client can access metrics from cassandra.</p>
</div>
<div class="paragraph">
<p>If you wish to access JMX metrics over http it&#8217;s possible to download
<a href="http://mx4j.sourceforge.net/">Mx4jTool</a> and place <code>mx4j-tools.jar</code> into
the classpath. On startup you will see in the log:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-none hljs" data-lang="none">HttpAdaptor version 3.0.2 started on port 8081</code></pre>
</div>
</div>
<div class="paragraph">
<p>To choose a different port (8081 is the default) or a different listen
address (0.0.0.0 is not the default) edit <code>conf/cassandra-env.sh</code> and
uncomment:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-none hljs" data-lang="none">#MX4J_ADDRESS="-Dmx4jaddress=0.0.0.0"
#MX4J_PORT="-Dmx4jport=8081"</code></pre>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="metric-reporters"><a class="anchor" href="#metric-reporters"></a><a class="link" href="#metric-reporters">Metric Reporters</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p>As mentioned at the top of this section on monitoring the Cassandra
metrics can be exported to a number of monitoring system a number of
<a href="http://metrics.dropwizard.io/3.1.0/getting-started/#other-reporting">built
in</a> and <a href="http://metrics.dropwizard.io/3.1.0/manual/third-party/">third
party</a> reporter plugins.</p>
</div>
<div class="paragraph">
<p>The configuration of these plugins is managed by the
<a href="https://github.com/addthis/metrics-reporter-config">metrics reporter
config project</a>. There is a sample configuration file located at
<code>conf/metrics-reporter-config-sample.yaml</code>.</p>
</div>
<div class="paragraph">
<p>Once configured, you simply start cassandra with the flag
<code>-Dcassandra.metricsReporterConfigFile=metrics-reporter-config.yaml</code>.
The specified .yaml file plus any 3rd party reporter jars must all be in
Cassandra&#8217;s classpath.</p>
</div>
</div>
</div>
</article>
</main>
</div>
</div>
<footer class="grad grad--two flex-center pb-xlarge">
<div class="inner text-center z2 relative">
<h2 class="white py-small">Get started with Cassandra, fast.</h2>
<a id="footer-cta" href="/_/quickstart.html" class="btn btn--filled ma-medium">Quickstart Guide</a>
</div>
<div class="inner flex flex-distribute-items mt-xlarge z2 relative">
<div class="col-2">
<div id="footer-logo" class="logo logo--footer mb-medium"><img src="../../../../assets/img/logo-white-r.png" alt="Cassandra Logo"></div>
<p>Apache Cassandra<img src="../../../../assets/img/registered.svg" alt="®" style="width:18px;"> powers mission-critical deployments with improved performance and unparalleled levels of scale in the cloud.</p>
<div class="footer-social-icons">
<a href="https://twitter.com/cassandra?lang=en" target="_blank"><img src="../../../../assets/img/twitter-icon-circle-white.svg" alt="twitter icon" width="24"></a>
<a href="https://www.linkedin.com/company/apache-cassandra/" target="_blank"><img src="../../../../assets/img/LI-In-Bug.png" alt="linked-in icon" width="24"></a>
<a href="https://www.youtube.com/c/PlanetCassandra" target="_blank"><img src="../../../../assets/img/youtube-icon.png" alt="youtube icon" width="24"></a>
</div>
</div>
<div class="col-2 flex flex-center">
<ul class="columns-2">
<li class="mb-small"><a href="/">Home</a></li>
<li class="mb-small"><a href="/_/cassandra-basics.html">Cassandra Basics</a></li>
<li class="mb-small"><a href="/_/quickstart.html">Quickstart</a></li>
<li class="mb-small"><a href="/_/ecosystem.html">Ecosystem</a></li>
<li class="mb-small"><a href="/doc/latest/">Documentation</a></li>
<li class="mb-small"><a href="/_/community.html">Community</a></li>
<li class="mb-small"><a href="/_/case-studies.html">Case Studies</a></li>
<li class="mb-small"><a href="/_/resources.html">Resources</a></li>
<li class="mb-small"><a href="/_/blog.html">Blog</a></li>
</ul>
</div>
</div>
</footer>
<div class="lower-footer bg-white pa-medium">
<div class="flex flex-row flex-vert-center">
<div class="pr-medium"><img src="../../../../assets/img//feather-small.png" alt="ASF" width="20"></div>
<div class="pr-medium"><a href="http://www.apache.org/" target="_blank">Foundation</a></div>
<div class="pr-medium"><a href="https://www.apache.org/events/current-event.html" target="_blank">Events</a></div>
<div class="pr-medium"><a href="https://www.apache.org/licenses/" target="_blank">License</a></div>
<div class="pr-medium"><a href="https://www.apache.org/foundation/thanks" target="_blank">Thanks</a></div>
<div class="pr-medium"><a href="https://www.apache.org/security" target="_blank">Security</a></div>
<div class="pr-medium"><a href="https://privacy.apache.org/policies/privacy-policy-public.html" target="_blank">Privacy</a></div>
<div class="pr-medium"><a href="https://www.apache.org/foundation/sponsorship" target="_blank">Sponsorship</a></div>
</div>
<p class="my-medium">© 2009-<script>document.write(new Date().getFullYear())</script> <a href="https://apache.org" target="_blank">The Apache Software Foundation</a> under the terms of the Apache License 2.0. Apache, the Apache feather logo, Apache Cassandra, Cassandra, and the Cassandra logo, are either registered trademarks or trademarks of The Apache Software Foundation.</p>
</div>
<div id="fade" class="hidden"></div>
<div id="modal" class="hidden">
<div id="close-modal" class="cursor-pointer"><svg viewBox="0 0 24 24" width="24" height="24" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" class="css-i6dzq1"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></div>
<div id="mod-content" class="vid-mod-content resp-container"></div>
</div>
<script src="../../../../assets/js/site.js"></script>
<script async src="../../../../assets/js/vendor/highlight.js"></script>
<script src="../../../../assets/js/vendor/lunr.js"></script>
<script src="../../../../assets/js/vendor/search.js" id="search-script" data-base-path="../../../.." data-page-path="/Cassandra/3.11/cassandra/operating/metrics.html"></script>
<script async src="../../../../assets/../search-index.js"></script>
<script>
jQuery(function(){
var windowW = $(window).width();
$(document)
.on('click','.mobile-nav-icon',function(){
$('.main-nav').fadeIn();
})
.on('click','.main-nav',function(){
if(windowW <= 1000){
$(this).fadeOut();
}
})
.on('click','#version-toggle',function(){
$(this).toggleClass('active');
$(this).next().fadeToggle();
})
.on('click','#mobile-docs-nav-burger', function(){
$(this).toggleClass('active');
$('.docs-nav').toggleClass('active');
});
var url = window.location.pathname;
var isQuickstart = url.includes('quickstart.html');
if(isQuickstart){
var footerCTA = document.getElementById('footer-cta');
footerCTA.innerHTML = 'Get latest updates';
footerCTA.setAttribute('href', '/_/blog.html');
}
});
</script>
</div>
</body>
</html>