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);
static const sasl_callback_t callbacks[]
Definition: auth_ldap_sasl_client.h:45
enum_state state
Definition: sql_class.h:385
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:34
struct timeval start_time
Definition: sql_class.h:1562
const LEX_CSTRING & db() const
Definition: sql_class.h:3882
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:43
char * user
Definition: mysqladmin.cc:60
const char * host
Definition: mysqladmin.cc:59
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:420
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:3559
ulonglong pfs_get_current_thread_internal_id_vc()
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3152
void pfs_detect_telemetry_vc(PSI_thread *thread)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3682
void pfs_delete_thread_vc(PSI_thread *thread)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3668
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:3060
void pfs_set_mem_cnt_THD_vc(THD *thd, THD **backup_thd)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3199
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:3454
void pfs_register_thread_vc(const char *category, PSI_thread_info *info, int count)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:2525
void pfs_set_connection_type_vc(opaque_vio_type conn_type)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3350
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:8273
PSI_thread * pfs_get_thread_vc(void)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3225
void pfs_notify_session_change_user_vc(PSI_thread *thread)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3615
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:3113
void pfs_set_thread_user_vc(const char *user, int user_len)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3234
void pfs_set_thread_id_vc(PSI_thread *thread, ulonglong processlist_id)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3140
void pfs_notify_session_disconnect_vc(PSI_thread *thread)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3607
void pfs_notify_session_connect_vc(PSI_thread *thread)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3599
void pfs_delete_current_thread_vc(void)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3654
void pfs_set_thread_secondary_engine_vc(bool secondary)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3411
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:8300
void pfs_set_thread_os_id_vc(PSI_thread *thread)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3213
void pfs_set_thread_command_vc(int command)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3335
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:3277
void pfs_set_thread_info_vc(const char *info, uint info_len)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3384
int pfs_register_notification_vc(const PSI_notification *callbacks, bool with_ref_count)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3582
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:3568
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:8203
void pfs_set_thread_start_time_vc(time_t start_time)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3365
void pfs_set_thread_vc(PSI_thread *thread)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3623
void pfs_aggregate_thread_status_vc(PSI_thread *thread)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3643
void pfs_set_thread_db_vc(const char *db, int db_len)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3320
PSI_thread * pfs_get_thread_by_id_vc(ulonglong processlist_id)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3176
void pfs_set_thread_peer_port_vc(PSI_thread *thread, uint port)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3632
void pfs_set_thread_THD_vc(PSI_thread *thread, THD *thd)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3186
int pfs_unregister_notification_vc(int handle)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3591
ulonglong pfs_get_thread_internal_id_vc(PSI_thread *thread)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3164
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:3464
void pfs_abort_telemetry_vc(PSI_thread *thread)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3722
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:52
Include file for Sun RPC to compile out of the box.
unsigned int uint
Definition: uca9-dump.cc:75
command
Definition: version_token.cc:280