]> git.pld-linux.org Git - packages/mysql.git/blame - innodb_show_status_extend.patch
small reorganize, move slave related options together
[packages/mysql.git] / innodb_show_status_extend.patch
CommitLineData
b4e1fa2c
AM
1# name : innodb_show_status_extend.patch
2# introduced : XtraDB based 5.5.8
3# maintainer : Yasufumi
4#
5#!!! notice !!!
6# Any small change to this file in the main branch
7# should be done or reviewed by the maintainer!
db82db79
AM
8--- a/storage/innobase/handler/ha_innodb.cc
9+++ b/storage/innobase/handler/ha_innodb.cc
734d6226 10@@ -641,6 +641,16 @@
b4e1fa2c
AM
11 trx_t* trx); /*!< in: transaction handle */
12
13 static SHOW_VAR innodb_status_variables[]= {
14+ {"adaptive_hash_cells",
15+ (char*) &export_vars.innodb_adaptive_hash_cells, SHOW_LONG},
16+ {"adaptive_hash_heap_buffers",
17+ (char*) &export_vars.innodb_adaptive_hash_heap_buffers, SHOW_LONG},
18+ {"adaptive_hash_hash_searches",
19+ (char*) &export_vars.innodb_adaptive_hash_hash_searches, SHOW_LONG},
20+ {"adaptive_hash_non_hash_searches",
21+ (char*) &export_vars.innodb_adaptive_hash_non_hash_searches, SHOW_LONG},
22+ {"background_log_sync",
23+ (char*) &export_vars.innodb_background_log_sync, SHOW_LONG},
24 {"buffer_pool_pages_data",
25 (char*) &export_vars.innodb_buffer_pool_pages_data, SHOW_LONG},
26 {"buffer_pool_pages_dirty",
734d6226 27@@ -655,8 +665,14 @@
b4e1fa2c
AM
28 {"buffer_pool_pages_latched",
29 (char*) &export_vars.innodb_buffer_pool_pages_latched, SHOW_LONG},
30 #endif /* UNIV_DEBUG */
31+ {"buffer_pool_pages_made_not_young",
32+ (char*) &export_vars.innodb_buffer_pool_pages_made_not_young, SHOW_LONG},
33+ {"buffer_pool_pages_made_young",
34+ (char*) &export_vars.innodb_buffer_pool_pages_made_young, SHOW_LONG},
35 {"buffer_pool_pages_misc",
36 (char*) &export_vars.innodb_buffer_pool_pages_misc, SHOW_LONG},
37+ {"buffer_pool_pages_old",
38+ (char*) &export_vars.innodb_buffer_pool_pages_old, SHOW_LONG},
39 {"buffer_pool_pages_total",
40 (char*) &export_vars.innodb_buffer_pool_pages_total, SHOW_LONG},
734d6226
AM
41 {"buffer_pool_read_ahead_rnd",
42@@ -673,6 +689,12 @@
b4e1fa2c
AM
43 (char*) &export_vars.innodb_buffer_pool_wait_free, SHOW_LONG},
44 {"buffer_pool_write_requests",
45 (char*) &export_vars.innodb_buffer_pool_write_requests, SHOW_LONG},
46+ {"checkpoint_age",
47+ (char*) &export_vars.innodb_checkpoint_age, SHOW_LONG},
48+ {"checkpoint_max_age",
49+ (char*) &export_vars.innodb_checkpoint_max_age, SHOW_LONG},
50+ {"checkpoint_target_age",
51+ (char*) &export_vars.innodb_checkpoint_target_age, SHOW_LONG},
52 {"data_fsyncs",
53 (char*) &export_vars.innodb_data_fsyncs, SHOW_LONG},
54 {"data_pending_fsyncs",
734d6226 55@@ -699,12 +721,66 @@
b4e1fa2c
AM
56 (char*) &export_vars.innodb_dict_tables, SHOW_LONG},
57 {"have_atomic_builtins",
58 (char*) &export_vars.innodb_have_atomic_builtins, SHOW_BOOL},
59+ {"history_list_length",
60+ (char*) &export_vars.innodb_history_list_length, SHOW_LONG},
61+ {"ibuf_discarded_delete_marks",
62+ (char*) &export_vars.innodb_ibuf_discarded_delete_marks, SHOW_LONG},
63+ {"ibuf_discarded_deletes",
64+ (char*) &export_vars.innodb_ibuf_discarded_deletes, SHOW_LONG},
65+ {"ibuf_discarded_inserts",
66+ (char*) &export_vars.innodb_ibuf_discarded_inserts, SHOW_LONG},
67+ {"ibuf_free_list",
68+ (char*) &export_vars.innodb_ibuf_free_list, SHOW_LONG},
69+ {"ibuf_merged_delete_marks",
70+ (char*) &export_vars.innodb_ibuf_merged_delete_marks, SHOW_LONG},
71+ {"ibuf_merged_deletes",
72+ (char*) &export_vars.innodb_ibuf_merged_deletes, SHOW_LONG},
73+ {"ibuf_merged_inserts",
74+ (char*) &export_vars.innodb_ibuf_merged_inserts, SHOW_LONG},
75+ {"ibuf_merges",
76+ (char*) &export_vars.innodb_ibuf_merges, SHOW_LONG},
77+ {"ibuf_segment_size",
78+ (char*) &export_vars.innodb_ibuf_segment_size, SHOW_LONG},
79+ {"ibuf_size",
80+ (char*) &export_vars.innodb_ibuf_size, SHOW_LONG},
81 {"log_waits",
82 (char*) &export_vars.innodb_log_waits, SHOW_LONG},
83 {"log_write_requests",
84 (char*) &export_vars.innodb_log_write_requests, SHOW_LONG},
85 {"log_writes",
86 (char*) &export_vars.innodb_log_writes, SHOW_LONG},
87+ {"lsn_current",
88+ (char*) &export_vars.innodb_lsn_current, SHOW_LONGLONG},
89+ {"lsn_flushed",
90+ (char*) &export_vars.innodb_lsn_flushed, SHOW_LONGLONG},
91+ {"lsn_last_checkpoint",
92+ (char*) &export_vars.innodb_lsn_last_checkpoint, SHOW_LONGLONG},
93+ {"master_thread_1_second_loops",
94+ (char*) &export_vars.innodb_master_thread_1_second_loops, SHOW_LONG},
95+ {"master_thread_10_second_loops",
96+ (char*) &export_vars.innodb_master_thread_10_second_loops, SHOW_LONG},
97+ {"master_thread_background_loops",
98+ (char*) &export_vars.innodb_master_thread_background_loops, SHOW_LONG},
99+ {"master_thread_main_flush_loops",
100+ (char*) &export_vars.innodb_master_thread_main_flush_loops, SHOW_LONG},
101+ {"master_thread_sleeps",
102+ (char*) &export_vars.innodb_master_thread_sleeps, SHOW_LONG},
103+ {"max_trx_id",
104+ (char*) &export_vars.innodb_max_trx_id, SHOW_LONGLONG},
105+ {"mem_adaptive_hash",
106+ (char*) &export_vars.innodb_mem_adaptive_hash, SHOW_LONG},
107+ {"mem_dictionary",
108+ (char*) &export_vars.innodb_mem_dictionary, SHOW_LONG},
109+ {"mem_total",
110+ (char*) &export_vars.innodb_mem_total, SHOW_LONG},
111+ {"mutex_os_waits",
112+ (char*) &export_vars.innodb_mutex_os_waits, SHOW_LONGLONG},
113+ {"mutex_spin_rounds",
114+ (char*) &export_vars.innodb_mutex_spin_rounds, SHOW_LONGLONG},
115+ {"mutex_spin_waits",
116+ (char*) &export_vars.innodb_mutex_spin_waits, SHOW_LONGLONG},
117+ {"oldest_view_low_limit_trx_id",
118+ (char*) &export_vars.innodb_oldest_view_low_limit_trx_id, SHOW_LONGLONG},
119 {"os_log_fsyncs",
120 (char*) &export_vars.innodb_os_log_fsyncs, SHOW_LONG},
121 {"os_log_pending_fsyncs",
734d6226 122@@ -721,8 +797,14 @@
b4e1fa2c
AM
123 (char*) &export_vars.innodb_pages_read, SHOW_LONG},
124 {"pages_written",
125 (char*) &export_vars.innodb_pages_written, SHOW_LONG},
126+ {"purge_trx_id",
127+ (char*) &export_vars.innodb_purge_trx_id, SHOW_LONGLONG},
128+ {"purge_undo_no",
129+ (char*) &export_vars.innodb_purge_undo_no, SHOW_LONGLONG},
130 {"row_lock_current_waits",
131 (char*) &export_vars.innodb_row_lock_current_waits, SHOW_LONG},
a9ee80b9
ER
132+ {"current_row_locks",
133+ (char*) &export_vars.innodb_current_row_locks, SHOW_LONG},
b4e1fa2c
AM
134 {"row_lock_time",
135 (char*) &export_vars.innodb_row_lock_time, SHOW_LONGLONG},
136 {"row_lock_time_avg",
734d6226 137@@ -739,8 +821,20 @@
b4e1fa2c
AM
138 (char*) &export_vars.innodb_rows_read, SHOW_LONG},
139 {"rows_updated",
140 (char*) &export_vars.innodb_rows_updated, SHOW_LONG},
141+ {"s_lock_os_waits",
142+ (char*) &export_vars.innodb_s_lock_os_waits, SHOW_LONGLONG},
143+ {"s_lock_spin_rounds",
144+ (char*) &export_vars.innodb_s_lock_spin_rounds, SHOW_LONGLONG},
145+ {"s_lock_spin_waits",
146+ (char*) &export_vars.innodb_s_lock_spin_waits, SHOW_LONGLONG},
147 {"truncated_status_writes",
148 (char*) &export_vars.innodb_truncated_status_writes, SHOW_LONG},
149+ {"x_lock_os_waits",
150+ (char*) &export_vars.innodb_x_lock_os_waits, SHOW_LONGLONG},
151+ {"x_lock_spin_rounds",
152+ (char*) &export_vars.innodb_x_lock_spin_rounds, SHOW_LONGLONG},
153+ {"x_lock_spin_waits",
154+ (char*) &export_vars.innodb_x_lock_spin_waits, SHOW_LONGLONG},
155 {NullS, NullS, SHOW_LONG}
156 };
157
db82db79
AM
158--- a/storage/innobase/ibuf/ibuf0ibuf.c
159+++ b/storage/innobase/ibuf/ibuf0ibuf.c
1bfc1981 160@@ -478,6 +478,45 @@
d8778560
AM
161 }
162
163 /******************************************************************//**
164+Function to pass ibuf status variables */
165+UNIV_INTERN
166+void
167+ibuf_export_ibuf_status(
168+/*====================*/
169+ ulint* size,
170+ ulint* free_list,
171+ ulint* segment_size,
172+ ulint* merges,
173+ ulint* merged_inserts,
174+ ulint* merged_delete_marks,
175+ ulint* merged_deletes,
176+ ulint* discarded_inserts,
177+ ulint* discarded_delete_marks,
178+ ulint* discarded_deletes)
179+{
180+ *size
181+ = ibuf->size;
182+ *free_list
183+ = ibuf->free_list_len;
184+ *segment_size
185+ = ibuf->seg_size;
186+ *merges
187+ = ibuf->n_merges;
188+ *merged_inserts
189+ = ibuf->n_merged_ops[IBUF_OP_INSERT];
190+ *merged_delete_marks
191+ = ibuf->n_merged_ops[IBUF_OP_DELETE_MARK];
192+ *merged_deletes
193+ = ibuf->n_merged_ops[IBUF_OP_DELETE];
194+ *discarded_inserts
195+ = ibuf->n_discarded_ops[IBUF_OP_INSERT];
196+ *discarded_delete_marks
197+ = ibuf->n_discarded_ops[IBUF_OP_DELETE_MARK];
198+ *discarded_deletes
199+ = ibuf->n_discarded_ops[IBUF_OP_DELETE];
200+}
201+
202+/******************************************************************//**
203 Updates the size information of the ibuf, assuming the segment size has not
204 changed. */
205 static
db82db79
AM
206--- a/storage/innobase/include/ibuf0ibuf.h
207+++ b/storage/innobase/include/ibuf0ibuf.h
adf0fb13 208@@ -438,6 +438,22 @@
d8778560
AM
209 void
210 ibuf_close(void);
211 /*============*/
212+/******************************************************************//**
213+Function to pass ibuf status variables */
214+UNIV_INTERN
215+void
216+ibuf_export_ibuf_status(
217+/*====================*/
218+ ulint* size,
219+ ulint* free_list,
220+ ulint* segment_size,
221+ ulint* merges,
222+ ulint* merged_inserts,
223+ ulint* merged_delete_marks,
224+ ulint* merged_deletes,
225+ ulint* discarded_inserts,
226+ ulint* discarded_delete_marks,
227+ ulint* discarded_deletes);
228
229 #define IBUF_HEADER_PAGE_NO FSP_IBUF_HEADER_PAGE_NO
230 #define IBUF_TREE_ROOT_PAGE_NO FSP_IBUF_TREE_ROOT_PAGE_NO
db82db79
AM
231--- a/storage/innobase/include/lock0lock.h
232+++ b/storage/innobase/include/lock0lock.h
233@@ -817,6 +817,7 @@
b4e1fa2c
AM
234 /** The lock system struct */
235 struct lock_sys_struct{
236 hash_table_t* rec_hash; /*!< hash table of the record locks */
237+ ulint rec_num;
238 };
239
240 /** The lock system */
db82db79
AM
241--- a/storage/innobase/include/srv0srv.h
242+++ b/storage/innobase/include/srv0srv.h
29ffd636 243@@ -742,6 +742,11 @@
b4e1fa2c
AM
244
245 /** Status variables to be passed to MySQL */
246 struct export_var_struct{
247+ ulint innodb_adaptive_hash_cells;
248+ ulint innodb_adaptive_hash_heap_buffers;
249+ ulint innodb_adaptive_hash_hash_searches;
250+ ulint innodb_adaptive_hash_non_hash_searches;
251+ ulint innodb_background_log_sync;
252 ulint innodb_data_pending_reads; /*!< Pending reads */
253 ulint innodb_data_pending_writes; /*!< Pending writes */
254 ulint innodb_data_pending_fsyncs; /*!< Pending fsyncs */
29ffd636 255@@ -759,6 +764,9 @@
b4e1fa2c
AM
256 #ifdef UNIV_DEBUG
257 ulint innodb_buffer_pool_pages_latched; /*!< Latched pages */
258 #endif /* UNIV_DEBUG */
259+ ulint innodb_buffer_pool_pages_made_not_young;
260+ ulint innodb_buffer_pool_pages_made_young;
261+ ulint innodb_buffer_pool_pages_old;
262 ulint innodb_buffer_pool_read_requests; /*!< buf_pool->stat.n_page_gets */
263 ulint innodb_buffer_pool_reads; /*!< srv_buf_pool_reads */
264 ulint innodb_buffer_pool_wait_free; /*!< srv_buf_pool_wait_free */
29ffd636 265@@ -768,13 +776,43 @@
734d6226 266 ulint innodb_buffer_pool_read_ahead_rnd;/*!< srv_read_ahead_rnd */
b4e1fa2c
AM
267 ulint innodb_buffer_pool_read_ahead; /*!< srv_read_ahead */
268 ulint innodb_buffer_pool_read_ahead_evicted;/*!< srv_read_ahead evicted*/
269+ ulint innodb_checkpoint_age;
270+ ulint innodb_checkpoint_max_age;
271+ ulint innodb_checkpoint_target_age;
272 ulint innodb_dblwr_pages_written; /*!< srv_dblwr_pages_written */
273 ulint innodb_dblwr_writes; /*!< srv_dblwr_writes */
274 ulint innodb_deadlocks;
275 ibool innodb_have_atomic_builtins; /*!< HAVE_ATOMIC_BUILTINS */
276+ ulint innodb_history_list_length;
277+ ulint innodb_ibuf_size;
278+ ulint innodb_ibuf_free_list;
279+ ulint innodb_ibuf_segment_size;
280+ ulint innodb_ibuf_merges;
281+ ulint innodb_ibuf_merged_inserts;
282+ ulint innodb_ibuf_merged_delete_marks;
283+ ulint innodb_ibuf_merged_deletes;
284+ ulint innodb_ibuf_discarded_inserts;
285+ ulint innodb_ibuf_discarded_delete_marks;
286+ ulint innodb_ibuf_discarded_deletes;
287 ulint innodb_log_waits; /*!< srv_log_waits */
288 ulint innodb_log_write_requests; /*!< srv_log_write_requests */
289 ulint innodb_log_writes; /*!< srv_log_writes */
290+ ib_int64_t innodb_lsn_current;
291+ ib_int64_t innodb_lsn_flushed;
292+ ib_int64_t innodb_lsn_last_checkpoint;
293+ ulint innodb_master_thread_1_second_loops;
294+ ulint innodb_master_thread_10_second_loops;
295+ ulint innodb_master_thread_background_loops;
296+ ulint innodb_master_thread_main_flush_loops;
297+ ulint innodb_master_thread_sleeps;
298+ ib_int64_t innodb_max_trx_id;
299+ ulint innodb_mem_adaptive_hash;
300+ ulint innodb_mem_dictionary;
301+ ulint innodb_mem_total;
302+ ib_int64_t innodb_mutex_os_waits;
303+ ib_int64_t innodb_mutex_spin_rounds;
304+ ib_int64_t innodb_mutex_spin_waits;
305+ ib_int64_t innodb_oldest_view_low_limit_trx_id;
306 ulint innodb_os_log_written; /*!< srv_os_log_written */
307 ulint innodb_os_log_fsyncs; /*!< fil_n_log_flushes */
308 ulint innodb_os_log_pending_writes; /*!< srv_os_log_pending_writes */
29ffd636 309@@ -783,6 +821,8 @@
b4e1fa2c
AM
310 ulint innodb_pages_created; /*!< buf_pool->stat.n_pages_created */
311 ulint innodb_pages_read; /*!< buf_pool->stat.n_pages_read */
312 ulint innodb_pages_written; /*!< buf_pool->stat.n_pages_written */
313+ ib_int64_t innodb_purge_trx_id;
314+ ib_int64_t innodb_purge_undo_no;
315 ulint innodb_row_lock_waits; /*!< srv_n_lock_wait_count */
316 ulint innodb_row_lock_current_waits; /*!< srv_n_lock_wait_current_count */
317 ib_int64_t innodb_row_lock_time; /*!< srv_n_lock_wait_time
29ffd636 318@@ -792,11 +832,18 @@
b4e1fa2c
AM
319 / srv_n_lock_wait_count */
320 ulint innodb_row_lock_time_max; /*!< srv_n_lock_max_wait_time
321 / 1000 */
a9ee80b9 322+ ulint innodb_current_row_locks;
b4e1fa2c
AM
323 ulint innodb_rows_read; /*!< srv_n_rows_read */
324 ulint innodb_rows_inserted; /*!< srv_n_rows_inserted */
325 ulint innodb_rows_updated; /*!< srv_n_rows_updated */
326 ulint innodb_rows_deleted; /*!< srv_n_rows_deleted */
327 ulint innodb_truncated_status_writes; /*!< srv_truncated_status_writes */
328+ ib_int64_t innodb_s_lock_os_waits;
329+ ib_int64_t innodb_s_lock_spin_rounds;
330+ ib_int64_t innodb_s_lock_spin_waits;
331+ ib_int64_t innodb_x_lock_os_waits;
332+ ib_int64_t innodb_x_lock_spin_rounds;
333+ ib_int64_t innodb_x_lock_spin_waits;
334 };
335
336 /** Thread slot in the thread table */
db82db79
AM
337--- a/storage/innobase/include/sync0sync.h
338+++ b/storage/innobase/include/sync0sync.h
13ceb006 339@@ -766,6 +766,10 @@
b4e1fa2c
AM
340
341 #define SYNC_SPIN_ROUNDS srv_n_spin_wait_rounds
342
343+extern ib_int64_t mutex_spin_round_count;
344+extern ib_int64_t mutex_spin_wait_count;
345+extern ib_int64_t mutex_os_wait_count;
346+
347 /** The number of mutex_exit calls. Intended for performance monitoring. */
348 extern ib_int64_t mutex_exit_count;
349
db82db79
AM
350--- a/storage/innobase/lock/lock0lock.c
351+++ b/storage/innobase/lock/lock0lock.c
352@@ -569,6 +569,7 @@
b4e1fa2c
AM
353 lock_sys = mem_alloc(sizeof(lock_sys_t));
354
355 lock_sys->rec_hash = hash_create(n_cells);
356+ lock_sys->rec_num = 0;
357
358 /* hash_create_mutexes(lock_sys->rec_hash, 2, SYNC_REC_LOCK); */
359
db82db79 360@@ -1729,6 +1730,7 @@
b4e1fa2c
AM
361
362 HASH_INSERT(lock_t, hash, lock_sys->rec_hash,
363 lock_rec_fold(space, page_no), lock);
364+ lock_sys->rec_num++;
365 if (UNIV_UNLIKELY(type_mode & LOCK_WAIT)) {
366
367 lock_set_lock_and_trx_wait(lock, trx);
db82db79 368@@ -2275,6 +2277,7 @@
b4e1fa2c
AM
369
370 HASH_DELETE(lock_t, hash, lock_sys->rec_hash,
371 lock_rec_fold(space, page_no), in_lock);
372+ lock_sys->rec_num--;
373
374 UT_LIST_REMOVE(trx_locks, trx->trx_locks, in_lock);
375
db82db79 376@@ -2318,6 +2321,7 @@
b4e1fa2c
AM
377
378 HASH_DELETE(lock_t, hash, lock_sys->rec_hash,
379 lock_rec_fold(space, page_no), in_lock);
380+ lock_sys->rec_num--;
381
382 UT_LIST_REMOVE(trx_locks, trx->trx_locks, in_lock);
383 }
db82db79
AM
384--- a/storage/innobase/srv/srv0srv.c
385+++ b/storage/innobase/srv/srv0srv.c
29ffd636 386@@ -2262,12 +2262,49 @@
b4e1fa2c
AM
387 ulint LRU_len;
388 ulint free_len;
389 ulint flush_list_len;
390+ ulint mem_adaptive_hash, mem_dictionary;
391+ read_view_t* oldest_view;
392+ ulint i;
393
394 buf_get_total_stat(&stat);
395 buf_get_total_list_len(&LRU_len, &free_len, &flush_list_len);
396
397+ if (btr_search_sys && btr_search_sys->hash_index[0]->heap) {
398+ mem_adaptive_hash = mem_heap_get_size(btr_search_sys->hash_index[0]->heap);
399+ } else {
400+ mem_adaptive_hash = 0;
401+ for (i=0; i < btr_search_sys->hash_index[0]->n_mutexes; i++) {
402+ mem_adaptive_hash += mem_heap_get_size(btr_search_sys->hash_index[0]->heaps[i]);
403+ }
404+ }
405+ mem_adaptive_hash *= btr_search_index_num;
406+ if (btr_search_sys) {
407+ mem_adaptive_hash += (btr_search_sys->hash_index[0]->n_cells * btr_search_index_num * sizeof(hash_cell_t));
408+ }
409+
410+ mem_dictionary = (dict_sys ? ((dict_sys->table_hash->n_cells
411+ + dict_sys->table_id_hash->n_cells
412+ ) * sizeof(hash_cell_t)
413+ + dict_sys->size) : 0);
414+
415 mutex_enter(&srv_innodb_monitor_mutex);
416
417+ export_vars.innodb_adaptive_hash_cells = 0;
418+ export_vars.innodb_adaptive_hash_heap_buffers = 0;
419+ for (i = 0; i < btr_search_index_num; i++) {
420+ hash_table_t* table = btr_search_get_hash_index((index_id_t)i);
421+
422+ export_vars.innodb_adaptive_hash_cells
423+ += hash_get_n_cells(table);
424+ export_vars.innodb_adaptive_hash_heap_buffers
425+ += (UT_LIST_GET_LEN(table->heap->base) - 1);
426+ }
427+ export_vars.innodb_adaptive_hash_hash_searches
428+ = btr_cur_n_sea;
429+ export_vars.innodb_adaptive_hash_non_hash_searches
430+ = btr_cur_n_non_sea;
431+ export_vars.innodb_background_log_sync
432+ = srv_log_writes_and_flush;
433 export_vars.innodb_data_pending_reads
434 = os_n_pending_reads;
435 export_vars.innodb_data_pending_writes
29ffd636 436@@ -2306,6 +2343,92 @@
b4e1fa2c
AM
437
438 export_vars.innodb_buffer_pool_pages_misc
439 = buf_pool_get_n_pages() - LRU_len - free_len;
440+
441+ export_vars.innodb_buffer_pool_pages_made_young
442+ = stat.n_pages_made_young;
443+ export_vars.innodb_buffer_pool_pages_made_not_young
444+ = stat.n_pages_not_made_young;
445+ export_vars.innodb_buffer_pool_pages_old = 0;
446+ for (i = 0; i < srv_buf_pool_instances; i++) {
447+ buf_pool_t* buf_pool = buf_pool_from_array(i);
448+ export_vars.innodb_buffer_pool_pages_old
449+ += buf_pool->LRU_old_len;
450+ }
451+ export_vars.innodb_checkpoint_age
452+ = (log_sys->lsn - log_sys->last_checkpoint_lsn);
453+ export_vars.innodb_checkpoint_max_age
454+ = log_sys->max_checkpoint_age;
455+ export_vars.innodb_checkpoint_target_age
456+ = srv_checkpoint_age_target
457+ ? ut_min(log_sys->max_checkpoint_age_async, srv_checkpoint_age_target)
458+ : log_sys->max_checkpoint_age_async;
459+ export_vars.innodb_history_list_length
460+ = trx_sys->rseg_history_len;
d8778560
AM
461+ ibuf_export_ibuf_status(
462+ &export_vars.innodb_ibuf_size,
463+ &export_vars.innodb_ibuf_free_list,
464+ &export_vars.innodb_ibuf_segment_size,
465+ &export_vars.innodb_ibuf_merges,
466+ &export_vars.innodb_ibuf_merged_inserts,
467+ &export_vars.innodb_ibuf_merged_delete_marks,
468+ &export_vars.innodb_ibuf_merged_deletes,
469+ &export_vars.innodb_ibuf_discarded_inserts,
470+ &export_vars.innodb_ibuf_discarded_delete_marks,
471+ &export_vars.innodb_ibuf_discarded_deletes);
b4e1fa2c
AM
472+ export_vars.innodb_lsn_current
473+ = log_sys->lsn;
474+ export_vars.innodb_lsn_flushed
475+ = log_sys->flushed_to_disk_lsn;
476+ export_vars.innodb_lsn_last_checkpoint
477+ = log_sys->last_checkpoint_lsn;
478+ export_vars.innodb_master_thread_1_second_loops
479+ = srv_main_1_second_loops;
480+ export_vars.innodb_master_thread_10_second_loops
481+ = srv_main_10_second_loops;
482+ export_vars.innodb_master_thread_background_loops
483+ = srv_main_background_loops;
484+ export_vars.innodb_master_thread_main_flush_loops
485+ = srv_main_flush_loops;
486+ export_vars.innodb_master_thread_sleeps
487+ = srv_main_sleeps;
488+ export_vars.innodb_max_trx_id
489+ = trx_sys->max_trx_id;
490+ export_vars.innodb_mem_adaptive_hash
491+ = mem_adaptive_hash;
492+ export_vars.innodb_mem_dictionary
493+ = mem_dictionary;
494+ export_vars.innodb_mem_total
495+ = ut_total_allocated_memory;
496+ export_vars.innodb_mutex_os_waits
497+ = mutex_os_wait_count;
498+ export_vars.innodb_mutex_spin_rounds
499+ = mutex_spin_round_count;
500+ export_vars.innodb_mutex_spin_waits
501+ = mutex_spin_wait_count;
502+ export_vars.innodb_s_lock_os_waits
503+ = rw_s_os_wait_count;
504+ export_vars.innodb_s_lock_spin_rounds
505+ = rw_s_spin_round_count;
506+ export_vars.innodb_s_lock_spin_waits
507+ = rw_s_spin_wait_count;
508+ export_vars.innodb_x_lock_os_waits
509+ = rw_x_os_wait_count;
510+ export_vars.innodb_x_lock_spin_rounds
511+ = rw_x_spin_round_count;
512+ export_vars.innodb_x_lock_spin_waits
513+ = rw_x_spin_wait_count;
514+
515+ oldest_view = UT_LIST_GET_LAST(trx_sys->view_list);
516+ export_vars.innodb_oldest_view_low_limit_trx_id
517+ = oldest_view ? oldest_view->low_limit_id : 0;
518+
519+ export_vars.innodb_purge_trx_id
520+ = purge_sys->purge_trx_no;
521+ export_vars.innodb_purge_undo_no
522+ = purge_sys->purge_undo_no;
a9ee80b9 523+ export_vars.innodb_current_row_locks
b4e1fa2c
AM
524+ = lock_sys->rec_num;
525+
526 #ifdef HAVE_ATOMIC_BUILTINS
527 export_vars.innodb_have_atomic_builtins = 1;
528 #else
db82db79
AM
529--- a/storage/innobase/sync/sync0sync.c
530+++ b/storage/innobase/sync/sync0sync.c
adf0fb13 531@@ -171,13 +171,13 @@
b4e1fa2c
AM
532
533 /** The number of iterations in the mutex_spin_wait() spin loop.
534 Intended for performance monitoring. */
535-static ib_int64_t mutex_spin_round_count = 0;
536+UNIV_INTERN ib_int64_t mutex_spin_round_count = 0;
537 /** The number of mutex_spin_wait() calls. Intended for
538 performance monitoring. */
539-static ib_int64_t mutex_spin_wait_count = 0;
540+UNIV_INTERN ib_int64_t mutex_spin_wait_count = 0;
541 /** The number of OS waits in mutex_spin_wait(). Intended for
542 performance monitoring. */
543-static ib_int64_t mutex_os_wait_count = 0;
544+UNIV_INTERN ib_int64_t mutex_os_wait_count = 0;
545 /** The number of mutex_exit() calls. Intended for performance
546 monitoring. */
547 UNIV_INTERN ib_int64_t mutex_exit_count = 0;
This page took 0.109973 seconds and 4 git commands to generate.