diff options
author | unknown <ingo@mysql.com> | 2005-09-14 13:18:16 +0200 |
---|---|---|
committer | unknown <ingo@mysql.com> | 2005-09-14 13:18:16 +0200 |
commit | 5fe65297d21ed815d221699cad46e44958f74a06 (patch) | |
tree | db8c02e8e43fdc08335f800d9e4b724cd39e6b77 | |
parent | 683e228a26d8f8ea85e329e4f6f23ea625a85537 (diff) | |
download | mariadb-git-5fe65297d21ed815d221699cad46e44958f74a06.tar.gz |
Bug#12920 - key_read_requests counter appears to re-set
After merge fix.
include/keycache.h:
Bug#12920 - key_read_requests counter appears to re-set
After merge fix.
Status variables moved into KEY_CACHE in 4.1.
Enlarging them there.
include/my_sys.h:
Bug#12920 - key_read_requests counter appears to re-set
After merge fix.
Status variables moved into KEY_CACHE in 4.1.
Removed unused global variables.
myisam/mi_test2.c:
Bug#12920 - key_read_requests counter appears to re-set
After merge fix.
Status variables moved into KEY_CACHE in 4.1.
Changed to print default key cache status.
mysys/mf_keycache.c:
Bug#12920 - key_read_requests counter appears to re-set
After merge fix.
Status variables moved into KEY_CACHE in 4.1.
Changed their debug printout.
sql/mysqld.cc:
Bug#12920 - key_read_requests counter appears to re-set
After merge fix.
Changed to print full value.
sql/sql_show.cc:
Bug#12920 - key_read_requests counter appears to re-set
After merge fix.
Added a branch for long long values.
sql/sql_test.cc:
Bug#12920 - key_read_requests counter appears to re-set
After merge fix.
changed to print full values.
sql/structs.h:
Bug#12920 - key_read_requests counter appears to re-set
After merge fix.
Added a branch for long long keycache values.
-rw-r--r-- | include/keycache.h | 8 | ||||
-rw-r--r-- | include/my_sys.h | 3 | ||||
-rw-r--r-- | myisam/mi_test2.c | 10 | ||||
-rw-r--r-- | mysys/mf_keycache.c | 13 | ||||
-rw-r--r-- | sql/mysqld.cc | 8 | ||||
-rw-r--r-- | sql/sql_show.cc | 4 | ||||
-rw-r--r-- | sql/sql_test.cc | 19 | ||||
-rw-r--r-- | sql/structs.h | 2 |
8 files changed, 39 insertions, 28 deletions
diff --git a/include/keycache.h b/include/keycache.h index a292a69b0a3..9fe1cce5da5 100644 --- a/include/keycache.h +++ b/include/keycache.h @@ -90,10 +90,10 @@ typedef struct st_key_cache /* Statistics variables. These are reset in reset_key_cache_counters(). */ ulong global_blocks_changed; /* number of currently dirty blocks */ - ulong global_cache_w_requests;/* number of write requests (write hits) */ - ulong global_cache_write; /* number of writes from the cache to files */ - ulong global_cache_r_requests;/* number of read requests (read hits) */ - ulong global_cache_read; /* number of reads from files to the cache */ + ulonglong global_cache_w_requests;/* number of write requests (write hits) */ + ulonglong global_cache_write; /* number of writes from cache to files */ + ulonglong global_cache_r_requests;/* number of read requests (read hits) */ + ulonglong global_cache_read; /* number of reads from files to cache */ int blocks; /* max number of blocks in the cache */ my_bool in_init; /* Set to 1 in MySQL during init/resize */ diff --git a/include/my_sys.h b/include/my_sys.h index 01a8b92571b..9127a58d71c 100644 --- a/include/my_sys.h +++ b/include/my_sys.h @@ -216,9 +216,6 @@ extern CHARSET_INFO *all_charsets[256]; extern CHARSET_INFO compiled_charsets[]; /* statistics */ -extern ulonglong my_cache_w_requests, my_cache_write; -extern ulonglong my_cache_r_requests, my_cache_read; -extern ulong my_blocks_used, my_blocks_changed; extern ulong my_file_opened,my_stream_opened, my_tmp_file_created; extern uint mysys_usage_id; extern my_bool my_init_done; diff --git a/myisam/mi_test2.c b/myisam/mi_test2.c index d43600d9f66..6a6dcb971a2 100644 --- a/myisam/mi_test2.c +++ b/myisam/mi_test2.c @@ -831,7 +831,6 @@ end: puts("Locking used"); if (use_blob) puts("blobs used"); -#if 0 printf("key cache status: \n\ blocks used:%10lu\n\ not flushed:%10lu\n\ @@ -839,9 +838,12 @@ w_requests: %10lu\n\ writes: %10lu\n\ r_requests: %10lu\n\ reads: %10lu\n", - my_blocks_used, my_blocks_changed, - (ulong) my_cache_w_requests, (ulong) my_cache_write, - (ulong) my_cache_r_requests, (ulong) my_cache_read); + dflt_key_cache->blocks_used, + dflt_key_cache->global_blocks_changed, + (ulong) dflt_key_cache->global_cache_w_requests, + (ulong) dflt_key_cache->global_cache_write, + (ulong) dflt_key_cache->global_cache_r_requests, + (ulong) dflt_key_cache->global_cache_read); } end_key_cache(dflt_key_cache,1); if (blob_buffer) diff --git a/mysys/mf_keycache.c b/mysys/mf_keycache.c index f14af44dbb9..ca683f16415 100644 --- a/mysys/mf_keycache.c +++ b/mysys/mf_keycache.c @@ -632,12 +632,13 @@ void end_key_cache(KEY_CACHE *keycache, my_bool cleanup) keycache->blocks_changed= 0; } - DBUG_PRINT("status", - ("used: %d changed: %d w_requests: %ld \ -writes: %ld r_requests: %ld reads: %ld", - keycache->blocks_used, keycache->global_blocks_changed, - keycache->global_cache_w_requests, keycache->global_cache_write, - keycache->global_cache_r_requests, keycache->global_cache_read)); + DBUG_PRINT("status", ("used: %d changed: %d w_requests: %lu " + "writes: %lu r_requests: %lu reads: %lu", + keycache->blocks_used, keycache->global_blocks_changed, + (ulong) keycache->global_cache_w_requests, + (ulong) keycache->global_cache_write, + (ulong) keycache->global_cache_r_requests, + (ulong) keycache->global_cache_read)); if (cleanup) { diff --git a/sql/mysqld.cc b/sql/mysqld.cc index 8db4b27169a..86ba437596d 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -5544,13 +5544,13 @@ struct show_var_st status_vars[]= { {"Key_blocks_used", (char*) &dflt_key_cache_var.blocks_used, SHOW_KEY_CACHE_CONST_LONG}, {"Key_read_requests", (char*) &dflt_key_cache_var.global_cache_r_requests, - SHOW_KEY_CACHE_LONG}, + SHOW_KEY_CACHE_LONGLONG}, {"Key_reads", (char*) &dflt_key_cache_var.global_cache_read, - SHOW_KEY_CACHE_LONG}, + SHOW_KEY_CACHE_LONGLONG}, {"Key_write_requests", (char*) &dflt_key_cache_var.global_cache_w_requests, - SHOW_KEY_CACHE_LONG}, + SHOW_KEY_CACHE_LONGLONG}, {"Key_writes", (char*) &dflt_key_cache_var.global_cache_write, - SHOW_KEY_CACHE_LONG}, + SHOW_KEY_CACHE_LONGLONG}, {"Max_used_connections", (char*) &max_used_connections, SHOW_LONG}, {"Not_flushed_delayed_rows", (char*) &delayed_rows_in_use, SHOW_LONG_CONST}, {"Open_files", (char*) &my_file_opened, SHOW_LONG_CONST}, diff --git a/sql/sql_show.cc b/sql/sql_show.cc index 7cefd89c23c..c3c28535954 100644 --- a/sql/sql_show.cc +++ b/sql/sql_show.cc @@ -2091,6 +2091,10 @@ int mysqld_show(THD *thd, const char *wild, show_var_st *variables, value= (value-(char*) &dflt_key_cache_var)+ (char*) dflt_key_cache; end= int10_to_str(*(long*) value, buff, 10); break; + case SHOW_KEY_CACHE_LONGLONG: + value= (value-(char*) &dflt_key_cache_var)+ (char*) dflt_key_cache; + end= longlong10_to_str(*(longlong*) value, buff, 10); + break; case SHOW_UNDEF: // Show never happen case SHOW_SYS: break; // Return empty string diff --git a/sql/sql_test.cc b/sql/sql_test.cc index 8af7903a910..d6afc888be2 100644 --- a/sql/sql_test.cc +++ b/sql/sql_test.cc @@ -309,6 +309,11 @@ end: static int print_key_cache_status(const char *name, KEY_CACHE *key_cache) { + char llbuff1[22]; + char llbuff2[22]; + char llbuff3[22]; + char llbuff4[22]; + if (!key_cache->key_cache_inited) { printf("%s: Not in use\n", name); @@ -322,16 +327,18 @@ Division_limit: %10lu\n\ Age_limit: %10lu\n\ blocks used: %10lu\n\ not flushed: %10lu\n\ -w_requests: %10lu\n\ -writes: %10lu\n\ -r_requests: %10lu\n\ -reads: %10lu\n\n", +w_requests: %10s\n\ +writes: %10s\n\ +r_requests: %10s\n\ +reads: %10s\n\n", name, (ulong) key_cache->param_buff_size, key_cache->param_block_size, key_cache->param_division_limit, key_cache->param_age_threshold, key_cache->blocks_used,key_cache->global_blocks_changed, - key_cache->global_cache_w_requests,key_cache->global_cache_write, - key_cache->global_cache_r_requests,key_cache->global_cache_read); + llstr(key_cache->global_cache_w_requests,llbuff1), + llstr(key_cache->global_cache_write,llbuff2), + llstr(key_cache->global_cache_r_requests,llbuff3), + llstr(key_cache->global_cache_read,llbuff4)); } return 0; } diff --git a/sql/structs.h b/sql/structs.h index ba081b570c1..081ada88bf7 100644 --- a/sql/structs.h +++ b/sql/structs.h @@ -181,7 +181,7 @@ enum SHOW_TYPE SHOW_SSL_GET_CIPHER_LIST, #endif /* HAVE_OPENSSL */ SHOW_RPL_STATUS, SHOW_SLAVE_RUNNING, SHOW_SLAVE_RETRIED_TRANS, - SHOW_KEY_CACHE_LONG, SHOW_KEY_CACHE_CONST_LONG + SHOW_KEY_CACHE_LONG, SHOW_KEY_CACHE_CONST_LONG, SHOW_KEY_CACHE_LONGLONG }; enum SHOW_COMP_OPTION { SHOW_OPTION_YES, SHOW_OPTION_NO, SHOW_OPTION_DISABLED}; |