![]() |
MySQL
8.0.18
Source Code Documentation
|
Classes | |
struct | PSI_file_info_v1 |
File instrument information. More... | |
struct | PSI_file_locker_state_v1 |
State data storage for get_thread_file_name_locker_v1_t . More... | |
struct | PSI_file_bootstrap |
Entry point for the performance schema interface. More... | |
struct | PSI_file_service_v1 |
Performance Schema file Interface, version 1. More... | |
Macros | |
#define | PSI_FILE_VERSION_1 1 |
Performance Schema File Interface number for version 1. More... | |
#define | PSI_CURRENT_FILE_VERSION 1 |
Performance Schema File Interface number for the most recent version. More... | |
Typedefs | |
typedef unsigned int | PSI_file_key |
Instrumented file key. More... | |
typedef struct PSI_file | PSI_file |
typedef struct PSI_file_locker | PSI_file_locker |
typedef enum PSI_file_operation | PSI_file_operation |
typedef struct PSI_file_info_v1 | PSI_file_info_v1 |
typedef struct PSI_file_locker_state_v1 | PSI_file_locker_state_v1 |
typedef void(* | register_file_v1_t) (const char *category, struct PSI_file_info_v1 *info, int count) |
File registration API. More... | |
typedef void(* | create_file_v1_t) (PSI_file_key key, const char *name, File file) |
Create a file instrumentation for a created file. More... | |
typedef struct PSI_file_locker *(* | get_thread_file_name_locker_v1_t) (struct PSI_file_locker_state_v1 *state, PSI_file_key key, enum PSI_file_operation op, const char *name, const void *identity) |
Get a file instrumentation locker, for opening or creating a file. More... | |
typedef struct PSI_file_locker *(* | get_thread_file_stream_locker_v1_t) (struct PSI_file_locker_state_v1 *state, struct PSI_file *file, enum PSI_file_operation op) |
Get a file stream instrumentation locker. More... | |
typedef struct PSI_file_locker *(* | get_thread_file_descriptor_locker_v1_t) (struct PSI_file_locker_state_v1 *state, File file, enum PSI_file_operation op) |
Get a file instrumentation locker. More... | |
typedef void(* | start_file_open_wait_v1_t) (struct PSI_file_locker *locker, const char *src_file, unsigned int src_line) |
Start a file instrumentation open operation. More... | |
typedef struct PSI_file *(* | end_file_open_wait_v1_t) (struct PSI_file_locker *locker, void *result) |
End a file instrumentation open operation, for file streams. More... | |
typedef void(* | end_file_open_wait_and_bind_to_descriptor_v1_t) (struct PSI_file_locker *locker, File file) |
End a file instrumentation open operation, for non stream files. More... | |
typedef void(* | end_temp_file_open_wait_and_bind_to_descriptor_v1_t) (struct PSI_file_locker *locker, File file, const char *filename) |
End a file instrumentation open operation, for non stream temporary files. More... | |
typedef void(* | start_file_wait_v1_t) (struct PSI_file_locker *locker, size_t count, const char *src_file, unsigned int src_line) |
Record a file instrumentation start event. More... | |
typedef void(* | end_file_wait_v1_t) (struct PSI_file_locker *locker, size_t count) |
Record a file instrumentation end event. More... | |
typedef void(* | start_file_close_wait_v1_t) (struct PSI_file_locker *locker, const char *src_file, unsigned int src_line) |
Start a file instrumentation close operation. More... | |
typedef void(* | end_file_close_wait_v1_t) (struct PSI_file_locker *locker, int rc) |
End a file instrumentation close operation. More... | |
typedef void(* | end_file_rename_wait_v1_t) (struct PSI_file_locker *locker, const char *old_name, const char *new_name, int rc) |
Rename a file instrumentation close operation. More... | |
typedef struct PSI_file_info_v1 | PSI_file_info |
typedef struct PSI_file_locker_state_v1 | PSI_file_locker_state |
typedef struct PSI_file_service_v1 | PSI_file_service_t |
Enumerations | |
enum | PSI_file_operation { PSI_FILE_CREATE = 0, PSI_FILE_CREATE_TMP = 1, PSI_FILE_OPEN = 2, PSI_FILE_STREAM_OPEN = 3, PSI_FILE_CLOSE = 4, PSI_FILE_STREAM_CLOSE = 5, PSI_FILE_READ = 6, PSI_FILE_WRITE = 7, PSI_FILE_SEEK = 8, PSI_FILE_TELL = 9, PSI_FILE_FLUSH = 10, PSI_FILE_STAT = 11, PSI_FILE_FSTAT = 12, PSI_FILE_CHSIZE = 13, PSI_FILE_DELETE = 14, PSI_FILE_RENAME = 15, PSI_FILE_SYNC = 16 } |
Operation performed on an instrumented file. More... | |
Variables | |
MYSQL_PLUGIN_IMPORT PSI_file_service_t * | psi_file_service |
#define PSI_CURRENT_FILE_VERSION 1 |
Performance Schema File Interface number for the most recent version.
The most current version is PSI_FILE_VERSION_1
#define PSI_FILE_VERSION_1 1 |
Performance Schema File Interface number for version 1.
This version is supported.
typedef void(* create_file_v1_t) (PSI_file_key key, const char *name, File file) |
Create a file instrumentation for a created file.
This method does not create the file itself, but is used to notify the instrumentation interface that a file was just created.
key | the file instrumentation key for this file |
name | the file name |
file | the file handle |
typedef void(* end_file_close_wait_v1_t) (struct PSI_file_locker *locker, int rc) |
End a file instrumentation close operation.
locker | the file locker. |
rc | the close operation return code (0 for success). |
typedef void(* end_file_open_wait_and_bind_to_descriptor_v1_t) (struct PSI_file_locker *locker, File file) |
End a file instrumentation open operation, for non stream files.
locker | the file locker. |
file | the file number assigned by open() or create() for this file. |
typedef struct PSI_file*(* end_file_open_wait_v1_t) (struct PSI_file_locker *locker, void *result) |
End a file instrumentation open operation, for file streams.
locker | the file locker. |
result | the opened file (NULL indicates failure, non NULL success). |
typedef void(* end_file_rename_wait_v1_t) (struct PSI_file_locker *locker, const char *old_name, const char *new_name, int rc) |
Rename a file instrumentation close operation.
locker | the file locker. |
old_name | name of the file to be renamed. |
new_name | name of the file after rename. |
rc | the rename operation return code (0 for success). |
typedef void(* end_file_wait_v1_t) (struct PSI_file_locker *locker, size_t count) |
Record a file instrumentation end event.
Note that for file close operations, the instrumented file handle associated with the file (which was provided to obtain a locker) is invalid after this call.
locker | a file locker for the running thread |
count | the number of bytes actually used in the operation, or 0 if not applicable, or -1 if the operation failed |
typedef void(* end_temp_file_open_wait_and_bind_to_descriptor_v1_t) (struct PSI_file_locker *locker, File file, const char *filename) |
End a file instrumentation open operation, for non stream temporary files.
locker | the file locker. |
file | the file number assigned by open() or create() for this file. |
filename | the file name generated during temporary file creation. |
typedef struct PSI_file_locker*(* get_thread_file_descriptor_locker_v1_t) (struct PSI_file_locker_state_v1 *state, File file, enum PSI_file_operation op) |
Get a file instrumentation locker.
state | data storage for the locker |
file | the file descriptor to access |
op | the operation to perform |
typedef struct PSI_file_locker*(* get_thread_file_name_locker_v1_t) (struct PSI_file_locker_state_v1 *state, PSI_file_key key, enum PSI_file_operation op, const char *name, const void *identity) |
Get a file instrumentation locker, for opening or creating a file.
state | data storage for the locker |
key | the file instrumentation key |
op | the operation to perform |
name | the file name |
identity | a pointer representative of this file. |
typedef struct PSI_file_locker*(* get_thread_file_stream_locker_v1_t) (struct PSI_file_locker_state_v1 *state, struct PSI_file *file, enum PSI_file_operation op) |
Get a file stream instrumentation locker.
state | data storage for the locker |
file | the file stream to access |
op | the operation to perform |
typedef struct PSI_file_info_v1 PSI_file_info |
typedef struct PSI_file_info_v1 PSI_file_info_v1 |
typedef unsigned int PSI_file_key |
Instrumented file key.
To instrument a file, a file key must be obtained using register_file
. Using a zero key always disable the instrumentation.
typedef struct PSI_file_locker PSI_file_locker |
typedef struct PSI_file_locker_state_v1 PSI_file_locker_state |
typedef struct PSI_file_locker_state_v1 PSI_file_locker_state_v1 |
typedef enum PSI_file_operation PSI_file_operation |
typedef struct PSI_file_service_v1 PSI_file_service_t |
typedef void(* register_file_v1_t) (const char *category, struct PSI_file_info_v1 *info, int count) |
File registration API.
category | a category name (typically a plugin name) |
info | an array of file info to register |
count | the size of the info array |
typedef void(* start_file_close_wait_v1_t) (struct PSI_file_locker *locker, const char *src_file, unsigned int src_line) |
Start a file instrumentation close operation.
locker | the file locker |
src_file | the source file name |
src_line | the source line number |
typedef void(* start_file_open_wait_v1_t) (struct PSI_file_locker *locker, const char *src_file, unsigned int src_line) |
Start a file instrumentation open operation.
locker | the file locker |
src_file | the source file name |
src_line | the source line number |
typedef void(* start_file_wait_v1_t) (struct PSI_file_locker *locker, size_t count, const char *src_file, unsigned int src_line) |
Record a file instrumentation start event.
locker | a file locker for the running thread |
count | the number of bytes requested, or 0 if not applicable |
src_file | the source file name |
src_line | the source line number |
enum PSI_file_operation |
Operation performed on an instrumented file.
MYSQL_PLUGIN_IMPORT PSI_file_service_t* psi_file_service |