![]() |
MySQL 8.0.43
Source Code Documentation
|
Statement Digest data structures (implementation). More...
#include "storage/perfschema/pfs_digest.h"#include <assert.h>#include <string.h>#include "my_compiler.h"#include "my_murmur3.h"#include "my_sys.h"#include "sql/sql_get_diagnostics.h"#include "sql/sql_lex.h"#include "sql/sql_signal.h"#include "sql_string.h"#include "storage/perfschema/pfs_builtin_memory.h"#include "storage/perfschema/pfs_global.h"#include "storage/perfschema/pfs_instr.h"#include "storage/perfschema/table_helper.h"Functions | |
| int | init_digest (const PFS_global_param *param) |
| Initialize table EVENTS_STATEMENTS_SUMMARY_BY_DIGEST. More... | |
| void | cleanup_digest () |
| Cleanup table EVENTS_STATEMENTS_SUMMARY_BY_DIGEST. More... | |
| static const uchar * | digest_hash_get_key (const uchar *entry, size_t *length) |
| static uint | digest_hash_func (const LF_HASH *, const uchar *key, size_t key_len) |
| static int | digest_hash_cmp_func (const uchar *key1, size_t key_len1, const uchar *key2, size_t key_len2) |
| int | init_digest_hash (const PFS_global_param *param) |
| Initialize the digest hash. More... | |
| void | cleanup_digest_hash () |
| static LF_PINS * | get_digest_hash_pins (PFS_thread *thread) |
| PFS_statements_digest_stat * | find_or_create_digest (PFS_thread *thread, const sql_digest_storage *digest_storage, const char *schema_name, uint schema_name_length) |
| static void | purge_digest (PFS_thread *thread, PFS_digest_key *hash_key) |
| void | reset_esms_by_digest () |
| void | reset_histogram_by_digest () |
Variables | |
| size_t | digest_max = 0 |
| ulong | digest_lost = 0 |
| PFS_statements_digest_stat * | statements_digest_stat_array = nullptr |
| EVENTS_STATEMENTS_SUMMARY_BY_DIGEST buffer. More... | |
| static unsigned char * | statements_digest_token_array = nullptr |
| static char * | statements_digest_query_sample_text_array = nullptr |
| bool | flag_statements_digest = true |
| Consumer flag for table EVENTS_STATEMENTS_SUMMARY_BY_DIGEST. More... | |
| static PFS_cacheline_atomic_uint32 | digest_monotonic_index |
| Current index in Stat array where new record is to be inserted. More... | |
| bool | digest_full = false |
| LF_HASH | digest_hash |
| static bool | digest_hash_inited = false |
Statement Digest data structures (implementation).
| void cleanup_digest | ( | ) |
Cleanup table EVENTS_STATEMENTS_SUMMARY_BY_DIGEST.
| void cleanup_digest_hash | ( | ) |
|
static |
| PFS_statements_digest_stat * find_or_create_digest | ( | PFS_thread * | thread, |
| const sql_digest_storage * | digest_storage, | ||
| const char * | schema_name, | ||
| uint | schema_name_length | ||
| ) |
|
static |
| int init_digest | ( | const PFS_global_param * | param | ) |
Initialize table EVENTS_STATEMENTS_SUMMARY_BY_DIGEST.
| param | performance schema sizing |
| int init_digest_hash | ( | const PFS_global_param * | param | ) |
Initialize the digest hash.
|
static |
| void reset_esms_by_digest | ( | ) |
| void reset_histogram_by_digest | ( | ) |
| bool digest_full = false |
| LF_HASH digest_hash |
|
static |
| ulong digest_lost = 0 |
| size_t digest_max = 0 |
|
static |
Current index in Stat array where new record is to be inserted.
index 0 is reserved for "all else" case when entire array is full.
| bool flag_statements_digest = true |
Consumer flag for table EVENTS_STATEMENTS_SUMMARY_BY_DIGEST.
|
static |
| PFS_statements_digest_stat* statements_digest_stat_array = nullptr |
EVENTS_STATEMENTS_SUMMARY_BY_DIGEST buffer.
|
static |