MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Instrumentation Interface
Collaboration diagram for Instrumentation Interface:

Modules

 File Instrumentation
 Idle Instrumentation
 Socket Instrumentation
 Stage Instrumentation
 Statement Instrumentation
 Table Instrumentation
 Thread Instrumentation

Classes

struct  PSI_bootstrap
struct  PSI_none
struct  PSI_stage_info_none

Macros

#define PSI_MUTEX_CALL(M)   PSI_DYNAMIC_CALL(M)
#define PSI_RWLOCK_CALL(M)   PSI_DYNAMIC_CALL(M)
#define PSI_COND_CALL(M)   PSI_DYNAMIC_CALL(M)
#define PSI_THREAD_CALL(M)   PSI_DYNAMIC_CALL(M)
#define PSI_FILE_CALL(M)   PSI_DYNAMIC_CALL(M)
#define PSI_SOCKET_CALL(M)   PSI_DYNAMIC_CALL(M)
#define PSI_STAGE_CALL(M)   PSI_DYNAMIC_CALL(M)
#define PSI_STATEMENT_CALL(M)   PSI_DYNAMIC_CALL(M)
#define PSI_TABLE_CALL(M)   PSI_DYNAMIC_CALL(M)
#define PSI_IDLE_CALL(M)   PSI_DYNAMIC_CALL(M)
#define PSI_DYNAMIC_CALL(M)   PSI_server->M

Typedefs

typedef struct PSI_mutex PSI_mutex
typedef struct PSI_rwlock PSI_rwlock
typedef struct PSI_cond PSI_cond
typedef struct PSI_table_share PSI_table_share
typedef struct PSI_table PSI_table
typedef struct PSI_thread PSI_thread
typedef struct PSI_file PSI_file
typedef struct PSI_socket PSI_socket
typedef struct PSI_table_locker PSI_table_locker
typedef struct PSI_statement_locker PSI_statement_locker
typedef struct PSI_idle_locker PSI_idle_locker
typedef struct PSI_digest_locker PSI_digest_locker
typedef struct PSI_bootstrap PSI_bootstrap
typedef struct PSI_none PSI
typedef struct PSI_stage_info_none PSI_stage_info

Variables

MYSQL_PLUGIN_IMPORT PSIPSI_server

Detailed Description

Typedef Documentation

The stage instrumentation has to co exist with the legacy THD::set_proc_info instrumentation. To avoid duplication of the instrumentation in the server, the common PSI_stage_info structure is used, so we export it here, even when not building with HAVE_PSI_INTERFACE.

Definition at line 2372 of file psi.h.

Variable Documentation

MYSQL_PLUGIN_IMPORT PSI* PSI_server

Instance of the instrumentation interface for the MySQL server.

Todo:
This is currently a global variable, which is handy when compiling instrumented code that is bundled with the server. When dynamic plugin are truly supported, this variable will need to be replaced by a macro, so that each XYZ plugin can have it's own xyz_psi_server variable, obtained from PSI_bootstrap::get_interface() with the version used at compile time for plugin XYZ.

Definition at line 765 of file psi_noop.c.