mirror of
https://github.com/fluencelabs/redis
synced 2025-03-19 17:10:50 +00:00
Unify stats reset for CONFIG RESETSTAT / initServer().
Now CONFIG RESETSTAT makes sure to reset all the fields, and in the future it will be simpler to avoid missing new fields.
This commit is contained in:
parent
b9e90a70fa
commit
e150ec7d0c
10
src/config.c
10
src/config.c
@ -1807,15 +1807,7 @@ void configCommand(redisClient *c) {
|
|||||||
configGetCommand(c);
|
configGetCommand(c);
|
||||||
} else if (!strcasecmp(c->argv[1]->ptr,"resetstat")) {
|
} else if (!strcasecmp(c->argv[1]->ptr,"resetstat")) {
|
||||||
if (c->argc != 2) goto badarity;
|
if (c->argc != 2) goto badarity;
|
||||||
server.stat_keyspace_hits = 0;
|
resetServerStats();
|
||||||
server.stat_keyspace_misses = 0;
|
|
||||||
server.stat_numcommands = 0;
|
|
||||||
server.ops_sec_last_sample_ops = 0;
|
|
||||||
server.stat_numconnections = 0;
|
|
||||||
server.stat_expiredkeys = 0;
|
|
||||||
server.stat_rejected_conn = 0;
|
|
||||||
server.stat_fork_time = 0;
|
|
||||||
server.aof_delayed_fsync = 0;
|
|
||||||
resetCommandTableStats();
|
resetCommandTableStats();
|
||||||
addReply(c,shared.ok);
|
addReply(c,shared.ok);
|
||||||
} else if (!strcasecmp(c->argv[1]->ptr,"rewrite")) {
|
} else if (!strcasecmp(c->argv[1]->ptr,"rewrite")) {
|
||||||
|
38
src/redis.c
38
src/redis.c
@ -1590,6 +1590,27 @@ int listenToPort(int port, int *fds, int *count) {
|
|||||||
return REDIS_OK;
|
return REDIS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Resets the stats that we expose via INFO or other means that we want
|
||||||
|
* to reset via CONFIG RESETSTAT. The function is also used in order to
|
||||||
|
* initialize these fields in initServer() at server startup. */
|
||||||
|
void resetServerStats(void) {
|
||||||
|
server.stat_numcommands = 0;
|
||||||
|
server.stat_numconnections = 0;
|
||||||
|
server.stat_expiredkeys = 0;
|
||||||
|
server.stat_evictedkeys = 0;
|
||||||
|
server.stat_keyspace_misses = 0;
|
||||||
|
server.stat_keyspace_hits = 0;
|
||||||
|
server.stat_fork_time = 0;
|
||||||
|
server.stat_rejected_conn = 0;
|
||||||
|
server.stat_sync_full = 0;
|
||||||
|
server.stat_sync_partial_ok = 0;
|
||||||
|
server.stat_sync_partial_err = 0;
|
||||||
|
memset(server.ops_sec_samples,0,sizeof(server.ops_sec_samples));
|
||||||
|
server.ops_sec_idx = 0;
|
||||||
|
server.ops_sec_last_sample_time = mstime();
|
||||||
|
server.ops_sec_last_sample_ops = 0;
|
||||||
|
}
|
||||||
|
|
||||||
void initServer() {
|
void initServer() {
|
||||||
int j;
|
int j;
|
||||||
|
|
||||||
@ -1665,23 +1686,10 @@ void initServer() {
|
|||||||
server.rdb_save_time_last = -1;
|
server.rdb_save_time_last = -1;
|
||||||
server.rdb_save_time_start = -1;
|
server.rdb_save_time_start = -1;
|
||||||
server.dirty = 0;
|
server.dirty = 0;
|
||||||
server.stat_numcommands = 0;
|
resetServerStats();
|
||||||
server.stat_numconnections = 0;
|
/* A few stats we don't want to reset: server startup time, and peak mem. */
|
||||||
server.stat_expiredkeys = 0;
|
|
||||||
server.stat_evictedkeys = 0;
|
|
||||||
server.stat_starttime = time(NULL);
|
server.stat_starttime = time(NULL);
|
||||||
server.stat_keyspace_misses = 0;
|
|
||||||
server.stat_keyspace_hits = 0;
|
|
||||||
server.stat_peak_memory = 0;
|
server.stat_peak_memory = 0;
|
||||||
server.stat_fork_time = 0;
|
|
||||||
server.stat_rejected_conn = 0;
|
|
||||||
server.stat_sync_full = 0;
|
|
||||||
server.stat_sync_partial_ok = 0;
|
|
||||||
server.stat_sync_partial_err = 0;
|
|
||||||
memset(server.ops_sec_samples,0,sizeof(server.ops_sec_samples));
|
|
||||||
server.ops_sec_idx = 0;
|
|
||||||
server.ops_sec_last_sample_time = mstime();
|
|
||||||
server.ops_sec_last_sample_ops = 0;
|
|
||||||
server.lastbgsave_status = REDIS_OK;
|
server.lastbgsave_status = REDIS_OK;
|
||||||
server.aof_last_write_status = REDIS_OK;
|
server.aof_last_write_status = REDIS_OK;
|
||||||
server.aof_last_write_errno = 0;
|
server.aof_last_write_errno = 0;
|
||||||
|
@ -1154,7 +1154,8 @@ void populateCommandTable(void);
|
|||||||
void resetCommandTableStats(void);
|
void resetCommandTableStats(void);
|
||||||
void adjustOpenFilesLimit(void);
|
void adjustOpenFilesLimit(void);
|
||||||
void closeListeningSockets(int unlink_unix_socket);
|
void closeListeningSockets(int unlink_unix_socket);
|
||||||
void updateCachedTime();
|
void updateCachedTime(void);
|
||||||
|
void resetServerStats(void);
|
||||||
|
|
||||||
/* Set data type */
|
/* Set data type */
|
||||||
robj *setTypeCreate(robj *value);
|
robj *setTypeCreate(robj *value);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user