]> git.pld-linux.org Git - packages/mysql.git/blobdiff - innodb_show_status_extend.patch
- disable response-time-distribution patch on arch which has no atomic builtins even...
[packages/mysql.git] / innodb_show_status_extend.patch
index e7d812023a3e4462db09aebc5b65ec0b12528de6..3993c18f7eb141f3f38d16bba86105bbe3b0a9ff 100644 (file)
@@ -8,7 +8,7 @@
 diff -ruN a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_innodb.cc
 --- a/storage/innobase/handler/ha_innodb.cc    2011-01-21 19:53:42.369599743 +0900
 +++ b/storage/innobase/handler/ha_innodb.cc    2011-01-21 19:54:44.659599699 +0900
-@@ -618,6 +618,16 @@
+@@ -638,6 +638,16 @@
        trx_t*  trx);   /*!< in: transaction handle */
  
  static SHOW_VAR innodb_status_variables[]= {
@@ -25,7 +25,7 @@ diff -ruN a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_
    {"buffer_pool_pages_data",
    (char*) &export_vars.innodb_buffer_pool_pages_data,   SHOW_LONG},
    {"buffer_pool_pages_dirty",
-@@ -632,8 +642,14 @@
+@@ -652,8 +662,14 @@
    {"buffer_pool_pages_latched",
    (char*) &export_vars.innodb_buffer_pool_pages_latched,  SHOW_LONG},
  #endif /* UNIV_DEBUG */
@@ -40,7 +40,7 @@ diff -ruN a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_
    {"buffer_pool_pages_total",
    (char*) &export_vars.innodb_buffer_pool_pages_total,          SHOW_LONG},
    {"buffer_pool_read_ahead",
-@@ -648,6 +664,12 @@
+@@ -668,6 +684,12 @@
    (char*) &export_vars.innodb_buffer_pool_wait_free,    SHOW_LONG},
    {"buffer_pool_write_requests",
    (char*) &export_vars.innodb_buffer_pool_write_requests, SHOW_LONG},
@@ -53,7 +53,7 @@ diff -ruN a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_
    {"data_fsyncs",
    (char*) &export_vars.innodb_data_fsyncs,              SHOW_LONG},
    {"data_pending_fsyncs",
-@@ -674,12 +696,66 @@
+@@ -694,12 +716,66 @@
    (char*) &export_vars.innodb_dict_tables,              SHOW_LONG},
    {"have_atomic_builtins",
    (char*) &export_vars.innodb_have_atomic_builtins,     SHOW_BOOL},
@@ -120,7 +120,7 @@ diff -ruN a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_
    {"os_log_fsyncs",
    (char*) &export_vars.innodb_os_log_fsyncs,            SHOW_LONG},
    {"os_log_pending_fsyncs",
-@@ -696,8 +772,14 @@
+@@ -716,8 +792,14 @@
    (char*) &export_vars.innodb_pages_read,               SHOW_LONG},
    {"pages_written",
    (char*) &export_vars.innodb_pages_written,            SHOW_LONG},
@@ -130,12 +130,12 @@ diff -ruN a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_
 +  (char*) &export_vars.innodb_purge_undo_no,            SHOW_LONGLONG},
    {"row_lock_current_waits",
    (char*) &export_vars.innodb_row_lock_current_waits,   SHOW_LONG},
-+  {"row_lock_numbers",
-+  (char*) &export_vars.innodb_row_lock_numbers,                 SHOW_LONG},
++  {"current_row_locks",
++  (char*) &export_vars.innodb_current_row_locks,                SHOW_LONG},
    {"row_lock_time",
    (char*) &export_vars.innodb_row_lock_time,            SHOW_LONGLONG},
    {"row_lock_time_avg",
-@@ -714,8 +796,20 @@
+@@ -734,8 +816,20 @@
    (char*) &export_vars.innodb_rows_read,                SHOW_LONG},
    {"rows_updated",
    (char*) &export_vars.innodb_rows_updated,             SHOW_LONG},
@@ -156,6 +156,81 @@ diff -ruN a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_
    {NullS, NullS, SHOW_LONG}
  };
  
+diff -ruN a/storage/innobase/ibuf/ibuf0ibuf.c b/storage/innobase/ibuf/ibuf0ibuf.c
+--- a/storage/innobase/ibuf/ibuf0ibuf.c        2011-02-03 15:05:04.000000000 +0900
++++ b/storage/innobase/ibuf/ibuf0ibuf.c        2011-02-03 15:19:47.000000000 +0900
+@@ -479,6 +479,45 @@
+ }
+ /******************************************************************//**
++Function to pass ibuf status variables */
++UNIV_INTERN
++void
++ibuf_export_ibuf_status(
++/*====================*/
++      ulint*  size,
++      ulint*  free_list,
++      ulint*  segment_size,
++      ulint*  merges,
++      ulint*  merged_inserts,
++      ulint*  merged_delete_marks,
++      ulint*  merged_deletes,
++      ulint*  discarded_inserts,
++      ulint*  discarded_delete_marks,
++      ulint*  discarded_deletes)
++{
++      *size
++              = ibuf->size;
++      *free_list
++              = ibuf->free_list_len;
++      *segment_size
++              = ibuf->seg_size;
++      *merges
++              = ibuf->n_merges;
++      *merged_inserts
++              = ibuf->n_merged_ops[IBUF_OP_INSERT];
++      *merged_delete_marks
++              = ibuf->n_merged_ops[IBUF_OP_DELETE_MARK];
++      *merged_deletes
++              = ibuf->n_merged_ops[IBUF_OP_DELETE];
++      *discarded_inserts
++              = ibuf->n_discarded_ops[IBUF_OP_INSERT];
++      *discarded_delete_marks
++              = ibuf->n_discarded_ops[IBUF_OP_DELETE_MARK];
++      *discarded_deletes
++              = ibuf->n_discarded_ops[IBUF_OP_DELETE];
++}
++
++/******************************************************************//**
+ Updates the size information of the ibuf, assuming the segment size has not
+ changed. */
+ static
+diff -ruN a/storage/innobase/include/ibuf0ibuf.h b/storage/innobase/include/ibuf0ibuf.h
+--- a/storage/innobase/include/ibuf0ibuf.h     2010-12-04 02:58:26.000000000 +0900
++++ b/storage/innobase/include/ibuf0ibuf.h     2011-02-03 15:19:47.000000000 +0900
+@@ -420,6 +420,22 @@
+ void
+ ibuf_close(void);
+ /*============*/
++/******************************************************************//**
++Function to pass ibuf status variables */
++UNIV_INTERN
++void
++ibuf_export_ibuf_status(
++/*====================*/
++      ulint*  size,
++      ulint*  free_list,
++      ulint*  segment_size,
++      ulint*  merges,
++      ulint*  merged_inserts,
++      ulint*  merged_delete_marks,
++      ulint*  merged_deletes,
++      ulint*  discarded_inserts,
++      ulint*  discarded_delete_marks,
++      ulint*  discarded_deletes);
+ #define IBUF_HEADER_PAGE_NO   FSP_IBUF_HEADER_PAGE_NO
+ #define IBUF_TREE_ROOT_PAGE_NO        FSP_IBUF_TREE_ROOT_PAGE_NO
 diff -ruN a/storage/innobase/include/lock0lock.h b/storage/innobase/include/lock0lock.h
 --- a/storage/innobase/include/lock0lock.h     2011-01-21 19:52:38.967683738 +0900
 +++ b/storage/innobase/include/lock0lock.h     2011-01-21 19:54:44.660599140 +0900
@@ -170,7 +245,7 @@ diff -ruN a/storage/innobase/include/lock0lock.h b/storage/innobase/include/lock
 diff -ruN a/storage/innobase/include/srv0srv.h b/storage/innobase/include/srv0srv.h
 --- a/storage/innobase/include/srv0srv.h       2011-01-21 19:53:42.380638228 +0900
 +++ b/storage/innobase/include/srv0srv.h       2011-01-21 19:54:44.662600032 +0900
-@@ -727,6 +727,11 @@
+@@ -753,6 +753,11 @@
  
  /** Status variables to be passed to MySQL */
  struct export_var_struct{
@@ -182,7 +257,7 @@ diff -ruN a/storage/innobase/include/srv0srv.h b/storage/innobase/include/srv0sr
        ulint innodb_data_pending_reads;        /*!< Pending reads */
        ulint innodb_data_pending_writes;       /*!< Pending writes */
        ulint innodb_data_pending_fsyncs;       /*!< Pending fsyncs */
-@@ -744,6 +749,9 @@
+@@ -770,6 +775,9 @@
  #ifdef UNIV_DEBUG
        ulint innodb_buffer_pool_pages_latched; /*!< Latched pages */
  #endif /* UNIV_DEBUG */
@@ -192,7 +267,7 @@ diff -ruN a/storage/innobase/include/srv0srv.h b/storage/innobase/include/srv0sr
        ulint innodb_buffer_pool_read_requests; /*!< buf_pool->stat.n_page_gets */
        ulint innodb_buffer_pool_reads;         /*!< srv_buf_pool_reads */
        ulint innodb_buffer_pool_wait_free;     /*!< srv_buf_pool_wait_free */
-@@ -752,13 +760,43 @@
+@@ -778,13 +786,43 @@
        ulint innodb_buffer_pool_write_requests;/*!< srv_buf_pool_write_requests */
        ulint innodb_buffer_pool_read_ahead;    /*!< srv_read_ahead */
        ulint innodb_buffer_pool_read_ahead_evicted;/*!< srv_read_ahead evicted*/
@@ -236,7 +311,7 @@ diff -ruN a/storage/innobase/include/srv0srv.h b/storage/innobase/include/srv0sr
        ulint innodb_os_log_written;            /*!< srv_os_log_written */
        ulint innodb_os_log_fsyncs;             /*!< fil_n_log_flushes */
        ulint innodb_os_log_pending_writes;     /*!< srv_os_log_pending_writes */
-@@ -767,6 +805,8 @@
+@@ -793,6 +831,8 @@
        ulint innodb_pages_created;             /*!< buf_pool->stat.n_pages_created */
        ulint innodb_pages_read;                /*!< buf_pool->stat.n_pages_read */
        ulint innodb_pages_written;             /*!< buf_pool->stat.n_pages_written */
@@ -245,11 +320,11 @@ diff -ruN a/storage/innobase/include/srv0srv.h b/storage/innobase/include/srv0sr
        ulint innodb_row_lock_waits;            /*!< srv_n_lock_wait_count */
        ulint innodb_row_lock_current_waits;    /*!< srv_n_lock_wait_current_count */
        ib_int64_t innodb_row_lock_time;        /*!< srv_n_lock_wait_time
-@@ -776,11 +816,18 @@
+@@ -802,11 +842,18 @@
                                                / srv_n_lock_wait_count */
        ulint innodb_row_lock_time_max;         /*!< srv_n_lock_max_wait_time
                                                / 1000 */
-+      ulint innodb_row_lock_numbers;
++      ulint innodb_current_row_locks;
        ulint innodb_rows_read;                 /*!< srv_n_rows_read */
        ulint innodb_rows_inserted;             /*!< srv_n_rows_inserted */
        ulint innodb_rows_updated;              /*!< srv_n_rows_updated */
@@ -267,7 +342,7 @@ diff -ruN a/storage/innobase/include/srv0srv.h b/storage/innobase/include/srv0sr
 diff -ruN a/storage/innobase/include/sync0sync.h b/storage/innobase/include/sync0sync.h
 --- a/storage/innobase/include/sync0sync.h     2011-01-21 19:48:45.982637372 +0900
 +++ b/storage/innobase/include/sync0sync.h     2011-01-21 19:54:44.664638235 +0900
-@@ -760,6 +760,10 @@
+@@ -761,6 +761,10 @@
  
  #define       SYNC_SPIN_ROUNDS        srv_n_spin_wait_rounds
  
@@ -316,7 +391,7 @@ diff -ruN a/storage/innobase/lock/lock0lock.c b/storage/innobase/lock/lock0lock.
 diff -ruN a/storage/innobase/srv/srv0srv.c b/storage/innobase/srv/srv0srv.c
 --- a/storage/innobase/srv/srv0srv.c   2011-01-21 19:53:42.390637840 +0900
 +++ b/storage/innobase/srv/srv0srv.c   2011-01-21 19:54:44.673637084 +0900
-@@ -2227,12 +2227,49 @@
+@@ -2269,12 +2269,49 @@
        ulint           LRU_len;
        ulint           free_len;
        ulint           flush_list_len;
@@ -366,7 +441,7 @@ diff -ruN a/storage/innobase/srv/srv0srv.c b/storage/innobase/srv/srv0srv.c
        export_vars.innodb_data_pending_reads
                = os_n_pending_reads;
        export_vars.innodb_data_pending_writes
-@@ -2269,6 +2306,101 @@
+@@ -2311,6 +2348,92 @@
  
        export_vars.innodb_buffer_pool_pages_misc
                = buf_pool_get_n_pages() - LRU_len - free_len;
@@ -391,26 +466,17 @@ diff -ruN a/storage/innobase/srv/srv0srv.c b/storage/innobase/srv/srv0srv.c
 +                : log_sys->max_checkpoint_age_async;
 +      export_vars.innodb_history_list_length
 +              = trx_sys->rseg_history_len;
-+      export_vars.innodb_ibuf_size
-+              = ibuf->size;
-+      export_vars.innodb_ibuf_free_list
-+              = ibuf->free_list_len;
-+      export_vars.innodb_ibuf_segment_size
-+              = ibuf->seg_size;
-+      export_vars.innodb_ibuf_merges
-+              = ibuf->n_merges;
-+      export_vars.innodb_ibuf_merged_inserts
-+              = ibuf->n_merged_ops[IBUF_OP_INSERT];
-+      export_vars.innodb_ibuf_merged_delete_marks
-+              = ibuf->n_merged_ops[IBUF_OP_DELETE_MARK];
-+      export_vars.innodb_ibuf_merged_deletes
-+              = ibuf->n_merged_ops[IBUF_OP_DELETE];
-+      export_vars.innodb_ibuf_discarded_inserts
-+              = ibuf->n_discarded_ops[IBUF_OP_INSERT];
-+      export_vars.innodb_ibuf_discarded_delete_marks
-+              = ibuf->n_discarded_ops[IBUF_OP_DELETE_MARK];
-+      export_vars.innodb_ibuf_discarded_deletes
-+              = ibuf->n_discarded_ops[IBUF_OP_DELETE];
++      ibuf_export_ibuf_status(
++                      &export_vars.innodb_ibuf_size,
++                      &export_vars.innodb_ibuf_free_list,
++                      &export_vars.innodb_ibuf_segment_size,
++                      &export_vars.innodb_ibuf_merges,
++                      &export_vars.innodb_ibuf_merged_inserts,
++                      &export_vars.innodb_ibuf_merged_delete_marks,
++                      &export_vars.innodb_ibuf_merged_deletes,
++                      &export_vars.innodb_ibuf_discarded_inserts,
++                      &export_vars.innodb_ibuf_discarded_delete_marks,
++                      &export_vars.innodb_ibuf_discarded_deletes);
 +      export_vars.innodb_lsn_current
 +              = log_sys->lsn;
 +      export_vars.innodb_lsn_flushed
@@ -462,7 +528,7 @@ diff -ruN a/storage/innobase/srv/srv0srv.c b/storage/innobase/srv/srv0srv.c
 +              = purge_sys->purge_trx_no;
 +      export_vars.innodb_purge_undo_no
 +              = purge_sys->purge_undo_no;
-+      export_vars.innodb_row_lock_numbers
++      export_vars.innodb_current_row_locks
 +              = lock_sys->rec_num;
 +
  #ifdef HAVE_ATOMIC_BUILTINS
This page took 0.094263 seconds and 4 git commands to generate.