Skip to content

Thread Pool Statistics

Johnny Miller edited this page Jul 25, 2016 · 6 revisions

Cassandra is based off of a Staged Event Driven Architecture (SEDA). This architecture separates different tasks in stages that are connected by a messaging service. Each like task is grouped into a stage having a queue and thread pool. The stages (as of Cassandra 2.1) are:

Internal Threadpools

  • AntiEntropyStage
  • CacheCleanupExecutor
  • CommitLogArchiver
  • CompactionExecutor
  • GossipStage
  • HintedHandoff
  • InternalReponseStage
  • MemtableFlushWriter
  • MemtablePostFlush
  • MemtableReclaimMemory
  • MigrationStage
  • PendingRangeCalculator
  • Sampler
  • ValidationExecutor

Request Thread Pools

  • CounterMutationStage
  • MutationStage
  • ReadRepairStage
  • ReadStage
  • RequestReponseStage

Transport

  • Native-Transport-Requests

Templates

You can choose the following templates for the dashboard:

  • Cluster - the Cassandra cluster name
  • DC - the Data Center
  • Instance - the node name
  • GroupBy - datacenter/instance/cluster (not relevant for all 'per Node' graphs)
  • PoolName - stage name

Dashboard Description

Thread Pool Breakdown (This row will be repeated for each selected pool name)

All the below graphs are counting the number of tasks in a certain state. For each of them, when grouping by DC, cluster, etc. you can see the overall number of such tasks summed up across the DC, cluster, etc.

  • Active Tasks - number of current active tasks
  • Pending Tasks - number of current pending tasks
  • Completed Tasks Rate - number of completed tasks per second
  • Total Blocked Tasks Rate - number of totally blocked tasks per second, which means tasks that repeatedly couldn't get into the queue of tasks due to high load on the queue. Those tasks will not be run.
  • Currently Blocked Tasks Rate - number of currently blocked tasks per second, which means that in this current moment they cannot enter the queue of tasks, but may be retried later on.

Clone this wiki locally