23#ifndef PFS_THREAD_PROVIDER_H
24#define PFS_THREAD_PROVIDER_H
34#ifdef HAVE_PSI_THREAD_INTERFACE
35#if defined(MYSQL_SERVER) || defined(PFS_DIRECT_CALL)
36#ifndef MYSQL_DYNAMIC_PLUGIN
37#ifndef WITH_LOCK_ORDER
56#define PSI_THREAD_CALL(M) pfs_##M##_vc
63 void *(*start_routine)(
void *),
void *arg);
66 const void *identity,
ulonglong processlist_id);
110 const char *group_name,
111 int group_name_len,
void *user_data);
124 const void *from_cs);
140 bool with_ref_count);
static const sasl_callback_t callbacks[]
Definition: auth_ldap_sasl_client.h:44
enum_state state
Definition: sql_class.h:384
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:33
struct timeval start_time
Definition: sql_class.h:1571
const LEX_CSTRING & db() const
Definition: sql_class.h:3874
struct PSI_thread PSI_thread
Definition: psi_thread_bits.h:81
unsigned int PSI_thread_key
Instrumented thread key.
Definition: psi_thread_bits.h:49
int opaque_vio_type
Definition: psi_thread_bits.h:61
Some integer typedefs for easier portability.
unsigned long long int ulonglong
Definition: my_inttypes.h:55
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:62
pthread_attr_t my_thread_attr_t
Definition: my_thread_bits.h:48
static int count
Definition: myisam_ftdump.cc:42
char * user
Definition: mysqladmin.cc:59
const char * host
Definition: mysqladmin.cc:58
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:75
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:169
int pfs_get_thread_system_attrs_vc(PSI_thread_attrs *thread_attrs)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3490
ulonglong pfs_get_current_thread_internal_id_vc()
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3088
void pfs_delete_thread_vc(PSI_thread *thread)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3599
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:2996
void pfs_set_mem_cnt_THD_vc(THD *thd, THD **backup_thd)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3135
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:3385
void pfs_register_thread_vc(const char *category, PSI_thread_info *info, int count)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:2459
void pfs_set_connection_type_vc(opaque_vio_type conn_type)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3286
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:7660
PSI_thread * pfs_get_thread_vc(void)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3161
void pfs_notify_session_change_user_vc(PSI_thread *thread)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3546
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:3049
void pfs_set_thread_user_vc(const char *user, int user_len)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3170
void pfs_set_thread_id_vc(PSI_thread *thread, ulonglong processlist_id)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3076
void pfs_notify_session_disconnect_vc(PSI_thread *thread)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3538
void pfs_notify_session_connect_vc(PSI_thread *thread)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3530
void pfs_delete_current_thread_vc(void)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3585
void pfs_set_thread_secondary_engine_vc(bool secondary)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3341
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:7687
void pfs_set_thread_os_id_vc(PSI_thread *thread)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3149
void pfs_set_thread_command_vc(int command)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3271
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:3213
void pfs_set_thread_info_vc(const char *info, uint info_len)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3320
int pfs_register_notification_vc(const PSI_notification *callbacks, bool with_ref_count)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3513
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:3499
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:7591
void pfs_set_thread_start_time_vc(time_t start_time)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3301
void pfs_set_thread_vc(PSI_thread *thread)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3554
void pfs_aggregate_thread_status_vc(PSI_thread *thread)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3574
void pfs_set_thread_db_vc(const char *db, int db_len)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3256
PSI_thread * pfs_get_thread_by_id_vc(ulonglong processlist_id)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3112
void pfs_set_thread_peer_port_vc(PSI_thread *thread, uint port)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3563
void pfs_set_thread_THD_vc(PSI_thread *thread, THD *thd)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3122
int pfs_unregister_notification_vc(int handle)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3522
ulonglong pfs_get_thread_internal_id_vc(PSI_thread *thread)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:3100
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:3395
Performance schema instrumentation interface.
required string key
Definition: replication_asynchronous_connection_failover.proto:59
required uint64 port
Definition: replication_asynchronous_connection_failover.proto:32
Registration structure for the pfs_notification service.
Definition: psi_thread_bits.h:522
Performance Schema thread type: user/foreground or system/background.
Definition: psi_thread_bits.h:469
Thread instrument information.
Definition: psi_thread_bits.h:116
Definition: my_thread_bits.h:51
Include file for Sun RPC to compile out of the box.
unsigned int uint
Definition: uca-dump.cc:29
command
Definition: version_token.cc:279