Pre Filtering by Thread
The threads table contains a row for each server thread. Each row contains information about a
thread and indicates whether monitoring is enabled for it. For the Performance Schema to monitor a
thread, these things must be true:
• The thread_instrumentation consumer in the setup_consumers table must be YES.
• The thread.INSTRUMENTED column must be YES.
• Monitoring occurs only for those thread events produced from instruments that are enabled, as
specified in the setup_instruments table.
The INSTRUMENTED column in the threads table indicates the monitoring state for each thread. For
foreground threads (resulting from client connections), the initial INSTRUMENTED value is determined
by whether the user account associated with the thread matches any row in the setup_actors table.
For background threads, INSTRUMENTED is YES by default. setup_actors is not consulted because
there is no associated user for background threads. For any thread, its INSTRUMENTED value can be
changed during the life of the thread.
The initial setup_actors contents look like this:
mysql SELECT * FROM setup_actors;
| HOST | USER | ROLE |
| % | % | % |
The Performance Schema uses the HOST and USER columns to match each new foreground thread.
(ROLE is unused.) The INSTRUMENTED value for the thread becomes YES if any row matches. This
enables instrumenting to be applied selectively per host, user, or combination of host and user.
The HOST and USER columns should contain a literal host or user name, or '%' to match any name.
By default, monitoring is enabled for all new foreground threads because the setup_actors table
initially contains a row with '%' for both HOST and USER. To perform more limited matching such as to
enable monitoring only for some foreground threads, you must delete this row because it matches any
... zobacz całą notatkę