The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
# ============================================
# Thread Pool Checks

# Generic Thread-Pool Check for the size of a Thread-Pool
#
# $0: Name of ThreadPool (z.B. "WebContainer")
# $1: Critical (default: 90%)
# $2: Warning (default: 80%)
<Check was_thread_pool_size>
  Use was_thread_pool($0,'PoolSize',$1,$2)
  Label $0: %2.2r% threads used (%v / %b)
</Check>

# Generic Thread-Pool Check for the number of active threads
# within the thread pool
#
# $0: Name of ThreadPool (z.B. "WebContainer")
# $1: Critical (default: 90%)
# $2: Warning (default: 80%)
<Check was_thread_pool_active>
  Use was_thread_pool($0,'ActiveCount',$1,$2,)
  Label $0: %2.2r% active threads (%v / %b)
</Check>

# Base Check for thread-pools checks
# $0: Name of ThreadPool (z.B. "WebContainer")
# $1: Attribute (PoolSize or ActiveCount)
# $2: Critical (default: 90%)
# $3: Warning (default: 80%)
<Check was_thread_pool>
  MBean         WebSphere:name=${0},type=ThreadPool,*
  Attribute     stats
  Path          */*/statistics/${1}/current

  BaseMBean     WebSphere:name=${0},type=ThreadPool,*
  BaseAttribute stats
  BasePath      */*/statistics/${1}/upperBound
   
  Critical      ${2:90}
  Warning       ${3:80}
  
  Label = ${0}: %.2r% Threads [${1}] (%v / %b)
  Name = ${0}-${1}-threadpool
</Check>