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

Classes

struct  PFS_account_key
struct  PFS_account
struct  PFS_connection_slice
struct  PFS_host_key
struct  PFS_host
struct  PFS_instr
struct  PFS_mutex
struct  PFS_rwlock
struct  PFS_cond
struct  PFS_file
struct  PFS_table
struct  PFS_socket
struct  PFS_scan
struct  PFS_thread
struct  PFS_instr_config
struct  PFS_instr_class
struct  PFS_mutex_class
struct  PFS_rwlock_class
struct  PFS_cond_class
struct  PFS_thread_class
struct  PFS_table_share_key
struct  PFS_table_key
struct  PFS_table_share
struct  PFS_file_class
struct  PFS_stage_class
struct  PFS_statement_class
struct  PFS_socket_class
struct  pfs_lock
struct  PFS_setup_actor_key
struct  PFS_setup_actor
struct  PFS_setup_object_key
struct  PFS_setup_object
struct  PFS_single_stat
struct  PFS_byte_stat
struct  PFS_mutex_stat
struct  PFS_rwlock_stat
struct  PFS_cond_stat
struct  PFS_file_io_stat
struct  PFS_file_stat
struct  PFS_stage_stat
struct  PFS_statement_stat
struct  PFS_table_io_stat
struct  PFS_table_lock_stat
struct  PFS_table_stat
struct  PFS_socket_io_stat
struct  PFS_socket_stat
struct  PFS_connection_stat
struct  PFS_user_key
struct  PFS_user
class  PFS_connection_visitor
class  PFS_connection_iterator
class  PFS_instance_visitor
class  PFS_instance_iterator
class  PFS_object_visitor
class  PFS_object_iterator
class  PFS_connection_wait_visitor
class  PFS_connection_all_wait_visitor
class  PFS_connection_stage_visitor
class  PFS_connection_statement_visitor
class  PFS_connection_all_statement_visitor
class  PFS_connection_stat_visitor
class  PFS_instance_wait_visitor
class  PFS_object_wait_visitor
class  PFS_table_io_wait_visitor
class  PFS_table_io_stat_visitor
class  PFS_index_io_stat_visitor
class  PFS_table_lock_wait_visitor
class  PFS_table_lock_stat_visitor
class  PFS_instance_socket_io_stat_visitor
class  PFS_instance_file_io_stat_visitor

Macros

#define WAIT_STACK_LOGICAL_SIZE   5
#define WAIT_STACK_BOTTOM   1
#define WAIT_STACK_SIZE   (WAIT_STACK_BOTTOM + WAIT_STACK_LOGICAL_SIZE)
#define PFS_MAX_ALLOC_RETRY   1000
#define PFS_MAX_SCAN_PASS   2
#define REGISTER_CLASS_BODY_PART(INDEX, ARRAY, MAX, NAME, NAME_LENGTH)
#define FIND_CLASS_BODY(KEY, COUNT, ARRAY)
#define GLOBAL_TABLE_IO_EVENT_INDEX   0
#define GLOBAL_TABLE_LOCK_EVENT_INDEX   1
#define GLOBAL_IDLE_EVENT_INDEX   2
#define PFS_LOCK_FREE   0x00
#define PFS_LOCK_DIRTY   0x01
#define PFS_LOCK_ALLOCATED   0x02
#define VERSION_MASK   0xFFFFFFFC
#define STATE_MASK   0x00000003
#define VERSION_INC   4
#define COUNT_PFS_TL_LOCK_TYPE   11

Typedefs

typedef unsigned int PFS_sync_key
typedef unsigned int PFS_thread_key
typedef unsigned int PFS_file_key
typedef unsigned int PFS_stage_key
typedef unsigned int PFS_statement_key
typedef unsigned int PFS_socket_key

Enumerations

enum  PFS_class_type {
  PFS_CLASS_NONE = 0, PFS_CLASS_MUTEX = 1, PFS_CLASS_RWLOCK = 2, PFS_CLASS_COND = 3,
  PFS_CLASS_FILE = 4, PFS_CLASS_TABLE = 5, PFS_CLASS_STAGE = 6, PFS_CLASS_STATEMENT = 7,
  PFS_CLASS_SOCKET = 8, PFS_CLASS_TABLE_IO = 9, PFS_CLASS_TABLE_LOCK = 10, PFS_CLASS_IDLE = 11,
  PFS_CLASS_LAST = PFS_CLASS_IDLE, PFS_CLASS_MAX = PFS_CLASS_LAST + 1
}
enum  PFS_TL_LOCK_TYPE {
  PFS_TL_READ = 0, PFS_TL_READ_WITH_SHARED_LOCKS = 1, PFS_TL_READ_HIGH_PRIORITY = 2, PFS_TL_READ_NO_INSERT = 3,
  PFS_TL_WRITE_ALLOW_WRITE = 4, PFS_TL_WRITE_CONCURRENT_INSERT = 5, PFS_TL_WRITE_DELAYED = 6, PFS_TL_WRITE_LOW_PRIORITY = 7,
  PFS_TL_WRITE = 8, PFS_TL_READ_EXTERNAL = 9, PFS_TL_WRITE_EXTERNAL = 10
}

Functions

int init_account (const PFS_global_param *param)
void cleanup_account (void)
C_MODE_END int init_account_hash (void)
void cleanup_account_hash (void)
PFS_accountfind_or_create_account (PFS_thread *thread, const char *username, uint username_length, const char *hostname, uint hostname_length)
PFS_accountsanitize_account (PFS_account *unsafe)
void purge_account (PFS_thread *thread, PFS_account *account, PFS_user *safe_user, PFS_host *safe_host)
void purge_all_account (void)
int init_host (const PFS_global_param *param)
void cleanup_host (void)
C_MODE_END int init_host_hash (void)
void cleanup_host_hash (void)
PFS_hostfind_or_create_host (PFS_thread *thread, const char *hostname, uint hostname_length)
PFS_hostsanitize_host (PFS_host *unsafe)
void purge_host (PFS_thread *thread, PFS_host *host)
void purge_all_host (void)
int init_instruments (const PFS_global_param *param)
void cleanup_instruments (void)
C_MODE_END int init_file_hash (void)
void cleanup_file_hash (void)
PFS_mutexcreate_mutex (PFS_mutex_class *klass, const void *identity)
void destroy_mutex (PFS_mutex *pfs)
PFS_rwlockcreate_rwlock (PFS_rwlock_class *klass, const void *identity)
void destroy_rwlock (PFS_rwlock *pfs)
PFS_condcreate_cond (PFS_cond_class *klass, const void *identity)
void destroy_cond (PFS_cond *pfs)
PFS_threadcreate_thread (PFS_thread_class *klass, const void *identity, ulonglong processlist_id)
PFS_mutexsanitize_mutex (PFS_mutex *unsafe)
PFS_rwlocksanitize_rwlock (PFS_rwlock *unsafe)
PFS_condsanitize_cond (PFS_cond *unsafe)
PFS_threadsanitize_thread (PFS_thread *unsafe)
PFS_filesanitize_file (PFS_file *unsafe)
PFS_socketsanitize_socket (PFS_socket *unsafe)
void destroy_thread (PFS_thread *pfs)
LF_PINSget_filename_hash_pins (PFS_thread *thread)
PFS_filefind_or_create_file (PFS_thread *thread, PFS_file_class *klass, const char *filename, uint len, bool create)
void release_file (PFS_file *pfs)
void destroy_file (PFS_thread *thread, PFS_file *pfs)
PFS_tablecreate_table (PFS_table_share *share, PFS_thread *opening_thread, const void *identity)
void destroy_table (PFS_table *pfs)
PFS_socketcreate_socket (PFS_socket_class *klass, const my_socket *fd, const struct sockaddr *addr, socklen_t addr_len)
void destroy_socket (PFS_socket *pfs)
void reset_events_waits_by_instance (void)
void reset_file_instance_io (void)
void reset_socket_instance_io (void)
void aggregate_all_event_names (PFS_single_stat *from_array, PFS_single_stat *to_array)
void aggregate_all_event_names (PFS_single_stat *from_array, PFS_single_stat *to_array_1, PFS_single_stat *to_array_2)
void aggregate_all_stages (PFS_stage_stat *from_array, PFS_stage_stat *to_array)
void aggregate_all_stages (PFS_stage_stat *from_array, PFS_stage_stat *to_array_1, PFS_stage_stat *to_array_2)
void aggregate_all_statements (PFS_statement_stat *from_array, PFS_statement_stat *to_array)
void aggregate_all_statements (PFS_statement_stat *from_array, PFS_statement_stat *to_array_1, PFS_statement_stat *to_array_2)
void aggregate_thread_stats (PFS_thread *thread, PFS_account *safe_account, PFS_user *safe_user, PFS_host *safe_host)
void aggregate_thread (PFS_thread *thread, PFS_account *safe_account, PFS_user *safe_user, PFS_host *safe_host)
void aggregate_thread_waits (PFS_thread *thread, PFS_account *safe_account, PFS_user *safe_user, PFS_host *safe_host)
void aggregate_thread_stages (PFS_thread *thread, PFS_account *safe_account, PFS_user *safe_user, PFS_host *safe_host)
void aggregate_thread_statements (PFS_thread *thread, PFS_account *safe_account, PFS_user *safe_user, PFS_host *safe_host)
void clear_thread_account (PFS_thread *thread)
void set_thread_account (PFS_thread *thread)
void update_mutex_derived_flags ()
void update_rwlock_derived_flags ()
void update_cond_derived_flags ()
void update_file_derived_flags ()
void update_table_derived_flags ()
void update_socket_derived_flags ()
void update_instruments_derived_flags ()
void init_event_name_sizing (const PFS_global_param *param)
void register_global_classes ()
int init_sync_class (uint mutex_class_sizing, uint rwlock_class_sizing, uint cond_class_sizing)
void cleanup_sync_class (void)
int init_thread_class (uint thread_class_sizing)
void cleanup_thread_class (void)
int init_table_share (uint table_share_sizing)
void cleanup_table_share (void)
C_MODE_END int init_table_share_hash (void)
void cleanup_table_share_hash (void)
LF_PINSget_table_share_hash_pins (PFS_thread *thread)
int init_file_class (uint file_class_sizing)
void cleanup_file_class (void)
int init_stage_class (uint stage_class_sizing)
void cleanup_stage_class (void)
int init_statement_class (uint statement_class_sizing)
void cleanup_statement_class (void)
int init_socket_class (uint socket_class_sizing)
void cleanup_socket_class (void)
PFS_sync_key register_mutex_class (const char *name, uint name_length, int flags)
PFS_sync_key register_rwlock_class (const char *name, uint name_length, int flags)
PFS_sync_key register_cond_class (const char *name, uint name_length, int flags)
PFS_mutex_classfind_mutex_class (PFS_sync_key key)
PFS_mutex_classsanitize_mutex_class (PFS_mutex_class *unsafe)
PFS_rwlock_classfind_rwlock_class (PFS_sync_key key)
PFS_rwlock_classsanitize_rwlock_class (PFS_rwlock_class *unsafe)
PFS_cond_classfind_cond_class (PFS_sync_key key)
PFS_cond_classsanitize_cond_class (PFS_cond_class *unsafe)
PFS_thread_key register_thread_class (const char *name, uint name_length, int flags)
PFS_thread_classfind_thread_class (PFS_sync_key key)
PFS_thread_classsanitize_thread_class (PFS_thread_class *unsafe)
PFS_file_key register_file_class (const char *name, uint name_length, int flags)
PFS_stage_key register_stage_class (const char *name, uint prefix_length, uint name_length, int flags)
PFS_statement_key register_statement_class (const char *name, uint name_length, int flags)
PFS_file_classfind_file_class (PFS_file_key key)
PFS_file_classsanitize_file_class (PFS_file_class *unsafe)
PFS_stage_classfind_stage_class (PFS_stage_key key)
PFS_stage_classsanitize_stage_class (PFS_stage_class *unsafe)
PFS_statement_classfind_statement_class (PFS_stage_key key)
PFS_statement_classsanitize_statement_class (PFS_statement_class *unsafe)
PFS_socket_key register_socket_class (const char *name, uint name_length, int flags)
PFS_socket_classfind_socket_class (PFS_socket_key key)
PFS_socket_classsanitize_socket_class (PFS_socket_class *unsafe)
PFS_instr_classfind_table_class (uint index)
PFS_instr_classsanitize_table_class (PFS_instr_class *unsafe)
PFS_instr_classfind_idle_class (uint index)
PFS_instr_classsanitize_idle_class (PFS_instr_class *unsafe)
PFS_table_sharefind_or_create_table_share (PFS_thread *thread, bool temporary, const TABLE_SHARE *share)
void release_table_share (PFS_table_share *pfs)
void drop_table_share (PFS_thread *thread, bool temporary, const char *schema_name, uint schema_name_length, const char *table_name, uint table_name_length)
PFS_table_sharesanitize_table_share (PFS_table_share *unsafe)
void reset_events_waits_by_class ()
void reset_file_class_io (void)
void reset_socket_class_io (void)
void update_table_share_derived_flags (PFS_thread *thread)
uint sanitize_index_count (uint count)
PFS_mutex_classfind_mutex_class (PSI_mutex_key key)
PFS_rwlock_classfind_rwlock_class (PSI_rwlock_key key)
PFS_cond_classfind_cond_class (PSI_cond_key key)
PFS_thread_classfind_thread_class (PSI_thread_key key)
PFS_file_classfind_file_class (PSI_file_key key)
PFS_stage_classfind_stage_class (PSI_stage_key key)
PFS_statement_classfind_statement_class (PSI_statement_key key)
PFS_socket_classfind_socket_class (PSI_socket_key key)
int init_setup_actor (const PFS_global_param *param)
void cleanup_setup_actor (void)
C_MODE_END int init_setup_actor_hash (void)
void cleanup_setup_actor_hash (void)
int insert_setup_actor (const String *user, const String *host, const String *role)
int delete_setup_actor (const String *user, const String *host, const String *role)
int reset_setup_actor ()
long setup_actor_count ()
void lookup_setup_actor (PFS_thread *thread, const char *user, uint user_length, const char *host, uint host_length, bool *enabled)
int init_setup_object (const PFS_global_param *param)
void cleanup_setup_object (void)
C_MODE_END int init_setup_object_hash (void)
void cleanup_setup_object_hash (void)
int insert_setup_object (enum_object_type object_type, const String *schema, const String *object, bool enabled, bool timed)
int delete_setup_object (enum_object_type object_type, const String *schema, const String *object)
int reset_setup_object ()
long setup_object_count ()
void lookup_setup_object (PFS_thread *thread, enum_object_type object_type, const char *schema_name, int schema_name_length, const char *object_name, int object_name_length, bool *enabled, bool *timed)
int init_user (const PFS_global_param *param)
void cleanup_user (void)
C_MODE_END int init_user_hash (void)
void cleanup_user_hash (void)
PFS_userfind_or_create_user (PFS_thread *thread, const char *username, uint username_length)
PFS_usersanitize_user (PFS_user *unsafe)
void purge_user (PFS_thread *thread, PFS_user *user)
void purge_all_user (void)
void PFS_account::aggregate (PFS_user *safe_user, PFS_host *safe_host)
void PFS_account::aggregate_waits (PFS_user *safe_user, PFS_host *safe_host)
void PFS_account::aggregate_stages (PFS_user *safe_user, PFS_host *safe_host)
void PFS_account::aggregate_statements (PFS_user *safe_user, PFS_host *safe_host)
void PFS_account::aggregate_stats (PFS_user *safe_user, PFS_host *safe_host)
void PFS_account::release (void)
static PFS_single_statPFS_connection_slice::alloc_waits_slice (uint sizing)
static PFS_stage_statPFS_connection_slice::alloc_stages_slice (uint sizing)
static PFS_statement_statPFS_connection_slice::alloc_statements_slice (uint sizing)
void PFS_connection_slice::reset_waits_stats ()
void PFS_connection_slice::reset_stages_stats ()
void PFS_connection_slice::reset_statements_stats ()
void PFS_host::aggregate (void)
void PFS_host::aggregate_waits (void)
void PFS_host::aggregate_stages (void)
void PFS_host::aggregate_statements (void)
void PFS_host::aggregate_stats (void)
void PFS_host::release (void)
void PFS_scan::init (uint random, uint max_size)
static PFS_threadPFS_thread::get_current_thread (void)
void PFS_thread::reset_session_connect_attrs ()
void PFS_table::sanitized_aggregate (void)
void PFS_table::sanitized_aggregate_io (void)
void PFS_table::sanitized_aggregate_lock (void)
void PFS_table_share::refresh_setup_object_flags (PFS_thread *thread)
void PFS_table_share::aggregate_io (void)
void PFS_table_share::aggregate_lock (void)
void PFS_user::aggregate (void)
void PFS_user::aggregate_waits (void)
void PFS_user::aggregate_stages (void)
void PFS_user::aggregate_statements (void)
void PFS_user::aggregate_stats (void)
void PFS_user::release (void)
static void PFS_connection_iterator::visit_global (bool with_hosts, bool with_users, bool with_accounts, bool with_threads, PFS_connection_visitor *visitor)
static void PFS_connection_iterator::visit_host (PFS_host *host, bool with_accounts, bool with_threads, PFS_connection_visitor *visitor)
static void PFS_connection_iterator::visit_user (PFS_user *user, bool with_accounts, bool with_threads, PFS_connection_visitor *visitor)
static void PFS_connection_iterator::visit_account (PFS_account *account, bool with_threads, PFS_connection_visitor *visitor)
static void PFS_instance_iterator::visit_all (PFS_instance_visitor *visitor)
static void PFS_instance_iterator::visit_all_mutex (PFS_instance_visitor *visitor)
static void PFS_instance_iterator::visit_all_mutex_classes (PFS_instance_visitor *visitor)
static void PFS_instance_iterator::visit_all_mutex_instances (PFS_instance_visitor *visitor)
static void PFS_instance_iterator::visit_all_rwlock (PFS_instance_visitor *visitor)
static void PFS_instance_iterator::visit_all_rwlock_classes (PFS_instance_visitor *visitor)
static void PFS_instance_iterator::visit_all_rwlock_instances (PFS_instance_visitor *visitor)
static void PFS_instance_iterator::visit_all_cond (PFS_instance_visitor *visitor)
static void PFS_instance_iterator::visit_all_cond_classes (PFS_instance_visitor *visitor)
static void PFS_instance_iterator::visit_all_cond_instances (PFS_instance_visitor *visitor)
static void PFS_instance_iterator::visit_all_file (PFS_instance_visitor *visitor)
static void PFS_instance_iterator::visit_all_file_classes (PFS_instance_visitor *visitor)
static void PFS_instance_iterator::visit_all_file_instances (PFS_instance_visitor *visitor)
static void PFS_instance_iterator::visit_mutex_instances (PFS_mutex_class *klass, PFS_instance_visitor *visitor)
static void PFS_instance_iterator::visit_rwlock_instances (PFS_rwlock_class *klass, PFS_instance_visitor *visitor)
static void PFS_instance_iterator::visit_cond_instances (PFS_cond_class *klass, PFS_instance_visitor *visitor)
static void PFS_instance_iterator::visit_file_instances (PFS_file_class *klass, PFS_instance_visitor *visitor)
static void PFS_instance_iterator::visit_socket_instances (PFS_socket_class *klass, PFS_instance_visitor *visitor)
static void PFS_instance_iterator::visit_socket_instances (PFS_socket_class *klass, PFS_instance_visitor *visitor, PFS_thread *thread, bool visit_class=true)
static void PFS_instance_iterator::visit_instances (PFS_instr_class *klass, PFS_instance_visitor *visitor, PFS_thread *thread, bool visit_class=true)
static void PFS_object_iterator::visit_all (PFS_object_visitor *visitor)
static void PFS_object_iterator::visit_all_tables (PFS_object_visitor *visitor)
static void PFS_object_iterator::visit_tables (PFS_table_share *share, PFS_object_visitor *visitor)
static void PFS_object_iterator::visit_table_indexes (PFS_table_share *share, uint index, PFS_object_visitor *visitor)
 PFS_connection_wait_visitor::PFS_connection_wait_visitor (PFS_instr_class *klass)
virtual void PFS_connection_wait_visitor::visit_global ()
virtual void PFS_connection_wait_visitor::visit_host (PFS_host *pfs)
virtual void PFS_connection_wait_visitor::visit_user (PFS_user *pfs)
virtual void PFS_connection_wait_visitor::visit_account (PFS_account *pfs)
virtual void PFS_connection_wait_visitor::visit_thread (PFS_thread *pfs)
 PFS_connection_all_wait_visitor::PFS_connection_all_wait_visitor ()
virtual void PFS_connection_all_wait_visitor::visit_global ()
virtual void PFS_connection_all_wait_visitor::visit_host (PFS_host *pfs)
virtual void PFS_connection_all_wait_visitor::visit_user (PFS_user *pfs)
virtual void PFS_connection_all_wait_visitor::visit_account (PFS_account *pfs)
virtual void PFS_connection_all_wait_visitor::visit_thread (PFS_thread *pfs)
 PFS_connection_stage_visitor::PFS_connection_stage_visitor (PFS_stage_class *klass)
virtual void PFS_connection_stage_visitor::visit_global ()
virtual void PFS_connection_stage_visitor::visit_host (PFS_host *pfs)
virtual void PFS_connection_stage_visitor::visit_user (PFS_user *pfs)
virtual void PFS_connection_stage_visitor::visit_account (PFS_account *pfs)
virtual void PFS_connection_stage_visitor::visit_thread (PFS_thread *pfs)
 PFS_connection_statement_visitor::PFS_connection_statement_visitor (PFS_statement_class *klass)
virtual void PFS_connection_statement_visitor::visit_global ()
virtual void PFS_connection_statement_visitor::visit_host (PFS_host *pfs)
virtual void PFS_connection_statement_visitor::visit_user (PFS_user *pfs)
virtual void PFS_connection_statement_visitor::visit_account (PFS_account *pfs)
virtual void PFS_connection_statement_visitor::visit_thread (PFS_thread *pfs)
 PFS_connection_all_statement_visitor::PFS_connection_all_statement_visitor ()
virtual void PFS_connection_all_statement_visitor::visit_global ()
virtual void PFS_connection_all_statement_visitor::visit_host (PFS_host *pfs)
virtual void PFS_connection_all_statement_visitor::visit_user (PFS_user *pfs)
virtual void PFS_connection_all_statement_visitor::visit_account (PFS_account *pfs)
virtual void PFS_connection_all_statement_visitor::visit_thread (PFS_thread *pfs)
 PFS_connection_stat_visitor::PFS_connection_stat_visitor ()
virtual void PFS_connection_stat_visitor::visit_global ()
virtual void PFS_connection_stat_visitor::visit_host (PFS_host *pfs)
virtual void PFS_connection_stat_visitor::visit_user (PFS_user *pfs)
virtual void PFS_connection_stat_visitor::visit_account (PFS_account *pfs)
virtual void PFS_connection_stat_visitor::visit_thread (PFS_thread *pfs)
virtual void PFS_instance_wait_visitor::visit_mutex_class (PFS_mutex_class *pfs)
virtual void PFS_instance_wait_visitor::visit_rwlock_class (PFS_rwlock_class *pfs)
virtual void PFS_instance_wait_visitor::visit_cond_class (PFS_cond_class *pfs)
virtual void PFS_instance_wait_visitor::visit_file_class (PFS_file_class *pfs)
virtual void PFS_instance_wait_visitor::visit_socket_class (PFS_socket_class *pfs)
virtual void PFS_instance_wait_visitor::visit_mutex (PFS_mutex *pfs)
virtual void PFS_instance_wait_visitor::visit_rwlock (PFS_rwlock *pfs)
virtual void PFS_instance_wait_visitor::visit_cond (PFS_cond *pfs)
virtual void PFS_instance_wait_visitor::visit_file (PFS_file *pfs)
virtual void PFS_instance_wait_visitor::visit_socket (PFS_socket *pfs)
 PFS_object_wait_visitor::PFS_object_wait_visitor ()
virtual void PFS_object_wait_visitor::visit_global ()
virtual void PFS_object_wait_visitor::visit_table_share (PFS_table_share *pfs)
virtual void PFS_object_wait_visitor::visit_table (PFS_table *pfs)
virtual void PFS_table_io_wait_visitor::visit_global ()
virtual void PFS_table_io_wait_visitor::visit_table_share (PFS_table_share *pfs)
virtual void PFS_table_io_wait_visitor::visit_table (PFS_table *pfs)
 PFS_table_io_stat_visitor::PFS_table_io_stat_visitor ()
virtual void PFS_table_io_stat_visitor::visit_table_share (PFS_table_share *pfs)
virtual void PFS_table_io_stat_visitor::visit_table (PFS_table *pfs)
 PFS_index_io_stat_visitor::PFS_index_io_stat_visitor ()
virtual void PFS_index_io_stat_visitor::visit_table_share_index (PFS_table_share *pfs, uint index)
virtual void PFS_index_io_stat_visitor::visit_table_index (PFS_table *pfs, uint index)
 PFS_table_lock_wait_visitor::PFS_table_lock_wait_visitor ()
virtual void PFS_table_lock_wait_visitor::visit_global ()
virtual void PFS_table_lock_wait_visitor::visit_table_share (PFS_table_share *pfs)
virtual void PFS_table_lock_wait_visitor::visit_table (PFS_table *pfs)
 PFS_table_lock_stat_visitor::PFS_table_lock_stat_visitor ()
virtual void PFS_table_lock_stat_visitor::visit_table_share (PFS_table_share *pfs)
virtual void PFS_table_lock_stat_visitor::visit_table (PFS_table *pfs)
virtual void PFS_instance_socket_io_stat_visitor::visit_socket_class (PFS_socket_class *pfs)
virtual void PFS_instance_socket_io_stat_visitor::visit_socket (PFS_socket *pfs)
virtual void PFS_instance_file_io_stat_visitor::visit_file_class (PFS_file_class *pfs)
virtual void PFS_instance_file_io_stat_visitor::visit_file (PFS_file *pfs)

Variables

ulong account_max
ulong account_lost
PFS_accountaccount_array = NULL
LF_HASH account_hash
ulong account_max
ulong account_lost
PFS_accountaccount_array
LF_HASH account_hash
ulong host_max
ulong host_lost
PFS_hosthost_array = NULL
LF_HASH host_hash
ulong host_max
ulong host_lost
PFS_hosthost_array
LF_HASH host_hash
ulong mutex_max
bool mutex_full
ulong mutex_lost
ulong rwlock_max
bool rwlock_full
ulong rwlock_lost
ulong cond_max
bool cond_full
ulong cond_lost
ulong thread_max
bool thread_full
ulong thread_lost
ulong file_max
bool file_full
ulong file_lost
long file_handle_max
bool file_handle_full
ulong file_handle_lost
ulong table_max
bool table_full
ulong table_lost
ulong socket_max
bool socket_full
ulong socket_lost
ulong events_waits_history_per_thread
ulong events_stages_history_per_thread
ulong events_statements_history_per_thread
uint statement_stack_max
ulong locker_lost = 0
ulong statement_lost = 0
ulong session_connect_attrs_size_per_thread
ulong session_connect_attrs_lost = 0
PFS_mutexmutex_array = NULL
PFS_rwlockrwlock_array = NULL
PFS_condcond_array = NULL
PFS_threadthread_array = NULL
PFS_filefile_array = NULL
PFS_file ** file_handle_array = NULL
PFS_tabletable_array = NULL
PFS_socketsocket_array = NULL
PFS_stage_statglobal_instr_class_stages_array = NULL
PFS_statement_statglobal_instr_class_statements_array = NULL
LF_HASH filename_hash
uint statement_stack_max
PFS_stage_statglobal_instr_class_stages_array
PFS_statement_statglobal_instr_class_statements_array
ulong mutex_max
ulong mutex_lost
ulong rwlock_max
ulong rwlock_lost
ulong cond_max
ulong cond_lost
ulong thread_max
ulong thread_lost
ulong file_max
ulong file_lost
long file_handle_max
ulong file_handle_lost
ulong table_max
ulong table_lost
ulong socket_max
ulong socket_lost
ulong events_waits_history_per_thread
ulong events_stages_history_per_thread
ulong events_statements_history_per_thread
ulong locker_lost
ulong statement_lost
ulong session_connect_attrs_lost
ulong session_connect_attrs_size_per_thread
PFS_mutexmutex_array
PFS_rwlockrwlock_array
PFS_condcond_array
PFS_threadthread_array
PFS_filefile_array
PFS_file ** file_handle_array
PFS_tabletable_array
PFS_socketsocket_array
LF_HASH filename_hash
my_bool pfs_enabled = TRUE
DYNAMIC_ARRAY pfs_instr_config_array
int pfs_instr_config_state = PFS_INSTR_CONFIG_NOT_INITIALIZED
ulong mutex_class_max = 0
ulong mutex_class_lost = 0
ulong rwlock_class_max = 0
ulong rwlock_class_lost = 0
ulong cond_class_max = 0
ulong cond_class_lost = 0
ulong thread_class_max = 0
ulong thread_class_lost = 0
ulong file_class_max = 0
ulong file_class_lost = 0
ulong stage_class_max = 0
ulong stage_class_lost = 0
ulong statement_class_max = 0
ulong statement_class_lost = 0
ulong table_share_max = 0
ulong table_share_lost = 0
ulong socket_class_max = 0
ulong socket_class_lost = 0
PFS_mutex_classmutex_class_array = NULL
PFS_rwlock_classrwlock_class_array = NULL
PFS_cond_classcond_class_array = NULL
PFS_table_sharetable_share_array = NULL
PFS_ALIGNED PFS_single_stat global_idle_stat
PFS_ALIGNED PFS_table_io_stat global_table_io_stat
PFS_ALIGNED PFS_table_lock_stat global_table_lock_stat
PFS_ALIGNED PFS_instr_class global_table_io_class
PFS_ALIGNED PFS_instr_class global_table_lock_class
PFS_ALIGNED PFS_instr_class global_idle_class
enum_timer_nameclass_timers []
LF_HASH table_share_hash
PFS_file_classfile_class_array = NULL
uint mutex_class_start = 0
uint rwlock_class_start = 0
uint cond_class_start = 0
uint file_class_start = 0
uint wait_class_max = 0
uint socket_class_start = 0
my_bool pfs_enabled
enum_timer_nameclass_timers []
DYNAMIC_ARRAY pfs_instr_config_array
int pfs_instr_config_state
uint mutex_class_start
uint rwlock_class_start
uint cond_class_start
uint file_class_start
uint socket_class_start
uint wait_class_max
PFS_single_stat global_idle_stat
PFS_table_io_stat global_table_io_stat
PFS_table_lock_stat global_table_lock_stat
PFS_instr_class global_table_io_class
PFS_instr_class global_table_lock_class
PFS_instr_class global_idle_class
ulong mutex_class_max
ulong mutex_class_lost
ulong rwlock_class_max
ulong rwlock_class_lost
ulong cond_class_max
ulong cond_class_lost
ulong thread_class_max
ulong thread_class_lost
ulong file_class_max
ulong file_class_lost
ulong stage_class_max
ulong stage_class_lost
ulong statement_class_max
ulong statement_class_lost
ulong socket_class_max
ulong socket_class_lost
ulong table_share_max
ulong table_share_lost
PFS_mutex_classmutex_class_array
PFS_rwlock_classrwlock_class_array
PFS_cond_classcond_class_array
PFS_file_classfile_class_array
PFS_table_sharetable_share_array
LF_HASH table_share_hash
ulong setup_actor_max
PFS_setup_actorsetup_actor_array = NULL
LF_HASH setup_actor_hash
ulong setup_actor_max
PFS_setup_actorsetup_actor_array
LF_HASH setup_actor_hash
uint setup_objects_version = 0
ulong setup_object_max
PFS_setup_objectsetup_object_array = NULL
LF_HASH setup_object_hash
ulong setup_object_max
PFS_setup_objectsetup_object_array
LF_HASH setup_object_hash
ulong user_max
ulong user_lost
PFS_useruser_array = NULL
LF_HASH user_hash
ulong user_max
ulong user_lost
PFS_useruser_array
LF_HASH user_hash

Detailed Description

Macro Definition Documentation

#define FIND_CLASS_BODY (   KEY,
  COUNT,
  ARRAY 
)
Value:
if ((KEY == 0) || (KEY > COUNT)) \
return NULL; \
return &ARRAY[KEY - 1]

Definition at line 838 of file pfs_instr_class.cc.

#define PFS_LOCK_ALLOCATED   0x02

State of an allocated record. Values of an allocated record are safe to read by a reader. A writer may modify some but not all properties of the record: only modifying values that can never cause the reader to crash is allowed.

Definition at line 51 of file pfs_lock.h.

#define PFS_LOCK_DIRTY   0x01

State of a dirty record. Values of a dirty record should not be read by a reader, as the record is currently being modified. Only one writer, the writer which owns the record, should modify the record content.

Definition at line 44 of file pfs_lock.h.

#define PFS_LOCK_FREE   0x00

State of a free record. Values of a free record should not be read by a reader. Writers can concurrently attempt to allocate a free record.

Definition at line 36 of file pfs_lock.h.

#define PFS_MAX_ALLOC_RETRY   1000

Maximum number of times the code attempts to allocate an item from internal buffers, before giving up.

Definition at line 307 of file pfs_instr.h.

#define PFS_MAX_SCAN_PASS   2

The maximun number of passes in

See Also
PFS_scan.

Definition at line 310 of file pfs_instr.h.

#define REGISTER_CLASS_BODY_PART (   INDEX,
  ARRAY,
  MAX,
  NAME,
  NAME_LENGTH 
)
Value:
for (INDEX= 0; INDEX < MAX; INDEX++) \
{ \
entry= &ARRAY[INDEX]; \
if ((entry->m_name_length == NAME_LENGTH) && \
(strncmp(entry->m_name, NAME, NAME_LENGTH) == 0)) \
{ \
DBUG_ASSERT(entry->m_flags == flags); \
return (INDEX + 1); \
} \
}

Definition at line 658 of file pfs_instr_class.cc.

#define WAIT_STACK_BOTTOM   1

Maximum number dummy waits records. One dummy record is reserved for the parent stage / statement, at the bottom of the wait stack.

Definition at line 292 of file pfs_instr.h.

#define WAIT_STACK_LOGICAL_SIZE   5

Maximum number of nested waits. Some waits, such as:

  • "wait/io/table/sql/handler"
  • "wait/lock/table/sql/handler" are implemented by calling code in a storage engine, that can cause nested waits (file io, mutex, ...) Because of partitioned tables, a table io event (on the whole table) can contain a nested table io event (on a partition). Because of additional debug instrumentation, waiting on what looks like a "mutex" (safe_mutex, innodb sync0sync, ...) can cause nested waits to be recorded. For example, a wait on innodb mutexes can lead to:
  • wait/sync/mutex/innobase/some_mutex
    • wait/sync/mutex/innobase/sync0sync
      • wait/sync/mutex/innobase/os0sync The max depth of the event stack must be sufficient for these low level details to be visible.

Definition at line 285 of file pfs_instr.h.

#define WAIT_STACK_SIZE   (WAIT_STACK_BOTTOM + WAIT_STACK_LOGICAL_SIZE)

Physical size of the waits stack

Definition at line 297 of file pfs_instr.h.

Typedef Documentation

typedef unsigned int PFS_file_key

Key, naming a file instrument.

Definition at line 66 of file pfs_instr_class.h.

typedef unsigned int PFS_socket_key

Key, naming a socket instrument.

Definition at line 72 of file pfs_instr_class.h.

typedef unsigned int PFS_stage_key

Key, naming a stage instrument.

Definition at line 68 of file pfs_instr_class.h.

typedef unsigned int PFS_statement_key

Key, naming a statement instrument.

Definition at line 70 of file pfs_instr_class.h.

typedef unsigned int PFS_sync_key

Key, naming a synch instrument (mutex, rwlock, cond).

Definition at line 62 of file pfs_instr_class.h.

typedef unsigned int PFS_thread_key

Key, naming a thread instrument.

Definition at line 64 of file pfs_instr_class.h.

Function Documentation

PFS_stage_stat * PFS_connection_slice::alloc_stages_slice ( uint  sizing)
static

Allocate memory for stages statistics.

Parameters
sizingthe number of stage classes.
Returns
stage statistics for this slice.

Definition at line 54 of file pfs_con_slice.cc.

Here is the caller graph for this function:

PFS_statement_stat * PFS_connection_slice::alloc_statements_slice ( uint  sizing)
static

Allocate memory for statement statistics.

Parameters
sizingthe number of statement classes.
Returns
statement statistics for this slice.

Definition at line 73 of file pfs_con_slice.cc.

Here is the caller graph for this function:

PFS_single_stat * PFS_connection_slice::alloc_waits_slice ( uint  sizing)
static

Allocate memory for waits statistics.

Parameters
sizingthe number of wait classes.
Returns
wait statistics for this slice.

Definition at line 35 of file pfs_con_slice.cc.

Here is the caller graph for this function:

void cleanup_account ( void  )

Cleanup all the user buffers.

Definition at line 116 of file pfs_account.cc.

Here is the call graph for this function:

void cleanup_account_hash ( void  )

Cleanup the user hash.

Definition at line 159 of file pfs_account.cc.

void cleanup_file_class ( void  )

Cleanup the file class buffers.

Definition at line 496 of file pfs_instr_class.cc.

Here is the call graph for this function:

void cleanup_file_hash ( void  )

Cleanup the file name hash.

Definition at line 537 of file pfs_instr.cc.

void cleanup_host ( void  )

Cleanup all the host buffers.

Definition at line 113 of file pfs_host.cc.

Here is the call graph for this function:

void cleanup_host_hash ( void  )

Cleanup the host hash.

Definition at line 160 of file pfs_host.cc.

void cleanup_instruments ( void  )

Cleanup all the instruments buffers.

Definition at line 458 of file pfs_instr.cc.

Here is the call graph for this function:

void cleanup_setup_actor ( void  )

Cleanup all the setup actor buffers.

Definition at line 73 of file pfs_setup_actor.cc.

Here is the call graph for this function:

void cleanup_setup_actor_hash ( void  )

Cleanup the setup actor hash.

Definition at line 114 of file pfs_setup_actor.cc.

void cleanup_setup_object ( void  )

Cleanup all the setup object buffers.

Definition at line 68 of file pfs_setup_object.cc.

Here is the call graph for this function:

void cleanup_setup_object_hash ( void  )

Cleanup the setup objects hash.

Definition at line 109 of file pfs_setup_object.cc.

void cleanup_socket_class ( void  )

Cleanup the socket class buffers.

Definition at line 598 of file pfs_instr_class.cc.

Here is the call graph for this function:

void cleanup_stage_class ( void  )

Cleanup the stage class buffers.

Definition at line 530 of file pfs_instr_class.cc.

Here is the call graph for this function:

void cleanup_statement_class ( void  )

Cleanup the statement class buffers.

Definition at line 564 of file pfs_instr_class.cc.

Here is the call graph for this function:

void cleanup_sync_class ( void  )

Cleanup the instrument synch class buffers.

Definition at line 284 of file pfs_instr_class.cc.

Here is the call graph for this function:

void cleanup_table_share ( void  )

Cleanup the table share buffers.

Definition at line 356 of file pfs_instr_class.cc.

Here is the call graph for this function:

void cleanup_table_share_hash ( void  )

Cleanup the table share hash table.

Definition at line 395 of file pfs_instr_class.cc.

void cleanup_thread_class ( void  )

Cleanup the thread class buffers.

Definition at line 323 of file pfs_instr_class.cc.

Here is the call graph for this function:

void cleanup_user ( void  )

Cleanup all the user buffers.

Definition at line 113 of file pfs_user.cc.

Here is the call graph for this function:

void cleanup_user_hash ( void  )

Cleanup the user hash.

Definition at line 160 of file pfs_user.cc.

PFS_cond * create_cond ( PFS_cond_class klass,
const void *  identity 
)

Create instrumentation for a condition instance.

Parameters
klassthe condition class
identitythe condition address
Returns
a condition instance, or NULL

Definition at line 786 of file pfs_instr.cc.

Here is the call graph for this function:

PFS_mutex * create_mutex ( PFS_mutex_class klass,
const void *  identity 
)

Create instrumentation for a mutex instance.

Parameters
klassthe mutex class
identitythe mutex address
Returns
a mutex instance, or NULL

Definition at line 621 of file pfs_instr.cc.

Here is the call graph for this function:

PFS_rwlock * create_rwlock ( PFS_rwlock_class klass,
const void *  identity 
)

Create instrumentation for a rwlock instance.

Parameters
klassthe rwlock class
identitythe rwlock address
Returns
a rwlock instance, or NULL

Definition at line 718 of file pfs_instr.cc.

Here is the call graph for this function:

PFS_socket * create_socket ( PFS_socket_class klass,
const my_socket *  fd,
const struct sockaddr *  addr,
socklen_t  addr_len 
)

Create instrumentation for a socket instance.

Parameters
klassthe socket class
identitythe socket descriptor
Returns
a socket instance, or NULL

Definition at line 1535 of file pfs_instr.cc.

Here is the call graph for this function:

PFS_table * create_table ( PFS_table_share share,
PFS_thread opening_thread,
const void *  identity 
)

Create instrumentation for a table instance.

Parameters
sharethe table share
opening_threadthe opening thread
identitythe table address
Returns
a table instance, or NULL

Definition at line 1384 of file pfs_instr.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

PFS_thread * create_thread ( PFS_thread_class klass,
const void *  identity,
ulonglong  processlist_id 
)

Create instrumentation for a thread instance.

Parameters
klassthe thread class
identitythe thread address, or a value characteristic of this thread
processlist_idthe PROCESSLIST id, or 0 if unknown
Returns
a thread instance, or NULL

Definition at line 874 of file pfs_instr.cc.

Here is the call graph for this function:

void destroy_cond ( PFS_cond pfs)

Destroy instrumentation for a condition instance.

Parameters
pfsthe condition to destroy

Definition at line 833 of file pfs_instr.cc.

Here is the call graph for this function:

void destroy_file ( PFS_thread thread,
PFS_file pfs 
)

Destroy instrumentation for a file instance.

Parameters
threadthe executing thread instrumentation
pfsthe file to destroy

Definition at line 1353 of file pfs_instr.cc.

Here is the call graph for this function:

void destroy_mutex ( PFS_mutex pfs)

Destroy instrumentation for a mutex instance.

Parameters
pfsthe mutex to destroy

Definition at line 699 of file pfs_instr.cc.

Here is the call graph for this function:

void destroy_rwlock ( PFS_rwlock pfs)

Destroy instrumentation for a rwlock instance.

Parameters
pfsthe rwlock to destroy

Definition at line 767 of file pfs_instr.cc.

Here is the call graph for this function:

void destroy_socket ( PFS_socket pfs)

Destroy instrumentation for a socket instance.

Parameters
pfsthe socket to destroy

Definition at line 1606 of file pfs_instr.cc.

Here is the call graph for this function:

void destroy_table ( PFS_table pfs)

Destroy instrumentation for a table instance.

Parameters
pfsthe table to destroy

Definition at line 1521 of file pfs_instr.cc.

Here is the call graph for this function:

void destroy_thread ( PFS_thread pfs)

Destroy instrumentation for a thread instance.

Parameters
pfsthe thread to destroy

Definition at line 1059 of file pfs_instr.cc.

Here is the call graph for this function:

void drop_table_share ( PFS_thread thread,
bool  temporary,
const char *  schema_name,
uint  schema_name_length,
const char *  table_name,
uint  table_name_length 
)

Drop the instrumented table share associated with a table.

Parameters
threadThe running thread
temporaryTrue for TEMPORARY TABLE
schema_nameThe table schema name
schema_name_lengthThe table schema name length
table_nameThe table name
table_name_lengthThe table name length

Definition at line 1400 of file pfs_instr_class.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

PFS_cond_class* find_cond_class ( PFS_sync_key  key)

Find a condition instrumentation class by key.

Parameters
keythe instrument key
Returns
the instrument class, or NULL

Definition at line 878 of file pfs_instr_class.cc.

Here is the caller graph for this function:

PFS_file_class* find_file_class ( PFS_file_key  key)

Find a file instrumentation class by key.

Parameters
keythe instrument key
Returns
the instrument class, or NULL

Definition at line 1063 of file pfs_instr_class.cc.

Here is the caller graph for this function:

PFS_mutex_class* find_mutex_class ( PFS_sync_key  key)

Find a mutex instrumentation class by key.

Parameters
keythe instrument key
Returns
the instrument class, or NULL

Definition at line 848 of file pfs_instr_class.cc.

Here is the caller graph for this function:

PFS_file * find_or_create_file ( PFS_thread thread,
PFS_file_class klass,
const char *  filename,
uint  len,
bool  create 
)

Find or create instrumentation for a file instance by file name.

Parameters
threadthe executing instrumented thread
klassthe file class
filenamethe file name
lenthe length in bytes of filename
createcreate a file instance if none found
Returns
a file instance, or NULL

Definition at line 1153 of file pfs_instr.cc.

Here is the call graph for this function:

PFS_table_share * find_or_create_table_share ( PFS_thread thread,
bool  temporary,
const TABLE_SHARE share 
)

Find or create a table share instrumentation.

Parameters
threadthe executing instrumented thread
temporarytrue for TEMPORARY TABLE
sharetable share
Returns
a table share, or NULL

Definition at line 1236 of file pfs_instr_class.cc.

Here is the call graph for this function:

PFS_rwlock_class* find_rwlock_class ( PFS_sync_key  key)

Find a rwlock instrumentation class by key.

Parameters
keythe instrument key
Returns
the instrument class, or NULL

Definition at line 863 of file pfs_instr_class.cc.

Here is the caller graph for this function:

PFS_socket_class* find_socket_class ( PFS_socket_key  key)

Find a socket instrumentation class by key.

Parameters
keythe instrument key
Returns
the instrument class, or NULL

Definition at line 1145 of file pfs_instr_class.cc.

Here is the caller graph for this function:

PFS_stage_class* find_stage_class ( PFS_stage_key  key)

Find a stage instrumentation class by key.

Parameters
keythe instrument key
Returns
the instrument class, or NULL

Definition at line 1078 of file pfs_instr_class.cc.

Here is the caller graph for this function:

PFS_statement_class* find_statement_class ( PFS_stage_key  key)

Find a statement instrumentation class by key.

Parameters
keythe instrument key
Returns
the instrument class, or NULL

Definition at line 1093 of file pfs_instr_class.cc.

Here is the caller graph for this function:

PFS_thread_class* find_thread_class ( PFS_sync_key  key)

Find a thread instrumentation class by key.

Parameters
keythe instrument key
Returns
the instrument class, or NULL

Definition at line 933 of file pfs_instr_class.cc.

LF_PINS* get_filename_hash_pins ( PFS_thread thread)

Get the hash pins for .

Parameters
threadThe running thread.
Returns
The LF_HASH pins for the thread.

Definition at line 1132 of file pfs_instr.cc.

Here is the caller graph for this function:

LF_PINS* get_table_share_hash_pins ( PFS_thread thread)

Get the hash pins for

See Also
table_share_hash.
Parameters
threadThe running thread.
Returns
The LF_HASH pins for the thread.

Definition at line 409 of file pfs_instr_class.cc.

Here is the caller graph for this function:

void PFS_scan::init ( uint  random,
uint  max_size 
)

Initialize a new scan.

Parameters
randoma random index to start from
max_sizethe max size of the interval to scan

Definition at line 546 of file pfs_instr.cc.

int init_account ( const PFS_global_param param)

Initialize the user buffers.

Parameters
paramsizing parameters
Returns
0 on success

Definition at line 56 of file pfs_account.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

int init_account_hash ( void  )

Initialize the user hash.

Returns
0 on success

Definition at line 146 of file pfs_account.cc.

Here is the caller graph for this function:

int init_file_class ( uint  file_class_sizing)

Initialize the file class buffer.

Parameters
file_class_sizingmax number of file class
Returns
0 on success

Definition at line 475 of file pfs_instr_class.cc.

Here is the caller graph for this function:

int init_file_hash ( void  )

Initialize the file name hash.

Returns
0 on success

Definition at line 524 of file pfs_instr.cc.

Here is the caller graph for this function:

int init_host ( const PFS_global_param param)

Initialize the host buffers.

Parameters
paramsizing parameters
Returns
0 on success

Definition at line 53 of file pfs_host.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

int init_host_hash ( void  )

Initialize the host hash.

Returns
0 on success

Definition at line 147 of file pfs_host.cc.

Here is the caller graph for this function:

int init_instruments ( const PFS_global_param param)

Initialize all the instruments instance buffers.

Parameters
paramsizing parameters
Returns
0 on success

Definition at line 191 of file pfs_instr.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

int init_setup_actor ( const PFS_global_param param)

Initialize the setup actor buffers.

Parameters
paramsizing parameters
Returns
0 on success

Definition at line 55 of file pfs_setup_actor.cc.

Here is the caller graph for this function:

int init_setup_actor_hash ( void  )

Initialize the setup actor hash.

Returns
0 on success

Definition at line 101 of file pfs_setup_actor.cc.

Here is the caller graph for this function:

int init_setup_object ( const PFS_global_param param)

Initialize the setup object buffers.

Parameters
paramsizing parameters
Returns
0 on success

Definition at line 50 of file pfs_setup_object.cc.

Here is the caller graph for this function:

int init_setup_object_hash ( void  )

Initialize the setup objects hash.

Returns
0 on success

Definition at line 96 of file pfs_setup_object.cc.

Here is the caller graph for this function:

int init_socket_class ( uint  socket_class_sizing)

Initialize the socket class buffer.

Parameters
socket_class_sizingmax number of socket class
Returns
0 on success

Definition at line 577 of file pfs_instr_class.cc.

Here is the caller graph for this function:

int init_stage_class ( uint  stage_class_sizing)

Initialize the stage class buffer.

Parameters
stage_class_sizingmax number of stage class
Returns
0 on success

Definition at line 509 of file pfs_instr_class.cc.

Here is the caller graph for this function:

int init_statement_class ( uint  statement_class_sizing)

Initialize the statement class buffer.

Parameters
statement_class_sizingmax number of statement class
Returns
0 on success

Definition at line 543 of file pfs_instr_class.cc.

Here is the caller graph for this function:

int init_sync_class ( uint  mutex_class_sizing,
uint  rwlock_class_sizing,
uint  cond_class_sizing 
)

Initialize the instrument synch class buffers.

Parameters
mutex_class_sizingmax number of mutex class
rwlock_class_sizingmax number of rwlock class
cond_class_sizingmax number of condition class
Returns
0 on success

Definition at line 240 of file pfs_instr_class.cc.

Here is the caller graph for this function:

int init_table_share ( uint  table_share_sizing)

Initialize the table share buffer.

Parameters
table_share_sizingmax number of table share
Returns
0 on success

Definition at line 336 of file pfs_instr_class.cc.

Here is the caller graph for this function:

int init_table_share_hash ( void  )

Initialize the table share hash table.

Definition at line 382 of file pfs_instr_class.cc.

Here is the caller graph for this function:

int init_thread_class ( uint  thread_class_sizing)

Initialize the thread class buffer.

Parameters
thread_class_sizingmax number of thread class
Returns
0 on success

Definition at line 302 of file pfs_instr_class.cc.

Here is the caller graph for this function:

int init_user ( const PFS_global_param param)

Initialize the user buffers.

Parameters
paramsizing parameters
Returns
0 on success

Definition at line 53 of file pfs_user.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

int init_user_hash ( void  )

Initialize the user hash.

Returns
0 on success

Definition at line 147 of file pfs_user.cc.

Here is the caller graph for this function:

PFS_connection_all_statement_visitor::PFS_connection_all_statement_visitor ( )

Constructor.

Instance wait visitor

Definition at line 804 of file pfs_visitor.cc.

PFS_connection_all_wait_visitor::PFS_connection_all_wait_visitor ( )

Constructor.

Definition at line 693 of file pfs_visitor.cc.

PFS_connection_stage_visitor::PFS_connection_stage_visitor ( PFS_stage_class klass)

Constructor.

Definition at line 735 of file pfs_visitor.cc.

PFS_connection_stat_visitor::PFS_connection_stat_visitor ( )

Constructor.

Definition at line 850 of file pfs_visitor.cc.

PFS_connection_statement_visitor::PFS_connection_statement_visitor ( PFS_statement_class klass)

Constructor.

Definition at line 769 of file pfs_visitor.cc.

PFS_connection_wait_visitor::PFS_connection_wait_visitor ( PFS_instr_class klass)

Constructor.

Connection wait visitor

Definition at line 653 of file pfs_visitor.cc.

PFS_index_io_stat_visitor::PFS_index_io_stat_visitor ( )

Index IO stat visitor

Definition at line 1061 of file pfs_visitor.cc.

PFS_object_wait_visitor::PFS_object_wait_visitor ( )

Table IO wait visitor

Definition at line 944 of file pfs_visitor.cc.

PFS_table_io_stat_visitor::PFS_table_io_stat_visitor ( )

Table IO stat visitor

Definition at line 1022 of file pfs_visitor.cc.

PFS_table_lock_stat_visitor::PFS_table_lock_stat_visitor ( )

Table lock stat visitor

Definition at line 1102 of file pfs_visitor.cc.

PFS_table_lock_wait_visitor::PFS_table_lock_wait_visitor ( )

Table lock wait visitor

Definition at line 1079 of file pfs_visitor.cc.

void purge_all_account ( void  )

Purge non connected user, reset stats of connected user.

Definition at line 556 of file pfs_account.cc.

Here is the call graph for this function:

void purge_all_host ( void  )

Purge non connected hosts, reset stats of connected hosts.

Definition at line 371 of file pfs_host.cc.

Here is the call graph for this function:

void purge_all_user ( void  )

Purge non connected users, reset stats of connected users.

Definition at line 364 of file pfs_user.cc.

Here is the call graph for this function:

PFS_sync_key register_cond_class ( const char *  name,
uint  name_length,
int  flags 
)

Register a condition instrumentation metadata.

Parameters
namethe instrumented name
name_lengthlength in bytes of name
flagsthe instrumentation flags
Returns
a condition instrumentation key

Definition at line 808 of file pfs_instr_class.cc.

Here is the call graph for this function:

PFS_file_key register_file_class ( const char *  name,
uint  name_length,
int  flags 
)

Register a file instrumentation metadata.

Parameters
namethe instrumented name
name_lengthlength in bytes of name
flagsthe instrumentation flags
Returns
a file instrumentation key

Definition at line 950 of file pfs_instr_class.cc.

Here is the call graph for this function:

PFS_sync_key register_mutex_class ( const char *  name,
uint  name_length,
int  flags 
)

Register a mutex instrumentation metadata.

Parameters
namethe instrumented name
name_lengthlength in bytes of name
flagsthe instrumentation flags
Returns
a mutex instrumentation key

Definition at line 677 of file pfs_instr_class.cc.

Here is the call graph for this function:

PFS_sync_key register_rwlock_class ( const char *  name,
uint  name_length,
int  flags 
)

Register a rwlock instrumentation metadata.

Parameters
namethe instrumented name
name_lengthlength in bytes of name
flagsthe instrumentation flags
Returns
a rwlock instrumentation key

Definition at line 770 of file pfs_instr_class.cc.

Here is the call graph for this function:

PFS_socket_key register_socket_class ( const char *  name,
uint  name_length,
int  flags 
)

Register a socket instrumentation metadata.

Parameters
namethe instrumented name
name_lengthlength in bytes of name
flagsthe instrumentation flags
Returns
a socket instrumentation key

Definition at line 1110 of file pfs_instr_class.cc.

Here is the call graph for this function:

PFS_stage_key register_stage_class ( const char *  name,
uint  prefix_length,
uint  name_length,
int  flags 
)

Register a stage instrumentation metadata.

Parameters
namethe instrumented name
prefix_lengthlength in bytes of the name prefix
name_lengthlength in bytes of name
flagsthe instrumentation flags
Returns
a stage instrumentation key

Definition at line 988 of file pfs_instr_class.cc.

Here is the call graph for this function:

PFS_statement_key register_statement_class ( const char *  name,
uint  name_length,
int  flags 
)

Register a statement instrumentation metadata.

Parameters
namethe instrumented name
name_lengthlength in bytes of name
flagsthe instrumentation flags
Returns
a statement instrumentation key

Definition at line 1028 of file pfs_instr_class.cc.

Here is the call graph for this function:

PFS_thread_key register_thread_class ( const char *  name,
uint  name_length,
int  flags 
)

Register a thread instrumentation metadata.

Parameters
namethe instrumented name
name_lengthlength in bytes of name
flagsthe instrumentation flags
Returns
a thread instrumentation key

Definition at line 895 of file pfs_instr_class.cc.

Here is the call graph for this function:

void release_file ( PFS_file pfs)

Release instrumentation for a file instance.

Parameters
pfsthe file to release

Definition at line 1342 of file pfs_instr.cc.

void reset_events_waits_by_class ( )

Reset the wait statistics per instrument class.

Definition at line 1437 of file pfs_instr_class.cc.

Here is the call graph for this function:

void reset_events_waits_by_instance ( void  )

Reset the wait statistics per object instance.

Definition at line 1685 of file pfs_instr.cc.

void reset_file_class_io ( void  )

Reset the io statistics per file class.

Definition at line 1447 of file pfs_instr_class.cc.

Here is the caller graph for this function:

void reset_file_instance_io ( void  )

Reset the io statistics per file instance.

Definition at line 1695 of file pfs_instr.cc.

void PFS_thread::reset_session_connect_attrs ( )

Reset session connect attributes

Definition at line 852 of file pfs_instr.cc.

Here is the caller graph for this function:

void reset_socket_class_io ( void  )

Reset the io statistics per socket class.

Definition at line 1457 of file pfs_instr_class.cc.

Here is the caller graph for this function:

void reset_socket_instance_io ( void  )

Reset the io statistics per socket instance.

Definition at line 1705 of file pfs_instr.cc.

void PFS_connection_slice::reset_stages_stats ( )

Reset all stages statistics.

Definition at line 99 of file pfs_con_slice.cc.

Here is the caller graph for this function:

void PFS_connection_slice::reset_statements_stats ( )

Reset all statements statistics.

Definition at line 107 of file pfs_con_slice.cc.

Here is the caller graph for this function:

void PFS_connection_slice::reset_waits_stats ( )

Reset all wait statistics.

Definition at line 91 of file pfs_con_slice.cc.

Here is the caller graph for this function:

PFS_table_share * sanitize_table_share ( PFS_table_share unsafe)

Sanitize an unsafe table_share pointer.

Parameters
unsafeThe possibly corrupt pointer.
Returns
A valid table_safe_pointer, or NULL.

Definition at line 1431 of file pfs_instr_class.cc.

Here is the caller graph for this function:

PFS_thread * sanitize_thread ( PFS_thread unsafe)

Sanitize a PFS_thread pointer. Validate that the PFS_thread is part of thread_array. Sanitizing data is required when the data can be damaged with expected race conditions, for example involving EVENTS_WAITS_HISTORY_LONG.

Parameters
unsafethe pointer to sanitize
Returns
a valid pointer, or NULL

Definition at line 1040 of file pfs_instr.cc.

Here is the caller graph for this function:

void PFS_table::sanitized_aggregate ( void  )

Aggregate this table handle statistics to the parents. This method is safe to call on handles not owned by the calling code.

See Also
aggregate
sanitized_aggregate_io
sanitized_aggregate_lock

Definition at line 1432 of file pfs_instr.cc.

Here is the call graph for this function:

void PFS_table::sanitized_aggregate_io ( void  )

Aggregate this table handle io statistics to the parents. This method is safe to call on handles not owned by the calling code.

Definition at line 1460 of file pfs_instr.cc.

Here is the call graph for this function:

void PFS_table::sanitized_aggregate_lock ( void  )

Aggregate this table handle lock statistics to the parents. This method is safe to call on handles not owned by the calling code.

Definition at line 1470 of file pfs_instr.cc.

Here is the call graph for this function:

void update_cond_derived_flags ( )

Update derived flags for all condition instances.

Definition at line 2157 of file pfs_instr.cc.

Here is the caller graph for this function:

void update_file_derived_flags ( )

Update derived flags for all file handles.

Definition at line 2179 of file pfs_instr.cc.

Here is the caller graph for this function:

void update_instruments_derived_flags ( )

Update derived flags for all instruments.

Definition at line 2251 of file pfs_instr.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

void update_mutex_derived_flags ( )

Update derived flags for all mutex instances.

Definition at line 2113 of file pfs_instr.cc.

Here is the caller graph for this function:

void update_rwlock_derived_flags ( )

Update derived flags for all rwlock instances.

Definition at line 2135 of file pfs_instr.cc.

Here is the caller graph for this function:

void update_socket_derived_flags ( )

Update derived flags for all socket instances.

Definition at line 2229 of file pfs_instr.cc.

Here is the caller graph for this function:

void update_table_derived_flags ( )

Update derived flags for all table handles.

Definition at line 2201 of file pfs_instr.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

void update_table_share_derived_flags ( PFS_thread thread)

Update derived flags for all table shares.

Definition at line 1466 of file pfs_instr_class.cc.

Here is the call graph for this function:

void PFS_connection_iterator::visit_account ( PFS_account account,
bool  with_threads,
PFS_connection_visitor visitor 
)
static

Visit all connections of a user+host.

Parameters
accountthe user+host to visit.
with_threadswhen true, visit also all related threads.
visitorthe visitor to call

Definition at line 191 of file pfs_visitor.cc.

Here is the call graph for this function:

void PFS_connection_wait_visitor::visit_account ( PFS_account pfs)
virtual

Visit all connections of a user+host.

Reimplemented from PFS_connection_visitor.

Definition at line 682 of file pfs_visitor.cc.

void PFS_connection_all_wait_visitor::visit_account ( PFS_account pfs)
virtual

Visit all connections of a user+host.

Reimplemented from PFS_connection_visitor.

Definition at line 725 of file pfs_visitor.cc.

void PFS_connection_stage_visitor::visit_account ( PFS_account pfs)
virtual

Visit all connections of a user+host.

Reimplemented from PFS_connection_visitor.

Definition at line 758 of file pfs_visitor.cc.

void PFS_connection_statement_visitor::visit_account ( PFS_account pfs)
virtual

Visit all connections of a user+host.

Reimplemented from PFS_connection_visitor.

Definition at line 792 of file pfs_visitor.cc.

void PFS_connection_all_statement_visitor::visit_account ( PFS_account pfs)
virtual

Visit all connections of a user+host.

Reimplemented from PFS_connection_visitor.

Definition at line 840 of file pfs_visitor.cc.

void PFS_connection_stat_visitor::visit_account ( PFS_account pfs)
virtual

Visit all connections of a user+host.

Reimplemented from PFS_connection_visitor.

Definition at line 869 of file pfs_visitor.cc.

void PFS_object_iterator::visit_all ( PFS_object_visitor visitor)
static

Visit all objects.

Object iterator

Definition at line 577 of file pfs_visitor.cc.

Here is the call graph for this function:

void PFS_object_iterator::visit_all_tables ( PFS_object_visitor visitor)
static

Visit all tables and related handles.

Definition at line 582 of file pfs_visitor.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

void PFS_instance_wait_visitor::visit_cond ( PFS_cond pfs)
virtual

Visit a cond instance.

Reimplemented from PFS_instance_visitor.

Definition at line 921 of file pfs_visitor.cc.

void PFS_instance_wait_visitor::visit_cond_class ( PFS_cond_class pfs)
virtual

Visit a cond class.

Reimplemented from PFS_instance_visitor.

Definition at line 896 of file pfs_visitor.cc.

void PFS_instance_iterator::visit_cond_instances ( PFS_cond_class klass,
PFS_instance_visitor visitor 
)
static

Visit a cond class and related instances.

Parameters
klassthe klass to visit.
visitorthe visitor to call

Definition at line 415 of file pfs_visitor.cc.

Here is the call graph for this function:

void PFS_instance_wait_visitor::visit_file ( PFS_file pfs)
virtual

Visit a file instance.

Reimplemented from PFS_instance_visitor.

Definition at line 926 of file pfs_visitor.cc.

void PFS_instance_file_io_stat_visitor::visit_file ( PFS_file pfs)
virtual

Visit a file instance.

Reimplemented from PFS_instance_visitor.

Definition at line 1149 of file pfs_visitor.cc.

void PFS_instance_wait_visitor::visit_file_class ( PFS_file_class pfs)
virtual

Visit a file class.

Reimplemented from PFS_instance_visitor.

Definition at line 901 of file pfs_visitor.cc.

void PFS_instance_file_io_stat_visitor::visit_file_class ( PFS_file_class pfs)
virtual

Visit a file class.

Reimplemented from PFS_instance_visitor.

Definition at line 1143 of file pfs_visitor.cc.

void PFS_instance_iterator::visit_file_instances ( PFS_file_class klass,
PFS_instance_visitor visitor 
)
static

Visit a file class and related instances.

Parameters
klassthe klass to visit.
visitorthe visitor to call

Definition at line 447 of file pfs_visitor.cc.

Here is the call graph for this function:

void PFS_connection_iterator::visit_global ( bool  with_hosts,
bool  with_users,
bool  with_accounts,
bool  with_threads,
PFS_connection_visitor visitor 
)
static

Visit all connections.

Parameters
with_hostswhen true, visit also all hosts.
with_userswhen true, visit also all users.
with_accountswhen true, visit also all user+host.
with_threadswhen true, visit also all threads.
visitorthe visitor to call

Connection iterator

Definition at line 36 of file pfs_visitor.cc.

Here is the call graph for this function:

void PFS_connection_wait_visitor::visit_global ( )
virtual

Visit all connections.

Reimplemented from PFS_connection_visitor.

Definition at line 661 of file pfs_visitor.cc.

void PFS_connection_all_wait_visitor::visit_global ( )
virtual

Visit all connections.

Reimplemented from PFS_connection_visitor.

Definition at line 699 of file pfs_visitor.cc.

void PFS_connection_stage_visitor::visit_global ( )
virtual

Visit all connections.

Reimplemented from PFS_connection_visitor.

Definition at line 743 of file pfs_visitor.cc.

void PFS_connection_statement_visitor::visit_global ( )
virtual

Visit all connections.

Reimplemented from PFS_connection_visitor.

Definition at line 777 of file pfs_visitor.cc.

void PFS_connection_all_statement_visitor::visit_global ( )
virtual

Visit all connections.

Reimplemented from PFS_connection_visitor.

Definition at line 810 of file pfs_visitor.cc.

void PFS_connection_stat_visitor::visit_global ( )
virtual

Visit all connections.

Reimplemented from PFS_connection_visitor.

Definition at line 856 of file pfs_visitor.cc.

void PFS_object_wait_visitor::visit_global ( )
virtual

Visit global data.

Reimplemented from PFS_object_visitor.

Definition at line 950 of file pfs_visitor.cc.

void PFS_table_io_wait_visitor::visit_global ( )
virtual

Visit global data.

Reimplemented from PFS_object_visitor.

Definition at line 978 of file pfs_visitor.cc.

void PFS_table_lock_wait_visitor::visit_global ( )
virtual

Visit global data.

Reimplemented from PFS_object_visitor.

Definition at line 1085 of file pfs_visitor.cc.

void PFS_connection_iterator::visit_host ( PFS_host host,
bool  with_accounts,
bool  with_threads,
PFS_connection_visitor visitor 
)
static

Visit all connections of a host.

Parameters
hostthe host to visit.
with_accountswhen true, visit also all related user+host.
with_threadswhen true, visit also all related threads.
visitorthe visitor to call

Definition at line 89 of file pfs_visitor.cc.

Here is the call graph for this function:

void PFS_connection_wait_visitor::visit_host ( PFS_host pfs)
virtual

Visit all connections of a host.

Reimplemented from PFS_connection_visitor.

Definition at line 672 of file pfs_visitor.cc.

void PFS_connection_all_wait_visitor::visit_host ( PFS_host pfs)
virtual

Visit all connections of a host.

Reimplemented from PFS_connection_visitor.

Definition at line 715 of file pfs_visitor.cc.

void PFS_connection_stage_visitor::visit_host ( PFS_host pfs)
virtual

Visit all connections of a host.

Reimplemented from PFS_connection_visitor.

Definition at line 748 of file pfs_visitor.cc.

void PFS_connection_statement_visitor::visit_host ( PFS_host pfs)
virtual

Visit all connections of a host.

Reimplemented from PFS_connection_visitor.

Definition at line 782 of file pfs_visitor.cc.

void PFS_connection_all_statement_visitor::visit_host ( PFS_host pfs)
virtual

Visit all connections of a host.

Reimplemented from PFS_connection_visitor.

Definition at line 830 of file pfs_visitor.cc.

void PFS_connection_stat_visitor::visit_host ( PFS_host pfs)
virtual

Visit all connections of a host.

Reimplemented from PFS_connection_visitor.

Definition at line 859 of file pfs_visitor.cc.

void PFS_instance_iterator::visit_instances ( PFS_instr_class klass,
PFS_instance_visitor visitor,
PFS_thread thread,
bool  visit_class = true 
)
static

Visit an instrument class and related instances.

Parameters
klassthe klass to visit.
visitorthe visitor to call
threadcomparison criteria
visit_classif true then visit the class

Generic instance iterator with PFS_thread as matching criteria

Definition at line 554 of file pfs_visitor.cc.

Here is the call graph for this function:

void PFS_instance_wait_visitor::visit_mutex ( PFS_mutex pfs)
virtual

Visit a mutex instance.

Reimplemented from PFS_instance_visitor.

Definition at line 911 of file pfs_visitor.cc.

void PFS_instance_wait_visitor::visit_mutex_class ( PFS_mutex_class pfs)
virtual

Visit a mutex class.

Reimplemented from PFS_instance_visitor.

Definition at line 886 of file pfs_visitor.cc.

void PFS_instance_iterator::visit_mutex_instances ( PFS_mutex_class klass,
PFS_instance_visitor visitor 
)
static

Visit a mutex class and related instances.

Parameters
klassthe klass to visit.
visitorthe visitor to call

Instance iterator

Definition at line 351 of file pfs_visitor.cc.

Here is the call graph for this function:

void PFS_instance_wait_visitor::visit_rwlock ( PFS_rwlock pfs)
virtual

Visit a rwlock instance.

Reimplemented from PFS_instance_visitor.

Definition at line 916 of file pfs_visitor.cc.

void PFS_instance_wait_visitor::visit_rwlock_class ( PFS_rwlock_class pfs)
virtual

Visit a rwlock class.

Reimplemented from PFS_instance_visitor.

Definition at line 891 of file pfs_visitor.cc.

void PFS_instance_iterator::visit_rwlock_instances ( PFS_rwlock_class klass,
PFS_instance_visitor visitor 
)
static

Visit a rwlock class and related instances.

Parameters
klassthe klass to visit.
visitorthe visitor to call

Definition at line 383 of file pfs_visitor.cc.

Here is the call graph for this function:

void PFS_instance_wait_visitor::visit_socket ( PFS_socket pfs)
virtual

Visit a socket instance.

Reimplemented from PFS_instance_visitor.

Definition at line 934 of file pfs_visitor.cc.

void PFS_instance_socket_io_stat_visitor::visit_socket ( PFS_socket pfs)
virtual

Visit a socket instance.

Reimplemented from PFS_instance_visitor.

Definition at line 1130 of file pfs_visitor.cc.

void PFS_instance_wait_visitor::visit_socket_class ( PFS_socket_class pfs)
virtual

Visit a socket class.

Reimplemented from PFS_instance_visitor.

Definition at line 906 of file pfs_visitor.cc.

void PFS_instance_socket_io_stat_visitor::visit_socket_class ( PFS_socket_class pfs)
virtual

Visit a socket class.

Reimplemented from PFS_instance_visitor.

Definition at line 1124 of file pfs_visitor.cc.

void PFS_instance_iterator::visit_socket_instances ( PFS_socket_class klass,
PFS_instance_visitor visitor 
)
static

Visit a socket class and related instances.

Parameters
klassthe klass to visit.
visitorthe visitor to call

Socket instance iterator visting a socket class and all instances

Definition at line 481 of file pfs_visitor.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

void PFS_instance_iterator::visit_socket_instances ( PFS_socket_class klass,
PFS_instance_visitor visitor,
PFS_thread thread,
bool  visit_class = true 
)
static

Visit a socket class and related instances.

Parameters
klassthe klass to visit.
visitorthe visitor to call
threadthe owning thread to match
visit_classif true then visit the socket class

Socket instance iterator visting sockets owned by PFS_thread.

Definition at line 515 of file pfs_visitor.cc.

Here is the call graph for this function:

void PFS_object_wait_visitor::visit_table ( PFS_table pfs)
virtual

Visit a table.

Reimplemented from PFS_object_visitor.

Definition at line 962 of file pfs_visitor.cc.

Here is the call graph for this function:

void PFS_table_io_wait_visitor::visit_table ( PFS_table pfs)
virtual

Visit a table.

Reimplemented from PFS_object_visitor.

Definition at line 999 of file pfs_visitor.cc.

Here is the call graph for this function:

void PFS_table_io_stat_visitor::visit_table ( PFS_table pfs)
virtual

Visit a table.

Reimplemented from PFS_object_visitor.

Definition at line 1041 of file pfs_visitor.cc.

Here is the call graph for this function:

void PFS_table_lock_wait_visitor::visit_table ( PFS_table pfs)
virtual

Visit a table.

Reimplemented from PFS_object_visitor.

Definition at line 1095 of file pfs_visitor.cc.

void PFS_table_lock_stat_visitor::visit_table ( PFS_table pfs)
virtual

Visit a table.

Reimplemented from PFS_object_visitor.

Definition at line 1113 of file pfs_visitor.cc.

void PFS_index_io_stat_visitor::visit_table_index ( PFS_table pfs,
uint  index 
)
virtual

Visit a table index.

Reimplemented from PFS_object_visitor.

Definition at line 1072 of file pfs_visitor.cc.

void PFS_object_iterator::visit_table_indexes ( PFS_table_share share,
uint  index,
PFS_object_visitor visitor 
)
static

Visit a table index and related table handles indexes.

Definition at line 630 of file pfs_visitor.cc.

Here is the call graph for this function:

void PFS_object_wait_visitor::visit_table_share ( PFS_table_share pfs)
virtual

Visit a table share.

Reimplemented from PFS_object_visitor.

Definition at line 956 of file pfs_visitor.cc.

void PFS_table_io_wait_visitor::visit_table_share ( PFS_table_share pfs)
virtual

Visit a table share.

Reimplemented from PFS_object_visitor.

Definition at line 983 of file pfs_visitor.cc.

void PFS_table_io_stat_visitor::visit_table_share ( PFS_table_share pfs)
virtual

Visit a table share.

Reimplemented from PFS_object_visitor.

Definition at line 1028 of file pfs_visitor.cc.

void PFS_table_lock_wait_visitor::visit_table_share ( PFS_table_share pfs)
virtual

Visit a table share.

Reimplemented from PFS_object_visitor.

Definition at line 1090 of file pfs_visitor.cc.

void PFS_table_lock_stat_visitor::visit_table_share ( PFS_table_share pfs)
virtual

Visit a table share.

Reimplemented from PFS_object_visitor.

Definition at line 1108 of file pfs_visitor.cc.

void PFS_index_io_stat_visitor::visit_table_share_index ( PFS_table_share pfs,
uint  index 
)
virtual

Visit a table share index.

Reimplemented from PFS_object_visitor.

Definition at line 1067 of file pfs_visitor.cc.

void PFS_object_iterator::visit_tables ( PFS_table_share share,
PFS_object_visitor visitor 
)
static

Visit a table and related table handles.

Definition at line 611 of file pfs_visitor.cc.

Here is the call graph for this function:

void PFS_connection_wait_visitor::visit_thread ( PFS_thread pfs)
virtual

Visit a thread.

Reimplemented from PFS_connection_visitor.

Definition at line 687 of file pfs_visitor.cc.

void PFS_connection_all_wait_visitor::visit_thread ( PFS_thread pfs)
virtual

Visit a thread.

Reimplemented from PFS_connection_visitor.

Definition at line 730 of file pfs_visitor.cc.

void PFS_connection_stage_visitor::visit_thread ( PFS_thread pfs)
virtual

Visit a thread.

Reimplemented from PFS_connection_visitor.

Definition at line 763 of file pfs_visitor.cc.

void PFS_connection_statement_visitor::visit_thread ( PFS_thread pfs)
virtual

Visit a thread.

Reimplemented from PFS_connection_visitor.

Definition at line 797 of file pfs_visitor.cc.

void PFS_connection_all_statement_visitor::visit_thread ( PFS_thread pfs)
virtual

Visit a thread.

Reimplemented from PFS_connection_visitor.

Definition at line 845 of file pfs_visitor.cc.

void PFS_connection_stat_visitor::visit_thread ( PFS_thread pfs)
virtual

Visit a thread.

Reimplemented from PFS_connection_visitor.

Definition at line 874 of file pfs_visitor.cc.

void PFS_connection_iterator::visit_user ( PFS_user user,
bool  with_accounts,
bool  with_threads,
PFS_connection_visitor visitor 
)
static

Visit all connections of a user.

Parameters
userthe user to visit.
with_accountswhen true, visit also all related user+host.
with_threadswhen true, visit also all related threads.
visitorthe visitor to call

Definition at line 140 of file pfs_visitor.cc.

Here is the call graph for this function:

void PFS_connection_wait_visitor::visit_user ( PFS_user pfs)
virtual

Visit all connections of a user.

Reimplemented from PFS_connection_visitor.

Definition at line 677 of file pfs_visitor.cc.

void PFS_connection_all_wait_visitor::visit_user ( PFS_user pfs)
virtual

Visit all connections of a user.

Reimplemented from PFS_connection_visitor.

Definition at line 720 of file pfs_visitor.cc.

void PFS_connection_stage_visitor::visit_user ( PFS_user pfs)
virtual

Visit all connections of a user.

Reimplemented from PFS_connection_visitor.

Definition at line 753 of file pfs_visitor.cc.

void PFS_connection_statement_visitor::visit_user ( PFS_user pfs)
virtual

Visit all connections of a user.

Reimplemented from PFS_connection_visitor.

Definition at line 787 of file pfs_visitor.cc.

void PFS_connection_all_statement_visitor::visit_user ( PFS_user pfs)
virtual

Visit all connections of a user.

Reimplemented from PFS_connection_visitor.

Definition at line 835 of file pfs_visitor.cc.

void PFS_connection_stat_visitor::visit_user ( PFS_user pfs)
virtual

Visit all connections of a user.

Reimplemented from PFS_connection_visitor.

Definition at line 864 of file pfs_visitor.cc.

Variable Documentation

enum_timer_name* class_timers[]

Class-timer map

Definition at line 146 of file pfs_instr_class.cc.

enum_timer_name* class_timers[]
Initial value:

Class-timer map

Definition at line 146 of file pfs_instr_class.cc.

PFS_cond* cond_array = NULL

Condition instrumentation instances array.

See Also
cond_max
cond_lost

Definition at line 125 of file pfs_instr.cc.

PFS_cond* cond_array

Condition instrumentation instances array.

See Also
cond_max
cond_lost

Definition at line 125 of file pfs_instr.cc.

ulong cond_class_lost = 0

Number of condition class lost.

See Also
cond_class_array

Definition at line 89 of file pfs_instr_class.cc.

ulong cond_class_lost

Number of condition class lost.

See Also
cond_class_array

Definition at line 89 of file pfs_instr_class.cc.

ulong cond_class_max = 0

Size of the condition class array.

See Also
cond_class_array

Definition at line 87 of file pfs_instr_class.cc.

ulong cond_class_max

Size of the condition class array.

See Also
cond_class_array

Definition at line 87 of file pfs_instr_class.cc.

bool cond_full

True when cond_array is full.

Definition at line 54 of file pfs_instr.cc.

ulong cond_lost

Number of conditions instances lost.

See Also
cond_array

Definition at line 56 of file pfs_instr.cc.

ulong cond_lost

Number of conditions instances lost.

See Also
cond_array

Definition at line 56 of file pfs_instr.cc.

ulong cond_max

Size of the conditions instances array.

See Also
cond_array

Definition at line 52 of file pfs_instr.cc.

ulong cond_max

Size of the conditions instances array.

See Also
cond_array

Definition at line 52 of file pfs_instr.cc.

ulong events_stages_history_per_thread

Number of EVENTS_STAGES_HISTORY records per thread.

Definition at line 93 of file pfs_instr.cc.

ulong events_stages_history_per_thread

Number of EVENTS_STAGES_HISTORY records per thread.

Definition at line 93 of file pfs_instr.cc.

ulong events_statements_history_per_thread

Number of EVENTS_STATEMENTS_HISTORY records per thread.

Definition at line 95 of file pfs_instr.cc.

ulong events_statements_history_per_thread

Number of EVENTS_STATEMENTS_HISTORY records per thread.

Definition at line 95 of file pfs_instr.cc.

ulong events_waits_history_per_thread

Number of EVENTS_WAITS_HISTORY records per thread.

Definition at line 91 of file pfs_instr.cc.

ulong events_waits_history_per_thread

Number of EVENTS_WAITS_HISTORY records per thread.

Definition at line 91 of file pfs_instr.cc.

PFS_file* file_array = NULL

File instrumentation instances array.

See Also
file_max
file_lost
filename_hash

Definition at line 140 of file pfs_instr.cc.

PFS_file* file_array

File instrumentation instances array.

See Also
file_max
file_lost
filename_hash

Definition at line 140 of file pfs_instr.cc.

ulong file_class_lost = 0

Number of file class lost.

See Also
file_class_array

Definition at line 97 of file pfs_instr_class.cc.

ulong file_class_lost

Number of file class lost.

See Also
file_class_array

Definition at line 97 of file pfs_instr_class.cc.

ulong file_class_max = 0

Size of the file class array.

See Also
file_class_array

Definition at line 95 of file pfs_instr_class.cc.

ulong file_class_max

Size of the file class array.

See Also
file_class_array

Definition at line 95 of file pfs_instr_class.cc.

bool file_full

True when file_array is full.

Definition at line 66 of file pfs_instr.cc.

PFS_file** file_handle_array = NULL

File instrumentation handle array.

See Also
file_handle_max
file_handle_lost

Definition at line 147 of file pfs_instr.cc.

PFS_file** file_handle_array

File instrumentation handle array.

See Also
file_handle_max
file_handle_lost

Definition at line 147 of file pfs_instr.cc.

bool file_handle_full

True when file_handle_array is full.

Definition at line 75 of file pfs_instr.cc.

ulong file_handle_lost

Number of file handle lost.

See Also
file_handle_array

Definition at line 77 of file pfs_instr.cc.

ulong file_handle_lost

Number of file handle lost.

See Also
file_handle_array

Definition at line 77 of file pfs_instr.cc.

long file_handle_max

Size of the file handle array.

See Also
file_handle_array. Signed value, for easier comparisons with a file descriptor number.

Definition at line 73 of file pfs_instr.cc.

long file_handle_max

Size of the file handle array.

See Also
file_handle_array. Signed value, for easier comparisons with a file descriptor number.

Definition at line 73 of file pfs_instr.cc.

ulong file_lost

Number of file instances lost.

See Also
file_array

Definition at line 68 of file pfs_instr.cc.

ulong file_lost

Number of file instances lost.

See Also
file_array

Definition at line 68 of file pfs_instr.cc.

ulong file_max

Size of the file instances array.

See Also
file_array

Definition at line 64 of file pfs_instr.cc.

ulong file_max

Size of the file instances array.

See Also
file_array

Definition at line 64 of file pfs_instr.cc.

LF_HASH filename_hash

Hash table for instrumented files.

Definition at line 182 of file pfs_instr.cc.

LF_HASH filename_hash

Hash table for instrumented files.

Definition at line 182 of file pfs_instr.cc.

PFS_ALIGNED PFS_instr_class global_idle_class

Instrument controlling all idle waits.

Definition at line 143 of file pfs_instr_class.cc.

PFS_instr_class global_idle_class

Instrument controlling all idle waits.

Definition at line 143 of file pfs_instr_class.cc.

PFS_ALIGNED PFS_single_stat global_idle_stat

Statistics for the IDLE instrument.

Definition at line 138 of file pfs_instr_class.cc.

PFS_single_stat global_idle_stat

Statistics for the IDLE instrument.

Definition at line 138 of file pfs_instr_class.cc.

PFS_ALIGNED PFS_instr_class global_table_io_class

Instrument controlling all table io. This instrument is used with table SETUP_OBJECTS.

Definition at line 141 of file pfs_instr_class.cc.

PFS_instr_class global_table_io_class

Instrument controlling all table io. This instrument is used with table SETUP_OBJECTS.

Definition at line 141 of file pfs_instr_class.cc.

PFS_ALIGNED PFS_table_io_stat global_table_io_stat

Statistics for dropped table io.

Definition at line 139 of file pfs_instr_class.cc.

PFS_table_io_stat global_table_io_stat

Statistics for dropped table io.

Definition at line 139 of file pfs_instr_class.cc.

PFS_ALIGNED PFS_instr_class global_table_lock_class

Instrument controlling all table lock. This instrument is used with table SETUP_OBJECTS.

Definition at line 142 of file pfs_instr_class.cc.

PFS_instr_class global_table_lock_class

Instrument controlling all table lock. This instrument is used with table SETUP_OBJECTS.

Definition at line 142 of file pfs_instr_class.cc.

PFS_ALIGNED PFS_table_lock_stat global_table_lock_stat

Statistics for dropped table lock.

Definition at line 140 of file pfs_instr_class.cc.

PFS_table_lock_stat global_table_lock_stat

Statistics for dropped table lock.

Definition at line 140 of file pfs_instr_class.cc.

ulong locker_lost = 0

Number of locker lost.

See Also
LOCKER_STACK_SIZE.

Definition at line 98 of file pfs_instr.cc.

ulong locker_lost

Number of locker lost.

See Also
LOCKER_STACK_SIZE.

Definition at line 98 of file pfs_instr.cc.

PFS_mutex* mutex_array = NULL

Mutex instrumentation instances array.

See Also
mutex_max
mutex_lost

Definition at line 111 of file pfs_instr.cc.

PFS_mutex* mutex_array

Mutex instrumentation instances array.

See Also
mutex_max
mutex_lost

Definition at line 111 of file pfs_instr.cc.

ulong mutex_class_lost = 0

Number of mutex class lost.

See Also
mutex_class_array

Definition at line 81 of file pfs_instr_class.cc.

ulong mutex_class_lost

Number of mutex class lost.

See Also
mutex_class_array

Definition at line 81 of file pfs_instr_class.cc.

ulong mutex_class_max = 0

Size of the mutex class array.

See Also
mutex_class_array

Definition at line 79 of file pfs_instr_class.cc.

ulong mutex_class_max

Size of the mutex class array.

See Also
mutex_class_array

Definition at line 79 of file pfs_instr_class.cc.

bool mutex_full

True when mutex_array is full.

Definition at line 42 of file pfs_instr.cc.

ulong mutex_lost

Number of mutexes instance lost.

See Also
mutex_array

Definition at line 44 of file pfs_instr.cc.

ulong mutex_lost

Number of mutexes instance lost.

See Also
mutex_array

Definition at line 44 of file pfs_instr.cc.

ulong mutex_max

Size of the mutex instances array.

See Also
mutex_array

Definition at line 40 of file pfs_instr.cc.

ulong mutex_max

Size of the mutex instances array.

See Also
mutex_array

Definition at line 40 of file pfs_instr.cc.

my_bool pfs_enabled = TRUE

Global performance schema flag. Indicate if the performance schema is enabled. This flag is set at startup, and never changes.

Definition at line 48 of file pfs_instr_class.cc.

my_bool pfs_enabled

Global performance schema flag. Indicate if the performance schema is enabled. This flag is set at startup, and never changes.

Definition at line 48 of file pfs_instr_class.cc.

DYNAMIC_ARRAY pfs_instr_config_array

PFS_INSTRUMENT option settings array and associated state variable to serialize access during shutdown.

Definition at line 54 of file pfs_instr_class.cc.

DYNAMIC_ARRAY pfs_instr_config_array

PFS_INSTRUMENT option settings array and associated state variable to serialize access during shutdown.

Definition at line 54 of file pfs_instr_class.cc.

PFS_rwlock* rwlock_array = NULL

RWLock instrumentation instances array.

See Also
rwlock_max
rwlock_lost

Definition at line 118 of file pfs_instr.cc.

PFS_rwlock* rwlock_array

RWLock instrumentation instances array.

See Also
rwlock_max
rwlock_lost

Definition at line 118 of file pfs_instr.cc.

ulong rwlock_class_lost = 0

Number of rwlock class lost.

See Also
rwlock_class_array

Definition at line 85 of file pfs_instr_class.cc.

ulong rwlock_class_lost

Number of rwlock class lost.

See Also
rwlock_class_array

Definition at line 85 of file pfs_instr_class.cc.

ulong rwlock_class_max = 0

Size of the rwlock class array.

See Also
rwlock_class_array

Definition at line 83 of file pfs_instr_class.cc.

ulong rwlock_class_max

Size of the rwlock class array.

See Also
rwlock_class_array

Definition at line 83 of file pfs_instr_class.cc.

bool rwlock_full

True when rwlock_array is full.

Definition at line 48 of file pfs_instr.cc.

ulong rwlock_lost

Number or rwlock instances lost.

See Also
rwlock_array

Definition at line 50 of file pfs_instr.cc.

ulong rwlock_lost

Number or rwlock instances lost.

See Also
rwlock_array

Definition at line 50 of file pfs_instr.cc.

ulong rwlock_max

Size of the rwlock instances array.

See Also
rwlock_array

Definition at line 46 of file pfs_instr.cc.

ulong rwlock_max

Size of the rwlock instances array.

See Also
rwlock_array

Definition at line 46 of file pfs_instr.cc.

ulong session_connect_attrs_lost = 0

Number of connection attributes lost

Definition at line 104 of file pfs_instr.cc.

ulong session_connect_attrs_lost

Number of connection attributes lost

Definition at line 104 of file pfs_instr.cc.

ulong session_connect_attrs_size_per_thread

Size of connection attribute storage per thread

Definition at line 102 of file pfs_instr.cc.

ulong session_connect_attrs_size_per_thread

Size of connection attribute storage per thread

Definition at line 102 of file pfs_instr.cc.

PFS_setup_actor* setup_actor_array = NULL

Setup_actor instances array.

See Also
setup_actor_max

Definition at line 43 of file pfs_setup_actor.cc.

PFS_setup_actor* setup_actor_array

Setup_actor instances array.

See Also
setup_actor_max

Definition at line 43 of file pfs_setup_actor.cc.

LF_HASH setup_actor_hash

Hash table for setup_actor records.

Definition at line 46 of file pfs_setup_actor.cc.

LF_HASH setup_actor_hash

Hash table for setup_actor records.

Definition at line 46 of file pfs_setup_actor.cc.

ulong setup_actor_max

Size of the setup_actor instances array.

See Also
setup_actor_array

Definition at line 36 of file pfs_setup_actor.cc.

ulong setup_actor_max

Size of the setup_actor instances array.

See Also
setup_actor_array

Definition at line 36 of file pfs_setup_actor.cc.

PFS_socket* socket_array = NULL

Socket instrumentation instances array.

See Also
socket_max
socket_lost

Definition at line 161 of file pfs_instr.cc.

PFS_socket* socket_array

Socket instrumentation instances array.

See Also
socket_max
socket_lost

Definition at line 161 of file pfs_instr.cc.

ulong socket_class_lost = 0

Number of socket class lost.

See Also
socket_class_array

Definition at line 113 of file pfs_instr_class.cc.

ulong socket_class_lost

Number of socket class lost.

See Also
socket_class_array

Definition at line 113 of file pfs_instr_class.cc.

ulong socket_class_max = 0

Size of the socket class array.

See Also
socket_class_array

Definition at line 111 of file pfs_instr_class.cc.

ulong socket_class_max

Size of the socket class array.

See Also
socket_class_array

Definition at line 111 of file pfs_instr_class.cc.

bool socket_full

True when socket_array is full.

Definition at line 87 of file pfs_instr.cc.

ulong socket_lost

Number of socket instances lost.

See Also
socket_array

Definition at line 89 of file pfs_instr.cc.

ulong socket_lost

Number of socket instances lost.

See Also
socket_array

Definition at line 89 of file pfs_instr.cc.

ulong socket_max

Size of the socket instances array.

See Also
socket_array

Definition at line 85 of file pfs_instr.cc.

ulong socket_max

Size of the socket instances array.

See Also
socket_array

Definition at line 85 of file pfs_instr.cc.

ulong stage_class_lost = 0

Number of stage class lost.

See Also
stage_class_array

Definition at line 101 of file pfs_instr_class.cc.

ulong stage_class_lost

Number of stage class lost.

See Also
stage_class_array

Definition at line 101 of file pfs_instr_class.cc.

ulong stage_class_max = 0

Size of the stage class array.

See Also
stage_class_array

Definition at line 99 of file pfs_instr_class.cc.

ulong stage_class_max

Size of the stage class array.

See Also
stage_class_array

Definition at line 99 of file pfs_instr_class.cc.

ulong statement_class_lost = 0

Number of statement class lost.

See Also
statement_class_array

Definition at line 105 of file pfs_instr_class.cc.

ulong statement_class_lost

Number of statement class lost.

See Also
statement_class_array

Definition at line 105 of file pfs_instr_class.cc.

ulong statement_class_max = 0

Size of the statement class array.

See Also
statement_class_array

Definition at line 103 of file pfs_instr_class.cc.

ulong statement_class_max

Size of the statement class array.

See Also
statement_class_array

Definition at line 103 of file pfs_instr_class.cc.

ulong statement_lost = 0

Number of statement lost.

See Also
STATEMENT_STACK_SIZE.

Definition at line 100 of file pfs_instr.cc.

ulong statement_lost

Number of statement lost.

See Also
STATEMENT_STACK_SIZE.

Definition at line 100 of file pfs_instr.cc.

uint statement_stack_max

Max size of the statements stack.

Definition at line 96 of file pfs_instr.cc.

uint statement_stack_max

Max size of the statements stack.

Definition at line 96 of file pfs_instr.cc.

PFS_table* table_array = NULL

Table instrumentation instances array.

See Also
table_max
table_lost

Definition at line 154 of file pfs_instr.cc.

PFS_table* table_array

Table instrumentation instances array.

See Also
table_max
table_lost

Definition at line 154 of file pfs_instr.cc.

bool table_full

True when table_array is full.

Definition at line 81 of file pfs_instr.cc.

ulong table_lost

Number of table instances lost.

See Also
table_array

Definition at line 83 of file pfs_instr.cc.

ulong table_lost

Number of table instances lost.

See Also
table_array

Definition at line 83 of file pfs_instr.cc.

ulong table_max

Size of the table instances array.

See Also
table_array

Definition at line 79 of file pfs_instr.cc.

ulong table_max

Size of the table instances array.

See Also
table_array

Definition at line 79 of file pfs_instr.cc.

PFS_table_share* table_share_array = NULL

Table instance array.

See Also
table_share_max
table_share_lost
table_share_hash

Definition at line 136 of file pfs_instr_class.cc.

PFS_table_share* table_share_array

Table instance array.

See Also
table_share_max
table_share_lost
table_share_hash

Definition at line 136 of file pfs_instr_class.cc.

LF_HASH table_share_hash

Hash index for instrumented table shares. This index is searched by table fully qualified name (PFS_table_share_key), and points to instrumented table shares (PFS_table_share).

See Also
table_share_array
PFS_table_share_key
PFS_table_share
table_share_hash_get_key
get_table_share_hash_pins

Definition at line 171 of file pfs_instr_class.cc.

LF_HASH table_share_hash

Hash index for instrumented table shares. This index is searched by table fully qualified name (PFS_table_share_key), and points to instrumented table shares (PFS_table_share).

See Also
table_share_array
PFS_table_share_key
PFS_table_share
table_share_hash_get_key
get_table_share_hash_pins

Definition at line 171 of file pfs_instr_class.cc.

ulong table_share_lost = 0

Number of table share lost.

See Also
table_share_array

Definition at line 109 of file pfs_instr_class.cc.

ulong table_share_lost

Number of table share lost.

See Also
table_share_array

Definition at line 109 of file pfs_instr_class.cc.

ulong table_share_max = 0

Size of the table share array.

See Also
table_share_array

Definition at line 107 of file pfs_instr_class.cc.

ulong table_share_max

Size of the table share array.

See Also
table_share_array

Definition at line 107 of file pfs_instr_class.cc.

PFS_thread* thread_array = NULL

Thread instrumentation instances array.

See Also
thread_max
thread_lost

Definition at line 132 of file pfs_instr.cc.

PFS_thread* thread_array

Thread instrumentation instances array.

See Also
thread_max
thread_lost

Definition at line 132 of file pfs_instr.cc.

ulong thread_class_lost = 0

Number of thread class lost.

See Also
thread_class_array

Definition at line 93 of file pfs_instr_class.cc.

ulong thread_class_lost

Number of thread class lost.

See Also
thread_class_array

Definition at line 93 of file pfs_instr_class.cc.

ulong thread_class_max = 0

Size of the thread class array.

See Also
thread_class_array

Definition at line 91 of file pfs_instr_class.cc.

ulong thread_class_max

Size of the thread class array.

See Also
thread_class_array

Definition at line 91 of file pfs_instr_class.cc.

bool thread_full

True when thread_array is full.

Definition at line 60 of file pfs_instr.cc.

ulong thread_lost

Number or thread instances lost.

See Also
thread_array

Definition at line 62 of file pfs_instr.cc.

ulong thread_lost

Number or thread instances lost.

See Also
thread_array

Definition at line 62 of file pfs_instr.cc.

ulong thread_max

Size of the thread instances array.

See Also
thread_array

Definition at line 58 of file pfs_instr.cc.

ulong thread_max

Size of the thread instances array.

See Also
thread_array

Definition at line 58 of file pfs_instr.cc.