Performance Schema threads Table
Each server thread is represented as a row in the threads
table.
The threads
table contains the following columns:
THREAD_ID
A unique thread identifier.
NAME
Name associated with the server's thread instrumentation code, for example thread/sql/main for the server's main() function, and thread/sql/one_connection for a user connection.
TYPE
FOREGROUND or BACKGROUND, depending on the thread type. User connection threads are FOREGROUND, internal server threads are BACKGROUND.
PROCESSLIST_ID
The PROCESSLIST.ID value for threads displayed in the INFORMATION_SCHEMA.PROCESSLIST table, or 0 for background threads. Also corresponds with the CONNECTION_ID() return value for the thread.
PROCESSLIST_USER
Foreground thread user, or NULL for a background thread.
PROCESSLIST_HOST
Foreground thread host, or NULL for a background thread.
PROCESSLIST_DB
Thread's default database, or NULL if none exists.
PROCESSLIST_COMMAND
Type of command executed by the thread. These correspond to the COM_xxx client/server protocol commands, and the Com_xxx status variables. See Thread Command Values.
PROCESSLIST_TIME
Time in seconds the thread has been in its current state.
PROCESSLIST_STATE
Action, event or state indicating what the thread is doing.
PROCESSLIST_INFO
Statement being executed by the thread, or NULL if a statement is not being executed. If a statement results in calling other statements, such as for a stored procedure, the innermost statement from the stored procedure is shown here.
PARENT_THREAD_ID
THREAD_ID of the parent thread, if any. Subthreads can for example be spawned as a result of INSERT DELAYED statements.
ROLE
Unused.
INSTRUMENTED
YES or NO for Whether the thread is instrumented or not. For foreground threads, the initial value is determined by whether there's a user/host match in the setup_actors table. Subthreads are again matched, while for background threads, this will be set to YES by default. To monitor events that the thread executes, INSTRUMENTED must be YES and the thread_instrumentation consumer in the setup_consumers table must also be YES.
HISTORY
YES or NO for Whether to log historical events for the thread. For foreground threads, the initial value is determined by whether there's a user/host match in the setup_actors table. Subthreads are again matched, while for background threads, this will be set to YES by default. To monitor events that the thread executes, INSTRUMENTED must be YES and the thread_instrumentation consumer in the setup_consumers table must also be YES. Added in MariaDB 10.5.
CONNECTION_TYPE
The protocol used to establish the connection. One of TCP/IP, SSL/TLS, Socket, Named Pipe, Shared Memory, or NULL for background threads. Added in MariaDB 10.5.
THREAD_OS_ID
The thread or task identifier as defined by the underlying operating system, if there is one. Added in MariaDB 10.5
Example
SELECT * FROM performance_schema.threads\G; *************************** 1. row *************************** THREAD_ID: 1 NAME: thread/sql/main TYPE: BACKGROUND PROCESSLIST_ID: NULL PROCESSLIST_USER: NULL PROCESSLIST_HOST: NULL PROCESSLIST_DB: NULL PROCESSLIST_COMMAND: NULL PROCESSLIST_TIME: 215859 PROCESSLIST_STATE: Table lock PROCESSLIST_INFO: INTERNAL DDL LOG RECOVER IN PROGRESS PARENT_THREAD_ID: NULL ROLE: NULL INSTRUMENTED: YES ... *************************** 21. row *************************** THREAD_ID: 64 NAME: thread/sql/one_connection TYPE: FOREGROUND PROCESSLIST_ID: 44 PROCESSLIST_USER: root PROCESSLIST_HOST: localhost PROCESSLIST_DB: NULL PROCESSLIST_COMMAND: Query PROCESSLIST_TIME: 0 PROCESSLIST_STATE: Sending data PROCESSLIST_INFO: SELECT * FROM performance_schema.threads PARENT_THREAD_ID: NULL ROLE: NULL INSTRUMENTED: YES
This page is licensed: CC BY-SA / Gnu FDL
Last updated
Was this helpful?