Currently, not much internals of the generic threadpool are shown to the user.
However, there is some information that can be extracted from the internal structures, e.g
- queue length for every group in the pool
- queue contents, e.g high and low priority requests and their with corresponding connection ids
- Currently not possible, but interesting - approximate queueing time(time spent in queue) for events
- number of active, waiting, and idle threads per group
- Currently not possible, but interesting - other statistics, like number of wakes, stalls, and thread creations per group.
The information is rather complicated to be fit into status variables, so the proposal is to implement it using I_S tables, e.g
- I_S.threadpool_groups - the stats per group
- I_S.threadpool_queue - queue contents
The overall statistics can be still calculated using SQL aggregation functions.