29.6 Performance Schema Instrument Naming Conventions (original) (raw)

An instrument name consists of a sequence of elements separated by'/' characters. Example names:

wait/io/file/myisam/log
wait/io/file/mysys/charset
wait/lock/table/sql/handler
wait/synch/cond/mysys/COND_alarm
wait/synch/cond/sql/BINLOG::update_cond
wait/synch/mutex/mysys/BITMAP_mutex
wait/synch/mutex/sql/LOCK_delete
wait/synch/rwlock/sql/Query_cache_query::lock
stage/sql/closing tables
stage/sql/Sorting result
statement/com/Execute
statement/com/Query
statement/sql/create_table
statement/sql/lock_tables
errors

The instrument name space has a tree-like structure. The elements of an instrument name from left to right provide a progression from more general to more specific. The number of elements a name has depends on the type of instrument.

The interpretation of a given element in a name depends on the elements to the left of it. For example, myisam appears in both of the following names, butmyisam in the first name is related to file I/O, whereas in the second it is related to a synchronization instrument:

wait/io/file/myisam/log
wait/synch/cond/myisam/MI_SORT_INFO::cond

Instrument names consist of a prefix with a structure defined by the Performance Schema implementation and a suffix defined by the developer implementing the instrument code. The top-level element of an instrument prefix indicates the type of instrument. This element also determines which event timer in theperformance_timers table applies to the instrument. For the prefix part of instrument names, the top level indicates the type of instrument.

The suffix part of instrument names comes from the code for the instruments themselves. Suffixes may include levels such as these:

Top-Level Instrument Elements

Error Instrument Elements

The error instrument indicates whether to collect information for server errors and warnings. This instrument is enabled by default. The TIMED column for the error row in thesetup_instruments table is inapplicable because timing information is not collected.

Memory Instrument Elements

Memory instrumentation is enabled by default. Memory instrumentation can be enabled or disabled at startup, or dynamically at runtime by updating theENABLED column of the relevant instruments in the setup_instruments table. Memory instruments have names of the formmemory/_`codearea`_/_`instrumentname`_ where codearea is a value such assql or myisam, and_instrumentname_ is the instrument detail.

Instruments named with the prefixmemory/performance_schema/ expose how much memory is allocated for internal buffers in the Performance Schema. The memory/performance_schema/ instruments are built in, always enabled, and cannot be disabled at startup or runtime. Built-in memory instruments are displayed only in thememory_summary_global_by_event_name table. For more information, seeSection 29.17, “The Performance Schema Memory-Allocation Model”.

Stage Instrument Elements

Stage instruments have names of the formstage/_`codearea`_/_`stagename`_, where codearea is a value such assql or myisam, and_stagename_ indicates the stage of statement processing, such as Sorting result or Sending data. Stages correspond to the thread states displayed by SHOW PROCESSLIST or that are visible in the Information Schema PROCESSLIST table.

Statement Instrument Elements

Thread Instrument Elements

Instrumented threads are displayed in thesetup_threads table, which exposes thread class names and attributes.

Thread instruments begin with thread (for example, thread/sql/parser_service orthread/performance_schema/setup).

The names of thread instruments forndbcluster plugin threads begin withthread/ndbcluster/; for more information about these, see ndbcluster Plugin Threads.

Wait Instrument Elements