24#ifndef PLUGIN_TRACE_INCLUDED
25#define PLUGIN_TRACE_INCLUDED
111#define PROTOCOL_STAGE_LIST(X) \
112 protocol_stage_##X(CONNECTING) protocol_stage_##X(WAIT_FOR_INIT_PACKET) \
113 protocol_stage_##X(AUTHENTICATE) protocol_stage_##X(SSL_NEGOTIATION) \
114 protocol_stage_##X(READY_FOR_COMMAND) \
115 protocol_stage_##X(WAIT_FOR_PACKET) \
116 protocol_stage_##X(WAIT_FOR_RESULT) \
117 protocol_stage_##X(WAIT_FOR_FIELD_DEF) \
118 protocol_stage_##X(WAIT_FOR_ROW) \
119 protocol_stage_##X(FILE_REQUEST) \
120 protocol_stage_##X(WAIT_FOR_PS_DESCRIPTION) \
121 protocol_stage_##X(WAIT_FOR_PARAM_DEF) \
122 protocol_stage_##X(DISCONNECTED)
168#define TRACE_EVENT_LIST(X) \
169 trace_event_##X(ERROR) trace_event_##X(CONNECTING) trace_event_##X( \
170 CONNECTED) trace_event_##X(DISCONNECTED) \
171 trace_event_##X(SEND_SSL_REQUEST) trace_event_##X(SSL_CONNECT) \
172 trace_event_##X(SSL_CONNECTED) trace_event_##X(INIT_PACKET_RECEIVED) \
173 trace_event_##X(AUTH_PLUGIN) trace_event_##X(SEND_AUTH_RESPONSE) \
174 trace_event_##X(SEND_AUTH_DATA) \
175 trace_event_##X(AUTHENTICATED) \
176 trace_event_##X(SEND_COMMAND) \
177 trace_event_##X(SEND_FILE) \
178 trace_event_##X(READ_PACKET) \
179 trace_event_##X(PACKET_RECEIVED) \
180 trace_event_##X(PACKET_SENT)
224#define protocol_stage_enum(X) PROTOCOL_STAGE_##X,
228#define trace_event_enum(X) TRACE_EVENT_##X,
273 MYSQL *connection_handle,
#define MYSQL_CLIENT_PLUGIN_HEADER
Definition: client_plugin.h:98
int() trace_event_handler(struct st_mysql_client_plugin_TRACE *self, void *plugin_data, MYSQL *connection_handle, enum protocol_stage stage, enum trace_event event, struct st_trace_event_args args)
Trace plugin trace_event() method.
Definition: plugin_trace.h:292
struct st_mysql_client_plugin_TRACE * trace_plugin
The global trace_plugin pointer.
Definition: mysql_trace.cc:69
const char * trace_event_name(enum trace_event ev)
Definition: mysql_trace.cc:209
#define TRACE_EVENT_LIST(X)
Definition: plugin_trace.h:168
const char * protocol_stage_name(enum protocol_stage stage)
Definition: mysql_trace.cc:197
trace_event
Definition: plugin_trace.h:230
protocol_stage
Definition: plugin_trace.h:226
void *() tracing_start_callback(struct st_mysql_client_plugin_TRACE *self, MYSQL *connection_handle, enum protocol_stage stage)
Trace plugin tracing_start() method.
Definition: plugin_trace.h:256
void() tracing_stop_callback(struct st_mysql_client_plugin_TRACE *self, MYSQL *connection_handle, void *plugin_data)
Trace plugin tracing_stop() method.
Definition: plugin_trace.h:272
#define PROTOCOL_STAGE_LIST(X)
Definition: plugin_trace.h:111
required string event
Definition: replication_group_member_actions.proto:32
T plugin_data(st_plugin_int **ref)
Definition: sql_plugin_ref.h:92
Definition: plugin_trace.h:298
tracing_stop_callback * tracing_stop
Definition: plugin_trace.h:301
trace_event_handler * trace_event
Definition: plugin_trace.h:302
MYSQL_CLIENT_PLUGIN_HEADER tracing_start_callback * tracing_start
Definition: plugin_trace.h:300
Some trace events have additional arguments.
Definition: plugin_trace.h:213
const unsigned char * hdr
Definition: plugin_trace.h:216
size_t hdr_len
Definition: plugin_trace.h:217
const unsigned char * pkt
Definition: plugin_trace.h:218
int cmd
Definition: plugin_trace.h:215
size_t pkt_len
Definition: plugin_trace.h:219
const char * plugin_name
Definition: plugin_trace.h:214