1 /* Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
2 
3    This program is free software; you can redistribute it and/or modify
4    it under the terms of the GNU General Public License, version 2.0,
5    as published by the Free Software Foundation.
6 
7    This program is also distributed with certain software (including
8    but not limited to OpenSSL) that is licensed under separate terms,
9    as designated in a particular file or component or in included license
10    documentation.  The authors of MySQL hereby grant you an additional
11    permission to link the program and your derivative works with the
12    separately licensed software that they have included with MySQL.
13 
14    This program is distributed in the hope that it will be useful,
15    but WITHOUT ANY WARRANTY; without even the implied warranty of
16    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17    GNU General Public License, version 2.0, for more details.
18 
19    You should have received a copy of the GNU General Public License
20    along with this program; if not, write to the Free Software
21    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
22 
23 #ifndef PSI_MEMORY_KEY_INCLUDED
24 #define PSI_MEMORY_KEY_INCLUDED
25 
26 /**
27   Instrumented memory key.
28   To instrument memory, a memory key must be obtained using @c register_memory.
29   Using a zero key always disable the instrumentation.
30 */
31 
32 void register_server_memory_keys();
33 
34 typedef unsigned int PSI_memory_key;
35 
36 /*
37   MAINTAINER: Please keep this list in order, to limit merge collisions.
38 */
39 
40 /*
41  These are defined in misc. .cc files, to avoid linkage problems
42  for tools like mysqlbinlog.cc and for unit tests.
43 */
44 extern PSI_memory_key key_memory_Filesort_buffer_sort_keys;
45 extern PSI_memory_key key_memory_Gtid_set_Interval_chunk;
46 extern PSI_memory_key key_memory_Gtid_set_to_string;
47 extern PSI_memory_key key_memory_NAMED_ILINK_name;
48 extern PSI_memory_key key_memory_Sid_map_Node;
49 extern PSI_memory_key key_memory_String_value;
50 extern PSI_memory_key key_memory_log_error_loaded_services;
51 extern PSI_memory_key key_memory_log_error_stack;
52 extern PSI_memory_key key_memory_log_event;
53 extern PSI_memory_key key_memory_Gtid_state_group_commit_sidno;
54 extern PSI_memory_key key_memory_string_iterator;
55 extern PSI_memory_key key_memory_table_def_memory;
56 extern PSI_memory_key key_memory_string_service_iterator;
57 
58 /*
59   These are defined in psi_memory_key.cc
60  */
61 extern PSI_memory_key key_memory_DD_column_statistics;
62 extern PSI_memory_key key_memory_DD_default_values;
63 extern PSI_memory_key key_memory_DD_import;
64 extern PSI_memory_key key_memory_DD_String_type;
65 extern PSI_memory_key key_memory_Event_queue_element_for_exec_names;
66 extern PSI_memory_key key_memory_Event_scheduler_scheduler_param;
67 extern PSI_memory_key key_memory_File_query_log_name;
68 extern PSI_memory_key key_memory_Filesort_info_merge;
69 extern PSI_memory_key key_memory_Filesort_info_record_pointers;
70 extern PSI_memory_key key_memory_Geometry_objects_data;
71 extern PSI_memory_key key_memory_Gis_read_stream_err_msg;
72 extern PSI_memory_key key_memory_HASH_ROW_ENTRY;
73 extern PSI_memory_key key_memory_JOIN_CACHE;
74 extern PSI_memory_key key_memory_JSON;
75 extern PSI_memory_key key_memory_LOG_POS_COORD;
76 extern PSI_memory_key key_memory_LOG_name;
77 extern PSI_memory_key key_memory_MPVIO_EXT_auth_info;
78 extern PSI_memory_key key_memory_MYSQL_BIN_LOG_basename;
79 extern PSI_memory_key key_memory_MYSQL_BIN_LOG_index;
80 extern PSI_memory_key key_memory_MYSQL_LOCK;
81 extern PSI_memory_key key_memory_MYSQL_LOG_name;
82 extern PSI_memory_key key_memory_MYSQL_RELAY_LOG_basename;
83 extern PSI_memory_key key_memory_MYSQL_RELAY_LOG_index;
84 extern PSI_memory_key key_memory_Mutex_cond_array_Mutex_cond;
85 extern PSI_memory_key key_memory_NET_buff;
86 extern PSI_memory_key key_memory_NET_compress_packet;
87 extern PSI_memory_key key_memory_Owned_gtids_sidno_to_hash;
88 extern PSI_memory_key key_memory_Owned_gtids_to_string;
89 extern PSI_memory_key key_memory_PROFILE;
90 extern PSI_memory_key key_memory_QUICK_RANGE_SELECT_mrr_buf_desc;
91 extern PSI_memory_key key_memory_Quick_ranges;
92 extern PSI_memory_key key_memory_READ_INFO;
93 extern PSI_memory_key key_memory_READ_RECORD_cache;
94 extern PSI_memory_key key_memory_Recovered_xa_transactions;
95 extern PSI_memory_key key_memory_Row_data_memory_memory;
96 extern PSI_memory_key key_memory_Rpl_info_file_buffer;
97 extern PSI_memory_key key_memory_Rpl_info_table;
98 extern PSI_memory_key key_memory_SLAVE_INFO;
99 extern PSI_memory_key key_memory_ST_SCHEMA_TABLE;
100 extern PSI_memory_key key_memory_Slave_applier_json_diff_vector;
101 extern PSI_memory_key key_memory_Slave_job_group_group_relay_log_name;
102 extern PSI_memory_key key_memory_Sys_var_charptr_value;
103 extern PSI_memory_key key_memory_TABLE;
104 extern PSI_memory_key key_memory_TABLE_RULE_ENT;
105 extern PSI_memory_key key_memory_TABLE_sort_io_cache;
106 extern PSI_memory_key key_memory_TC_LOG_MMAP_pages;
107 extern PSI_memory_key key_memory_THD_Session_sysvar_resource_manager;
108 extern PSI_memory_key key_memory_THD_Session_tracker;
109 extern PSI_memory_key key_memory_THD_db;
110 extern PSI_memory_key key_memory_THD_handler_tables_hash;
111 extern PSI_memory_key key_memory_THD_variables;
112 extern PSI_memory_key key_memory_Unique_merge_buffer;
113 extern PSI_memory_key key_memory_Unique_sort_buffer;
114 extern PSI_memory_key key_memory_User_level_lock;
115 extern PSI_memory_key key_memory_XID;
116 extern PSI_memory_key key_memory_acl_mem;
117 extern PSI_memory_key key_memory_acl_memex;
118 extern PSI_memory_key key_memory_acl_cache;
119 extern PSI_memory_key key_memory_acl_map_cache;
120 extern PSI_memory_key key_memory_binlog_cache_mngr;
121 extern PSI_memory_key key_memory_binlog_pos;
122 extern PSI_memory_key key_memory_binlog_recover_exec;
123 extern PSI_memory_key key_memory_binlog_statement_buffer;
124 extern PSI_memory_key key_memory_bison_stack;
125 extern PSI_memory_key key_memory_blob_mem_storage;
126 extern PSI_memory_key key_memory_db_worker_hash_entry;
127 extern PSI_memory_key key_memory_delegate;
128 extern PSI_memory_key key_memory_errmsgs;
129 extern PSI_memory_key key_memory_global_system_variables;
130 extern PSI_memory_key key_memory_handler_errmsgs;
131 extern PSI_memory_key key_memory_handlerton;
132 extern PSI_memory_key key_memory_hash_index_key_buffer;
133 extern PSI_memory_key key_memory_hash_join;
134 extern PSI_memory_key key_memory_help;
135 extern PSI_memory_key key_memory_histograms;
136 extern PSI_memory_key key_memory_host_cache_hostname;
137 extern PSI_memory_key key_memory_locked_table_list;
138 extern PSI_memory_key key_memory_locked_thread_list;
139 extern PSI_memory_key key_memory_my_bitmap_map;
140 extern PSI_memory_key key_memory_my_str_malloc;
141 extern PSI_memory_key key_memory_opt_bin_logname;
142 extern PSI_memory_key key_memory_partition_syntax_buffer;
143 extern PSI_memory_key key_memory_prepared_statement_map;
144 extern PSI_memory_key key_memory_prepared_statement_main_mem_root;
145 extern PSI_memory_key key_memory_prune_partitions_exec;
146 extern PSI_memory_key key_memory_queue_item;
147 extern PSI_memory_key key_memory_quick_group_min_max_select_root;
148 extern PSI_memory_key key_memory_quick_index_merge_root;
149 extern PSI_memory_key key_memory_quick_range_select_root;
150 extern PSI_memory_key key_memory_quick_ror_intersect_select_root;
151 extern PSI_memory_key key_memory_quick_ror_union_select_root;
152 extern PSI_memory_key key_memory_rpl_filter;
153 extern PSI_memory_key key_memory_rpl_slave_check_temp_dir;
154 extern PSI_memory_key key_memory_servers;
155 extern PSI_memory_key key_memory_shared_memory_name;
156 extern PSI_memory_key key_memory_show_slave_status_io_gtid_set;
157 extern PSI_memory_key key_memory_sp_head_call_root;
158 extern PSI_memory_key key_memory_sp_head_execute_root;
159 extern PSI_memory_key key_memory_sp_head_main_root;
160 extern PSI_memory_key key_memory_table_mapping_root;
161 extern PSI_memory_key key_memory_table_share;
162 extern PSI_memory_key key_memory_test_quick_select_exec;
163 extern PSI_memory_key key_memory_thd_main_mem_root;
164 extern PSI_memory_key key_memory_thd_timer;
165 extern PSI_memory_key key_memory_thd_transactions;
166 extern PSI_memory_key key_memory_user_conn;
167 extern PSI_memory_key key_memory_user_var_entry;
168 extern PSI_memory_key key_memory_user_var_entry_value;
169 extern PSI_memory_key key_memory_sp_cache;
170 extern PSI_memory_key key_memory_write_set_extraction;
171 
172 #endif  // PSI_MEMORY_KEY_INCLUDED
173