The real meaning of the ActiveTime PMI statistic in WebSphere
For thread pools, WebSphere has a PMI statistic called
ActiveTime. According to the documentation
it is defined as the average time in milliseconds the threads are in active state. There is also a
ActiveCount that measures the number of concurrently active threads. E.g. on the
WebContainer thread pool this statistic enables one to determine the number of servlet requests being
processed simultaneously at a given point in time.
One would expect that correspondingly,
ActiveTime measures the average time it takes to execute a task
on the thread pool and that on the
WebContainer thread pool this would be the average time to process
a servlet request. However, this is not the case at all. Although the documentation of the two metrics
both refer to “active threads”, they measure two completely different things. In fact,
measures the average time that threads declared hanging1 have been active. Obviously this definition renders the
ActiveTime statistic pretty much useless in most cases.
For the readers not familiar with how WebSphere thread pools work, a thread is flagged as hanging after it has been active for longer than a configurable amount of time (10 minutes by default). ↩