thread_pool_stats
Name
thread_pool_stats — Obtain information about thread pools
Synopsis
thread_pool_stats
{ poolname
} [ jobname
]
Description
thread_pool_stats
takes a thread pool name as its first argument and returns a hash containing various information about the pool, including the number of threads in the pool, queue size, and number of invocations.
If the optional jobname
is also specified, the queue size and the number of running instances for that specific job in the pool is also returned.
Note
The list of thread pools can be obtained on the console using the threads stats
command.
The returned hash contains these keys and associated values:
- poolname
-
The name of the pool (e.g. "CPU", "IO", "SWAPIN", etc).
- queue_sz
-
The queue size (number of jobs pending for this thread pool).
- invocations
-
The number of jobs that have been handled by this thread pool.
- job_num_queued
-
The queue size for the specific job described in
jobname
. This will be present only if thejobname
argument was given. - job_num_running
-
The number of running instances of the specific job described in
jobname
. This will be present only if thejobname
argument was given.
$stats = thread_pool_stats "CPU"; $qsize = $stats["queue_sz"]; if ec_test :value "gt" :comparator "i;ascii-numeric" "${qsize}" "100" { ec_tarpit 10 "CPU queue backlog"; }
$stats = thread_pool_stats "CPU" "clamav_avscan"; $jqsize = $stats["job_num_queued"]; if ec_test :value "gt" :comparator "i;ascii-numeric" "${jqsize}" "100" { ec_action 451 "resource unavailable"; }