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