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.
This commit is contained in:
parent
683e228a26
commit
5fe65297d2
@ -90,10 +90,10 @@ typedef struct st_key_cache
|
|||||||
|
|
||||||
/* Statistics variables. These are reset in reset_key_cache_counters(). */
|
/* Statistics variables. These are reset in reset_key_cache_counters(). */
|
||||||
ulong global_blocks_changed; /* number of currently dirty blocks */
|
ulong global_blocks_changed; /* number of currently dirty blocks */
|
||||||
ulong global_cache_w_requests;/* number of write requests (write hits) */
|
ulonglong global_cache_w_requests;/* number of write requests (write hits) */
|
||||||
ulong global_cache_write; /* number of writes from the cache to files */
|
ulonglong global_cache_write; /* number of writes from cache to files */
|
||||||
ulong global_cache_r_requests;/* number of read requests (read hits) */
|
ulonglong 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_read; /* number of reads from files to cache */
|
||||||
|
|
||||||
int blocks; /* max number of blocks in the cache */
|
int blocks; /* max number of blocks in the cache */
|
||||||
my_bool in_init; /* Set to 1 in MySQL during init/resize */
|
my_bool in_init; /* Set to 1 in MySQL during init/resize */
|
||||||
|
@ -216,9 +216,6 @@ extern CHARSET_INFO *all_charsets[256];
|
|||||||
extern CHARSET_INFO compiled_charsets[];
|
extern CHARSET_INFO compiled_charsets[];
|
||||||
|
|
||||||
/* statistics */
|
/* 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 ulong my_file_opened,my_stream_opened, my_tmp_file_created;
|
||||||
extern uint mysys_usage_id;
|
extern uint mysys_usage_id;
|
||||||
extern my_bool my_init_done;
|
extern my_bool my_init_done;
|
||||||
|
@ -831,7 +831,6 @@ end:
|
|||||||
puts("Locking used");
|
puts("Locking used");
|
||||||
if (use_blob)
|
if (use_blob)
|
||||||
puts("blobs used");
|
puts("blobs used");
|
||||||
#if 0
|
|
||||||
printf("key cache status: \n\
|
printf("key cache status: \n\
|
||||||
blocks used:%10lu\n\
|
blocks used:%10lu\n\
|
||||||
not flushed:%10lu\n\
|
not flushed:%10lu\n\
|
||||||
@ -839,9 +838,12 @@ w_requests: %10lu\n\
|
|||||||
writes: %10lu\n\
|
writes: %10lu\n\
|
||||||
r_requests: %10lu\n\
|
r_requests: %10lu\n\
|
||||||
reads: %10lu\n",
|
reads: %10lu\n",
|
||||||
my_blocks_used, my_blocks_changed,
|
dflt_key_cache->blocks_used,
|
||||||
(ulong) my_cache_w_requests, (ulong) my_cache_write,
|
dflt_key_cache->global_blocks_changed,
|
||||||
(ulong) my_cache_r_requests, (ulong) my_cache_read);
|
(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);
|
end_key_cache(dflt_key_cache,1);
|
||||||
if (blob_buffer)
|
if (blob_buffer)
|
||||||
|
@ -632,12 +632,13 @@ void end_key_cache(KEY_CACHE *keycache, my_bool cleanup)
|
|||||||
keycache->blocks_changed= 0;
|
keycache->blocks_changed= 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
DBUG_PRINT("status",
|
DBUG_PRINT("status", ("used: %d changed: %d w_requests: %lu "
|
||||||
("used: %d changed: %d w_requests: %ld \
|
"writes: %lu r_requests: %lu reads: %lu",
|
||||||
writes: %ld r_requests: %ld reads: %ld",
|
keycache->blocks_used, keycache->global_blocks_changed,
|
||||||
keycache->blocks_used, keycache->global_blocks_changed,
|
(ulong) keycache->global_cache_w_requests,
|
||||||
keycache->global_cache_w_requests, keycache->global_cache_write,
|
(ulong) keycache->global_cache_write,
|
||||||
keycache->global_cache_r_requests, keycache->global_cache_read));
|
(ulong) keycache->global_cache_r_requests,
|
||||||
|
(ulong) keycache->global_cache_read));
|
||||||
|
|
||||||
if (cleanup)
|
if (cleanup)
|
||||||
{
|
{
|
||||||
|
@ -5544,13 +5544,13 @@ struct show_var_st status_vars[]= {
|
|||||||
{"Key_blocks_used", (char*) &dflt_key_cache_var.blocks_used,
|
{"Key_blocks_used", (char*) &dflt_key_cache_var.blocks_used,
|
||||||
SHOW_KEY_CACHE_CONST_LONG},
|
SHOW_KEY_CACHE_CONST_LONG},
|
||||||
{"Key_read_requests", (char*) &dflt_key_cache_var.global_cache_r_requests,
|
{"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,
|
{"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,
|
{"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,
|
{"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},
|
{"Max_used_connections", (char*) &max_used_connections, SHOW_LONG},
|
||||||
{"Not_flushed_delayed_rows", (char*) &delayed_rows_in_use, SHOW_LONG_CONST},
|
{"Not_flushed_delayed_rows", (char*) &delayed_rows_in_use, SHOW_LONG_CONST},
|
||||||
{"Open_files", (char*) &my_file_opened, SHOW_LONG_CONST},
|
{"Open_files", (char*) &my_file_opened, SHOW_LONG_CONST},
|
||||||
|
@ -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;
|
value= (value-(char*) &dflt_key_cache_var)+ (char*) dflt_key_cache;
|
||||||
end= int10_to_str(*(long*) value, buff, 10);
|
end= int10_to_str(*(long*) value, buff, 10);
|
||||||
break;
|
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_UNDEF: // Show never happen
|
||||||
case SHOW_SYS:
|
case SHOW_SYS:
|
||||||
break; // Return empty string
|
break; // Return empty string
|
||||||
|
@ -309,6 +309,11 @@ end:
|
|||||||
|
|
||||||
static int print_key_cache_status(const char *name, KEY_CACHE *key_cache)
|
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)
|
if (!key_cache->key_cache_inited)
|
||||||
{
|
{
|
||||||
printf("%s: Not in use\n", name);
|
printf("%s: Not in use\n", name);
|
||||||
@ -322,16 +327,18 @@ Division_limit: %10lu\n\
|
|||||||
Age_limit: %10lu\n\
|
Age_limit: %10lu\n\
|
||||||
blocks used: %10lu\n\
|
blocks used: %10lu\n\
|
||||||
not flushed: %10lu\n\
|
not flushed: %10lu\n\
|
||||||
w_requests: %10lu\n\
|
w_requests: %10s\n\
|
||||||
writes: %10lu\n\
|
writes: %10s\n\
|
||||||
r_requests: %10lu\n\
|
r_requests: %10s\n\
|
||||||
reads: %10lu\n\n",
|
reads: %10s\n\n",
|
||||||
name,
|
name,
|
||||||
(ulong) key_cache->param_buff_size, key_cache->param_block_size,
|
(ulong) key_cache->param_buff_size, key_cache->param_block_size,
|
||||||
key_cache->param_division_limit, key_cache->param_age_threshold,
|
key_cache->param_division_limit, key_cache->param_age_threshold,
|
||||||
key_cache->blocks_used,key_cache->global_blocks_changed,
|
key_cache->blocks_used,key_cache->global_blocks_changed,
|
||||||
key_cache->global_cache_w_requests,key_cache->global_cache_write,
|
llstr(key_cache->global_cache_w_requests,llbuff1),
|
||||||
key_cache->global_cache_r_requests,key_cache->global_cache_read);
|
llstr(key_cache->global_cache_write,llbuff2),
|
||||||
|
llstr(key_cache->global_cache_r_requests,llbuff3),
|
||||||
|
llstr(key_cache->global_cache_read,llbuff4));
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -181,7 +181,7 @@ enum SHOW_TYPE
|
|||||||
SHOW_SSL_GET_CIPHER_LIST,
|
SHOW_SSL_GET_CIPHER_LIST,
|
||||||
#endif /* HAVE_OPENSSL */
|
#endif /* HAVE_OPENSSL */
|
||||||
SHOW_RPL_STATUS, SHOW_SLAVE_RUNNING, SHOW_SLAVE_RETRIED_TRANS,
|
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};
|
enum SHOW_COMP_OPTION { SHOW_OPTION_YES, SHOW_OPTION_NO, SHOW_OPTION_DISABLED};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user