The tp_thread_group_state table
has one row per thread group in the thread pool. Each row
provides information about the current state of a group.
The tp_thread_group_state table
has these columns:
TP_GROUP_IDThe thread group ID. This is a unique key within the table.
CONSUMER THREADSThe number of consumer threads. There is at most one thread ready to start executing if the active threads become stalled or blocked.
RESERVE_THREADSThe number of threads in the reserved state. This means that they are not started until there is a need to wake a new thread and there is no consumer thread. This is where most threads end up when the thread group has created more threads than needed for normal operation. Often a thread group needs additional threads for a short while and then does not need them again for a while. In this case, they go into the reserved state and remain until needed again. They take up some extra memory resources, but no extra computing resources.
CONNECT_THREAD_COUNTThe number of threads that are processing or waiting to process connection initialization and authentication. There can be a maximum of four connection threads per thread group; these threads expire after a period of inactivity.
CONNECTION_COUNTThe number of connections using this thread group.
QUEUED_QUERIESThe number of statements waiting in the high-priority queue.
QUEUED_TRANSACTIONSThe number of statements waiting in the low-priority queue. These are the initial statements for transactions that have not started, so they also represent queued transactions.
STALL_LIMITThe value of the
thread_pool_stall_limitsystem variable for the thread group. This is the same value for all thread groups.PRIO_KICKUP_TIMERThe value of the
thread_pool_prio_kickup_timersystem variable for the thread group. This is the same value for all thread groups.ALGORITHMThe value of the
thread_pool_algorithmsystem variable for the thread group. This is the same value for all thread groups.THREAD_COUNTThe number of threads started in the thread pool as part of this thread group.
ACTIVE_THREAD_COUNTThe number of threads active in executing statements.
STALLED_THREAD_COUNTThe number of stalled statements in the thread group. A stalled statement could be executing, but from a thread pool perspective it is stalled and making no progress. A long-running statement quickly ends up in this category.
WAITING_THREAD_NUMBERIf there is a thread handling the polling of statements in the thread group, this specifies the thread number within this thread group. It is possible that this thread could be executing a statement.
OLDEST_QUEUEDHow long in milliseconds the oldest queued statement has been waiting for execution.
MAX_THREAD_IDS_IN_GROUPThe maximum thread ID of the threads in the group. This is the same as
MAX(TP_THREAD_NUMBER)for the threads when selected from thetp_thread_statetable. That is, these two queries are equivalent:SELECT TP_GROUP_ID, MAX_THREAD_IDS_IN_GROUP FROM tp_thread_group_state; SELECT TP_GROUP_ID, MAX(TP_THREAD_NUMBER) FROM tp_thread_state GROUP BY TP_GROUP_ID;EFFECTIVE_MAX_TRANSACTIONS_LIMITThe effective
max_transactions_limit_per_tgvalue for the group.NUM_QUERY_THREADSThe number of worker threads in the group.
TIME_OF_LAST_THREAD_CREATIONThe point in time when the thread was last created.
NUM_CONNECT_HANDLER_THREAD_IN_SLEEPThe number of inactive connection handler threads.
THREADS_BOUND_TO_TRANSACTIONThe number of threads in an active transaction, which must be less than
thread_pool_max_transactions_limit; this is set only whenthread_pool_max_transactions_limitis not0.QUERY_THREADS_COUNTsame as num_query_threads, but used for different purposes?
TIME_OF_EARLIEST_CON_EXPIREA timestamp showing the earliest point in time when a connection is expected to expire.
The tp_thread_group_state table
has one index; this is a unique index on the
TP_GROUP_ID column.
TRUNCATE TABLE is not permitted
for the tp_thread_group_state
table.