24#ifndef PFS_THREAD_PROVIDER_H
25#define PFS_THREAD_PROVIDER_H
35#ifdef HAVE_PSI_THREAD_INTERFACE
36#if defined(MYSQL_SERVER) || defined(PFS_DIRECT_CALL)
37#ifndef MYSQL_DYNAMIC_PLUGIN
38#ifndef WITH_LOCK_ORDER
57#define PSI_THREAD_CALL(M) pfs_##M##_vc
64 void *(*start_routine)(
void *),
void *arg);
67 const void *identity,
ulonglong processlist_id);
111 const char *group_name,
112 int group_name_len,
void *user_data);
125 const void *from_cs);
141 bool with_ref_count);
enum_state state
Definition: sql_class.h:390
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:36
struct timeval start_time
Definition: sql_class.h:1612
const LEX_CSTRING & db() const
Definition: sql_class.h:3937
struct PSI_thread PSI_thread
Definition: psi_thread_bits.h:82
unsigned int PSI_thread_key
Instrumented thread key.
Definition: psi_thread_bits.h:50
int opaque_vio_type
Definition: psi_thread_bits.h:62
Some integer typedefs for easier portability.
unsigned long long int ulonglong
Definition: my_inttypes.h:56
Defines various enable/disable and HAVE_ macros related to the performance schema instrumentation sys...
static my_thread_id thread_id
Definition: my_thr_init.cc:63
pthread_attr_t my_thread_attr_t
Definition: my_thread_bits.h:49
static int count
Definition: myisam_ftdump.cc:45
char * user
Definition: mysqladmin.cc:66
const char * host
Definition: mysqladmin.cc:65
bool length(const dd::Spatial_reference_system *srs, const Geometry *g1, double *length, bool *null) noexcept
Computes the length of linestrings and multilinestrings.
Definition: length.cc:76
mutable_buffer buffer(void *p, size_t n) noexcept
Definition: buffer.h:418
static int handle(int sql_errno, const char *sqlstate, const char *message, void *state)
Bridge function between the C++ API offered by this module and the C API of the parser service.
Definition: services.cc:64
static const char * category
Definition: sha2_password.cc:170
int pfs_get_thread_system_attrs_vc(PSI_thread_attrs *thread_attrs)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3580
ulonglong pfs_get_current_thread_internal_id_vc()
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3163
void pfs_detect_telemetry_vc(PSI_thread *thread)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3712
void pfs_delete_thread_vc(PSI_thread *thread)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3698
int pfs_spawn_thread_vc(PSI_thread_key key, unsigned int sequence_number, my_thread_handle *thread, const my_thread_attr_t *attr, void *(*start_routine)(void *), void *arg)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3071
void pfs_set_mem_cnt_THD_vc(THD *thd, THD **backup_thd)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3210
int pfs_set_thread_resource_group_vc(const char *group_name, int group_name_len, void *user_data)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3465
void pfs_register_thread_vc(const char *category, PSI_thread_info *info, int count)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:2533
void pfs_set_connection_type_vc(opaque_vio_type conn_type)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3361
void pfs_get_current_thread_event_id_vc(ulonglong *internal_thread_id, ulonglong *event_id)
Implementation of the get event id interface.
Definition: pfs.cc:8330
PSI_thread * pfs_get_thread_vc(void)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3236
void pfs_notify_session_change_user_vc(PSI_thread *thread)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3642
PSI_thread * pfs_new_thread_vc(PSI_thread_key key, unsigned int sequence_number, const void *identity, ulonglong processlist_id)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3124
void pfs_set_thread_user_vc(const char *user, int user_len)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3245
void pfs_set_thread_id_vc(PSI_thread *thread, ulonglong processlist_id)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3151
void pfs_notify_session_disconnect_vc(PSI_thread *thread)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3631
void pfs_notify_session_connect_vc(PSI_thread *thread)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3620
void pfs_delete_current_thread_vc(void)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3684
void pfs_set_thread_secondary_engine_vc(bool secondary)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3422
void pfs_get_thread_event_id_vc(PSI_thread *thread, ulonglong *internal_thread_id, ulonglong *event_id)
Implementation of the get event id interface.
Definition: pfs.cc:8357
void pfs_set_thread_os_id_vc(PSI_thread *thread)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3224
void pfs_set_thread_command_vc(int command)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3346
void pfs_set_thread_account_vc(const char *user, int user_len, const char *host, int host_len)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3288
void pfs_set_thread_info_vc(const char *info, uint info_len)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3395
int pfs_register_notification_vc(const PSI_notification *callbacks, bool with_ref_count)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3603
int pfs_get_thread_system_attrs_by_id_vc(PSI_thread *thread, ulonglong thread_id, PSI_thread_attrs *thread_attrs)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3589
void pfs_set_thread_state_vc(const char *state)
int pfs_set_thread_connect_attrs_vc(const char *buffer, uint length, const void *from_cs)
Implementation of the thread attribute connection interface.
Definition: pfs.cc:8260
void pfs_set_thread_start_time_vc(time_t start_time)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3376
void pfs_set_thread_vc(PSI_thread *thread)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3653
void pfs_aggregate_thread_status_vc(PSI_thread *thread)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3673
void pfs_set_thread_db_vc(const char *db, int db_len)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3331
PSI_thread * pfs_get_thread_by_id_vc(ulonglong processlist_id)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3187
void pfs_set_thread_peer_port_vc(PSI_thread *thread, uint port)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3662
void pfs_set_thread_THD_vc(PSI_thread *thread, THD *thd)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3197
int pfs_unregister_notification_vc(int handle)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3612
ulonglong pfs_get_thread_internal_id_vc(PSI_thread *thread)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3175
int pfs_set_thread_resource_group_by_id_vc(PSI_thread *thread, ulonglong thread_id, const char *group_name, int group_name_len, void *user_data)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3475
void pfs_abort_telemetry_vc(PSI_thread *thread)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3752
Performance schema instrumentation interface.
required string key
Definition: replication_asynchronous_connection_failover.proto:60
required uint64 port
Definition: replication_asynchronous_connection_failover.proto:33
Registration structure for the pfs_notification service.
Definition: psi_thread_bits.h:523
Performance Schema thread type: user/foreground or system/background.
Definition: psi_thread_bits.h:470
Thread instrument information.
Definition: psi_thread_bits.h:117
Definition: my_thread_bits.h:58
Include file for Sun RPC to compile out of the box.
command
Definition: version_token.cc:280