Recently I had a need to check on the usage of the WebLogic thread pool and given some of the constraints I've been working with, the easiest way to do that was to go look into the WebLogic managed server logs. These were found in $DOMAIN_HOME/servers/<managed_server>/logs.
The managed server log has INFO level log entries like this...
With a few commands this can be filtered down to something more usable like a CSV file...
This gives us output that looks like the sample below (note the output of thread pool statistics are in reverse order vs what is written into the log file). The CSV file columns are thread counts for "standby, running, idle".
I found the best plot for this was an area plot, which nicely superimposes active and idle threads on the standby threads due to the order of columns in the CSV file (that's why the order of these was reversed above). The result looked something like this...
You can get a bit more fancy with this and also extract the date/time components from the log file but given these statistics are logged every 2 minutes, it's hardly necessary.
Using this approach was a quick way to see if my WebLogic server was coming close to it's maximum thread pool capacity. If you find this useful, do share your plots, I'd love to see how other servers are running!
-i