1
0
mirror of https://github.com/fluencelabs/redis synced 2025-04-02 07:41:04 +00:00

Lazyfree: pending objects count in INFO output.

This commit is contained in:
antirez 2015-09-28 10:51:25 +02:00
parent c69c6c80fb
commit 1f26a9468f
3 changed files with 10 additions and 2 deletions

@ -6,6 +6,11 @@
static size_t lazyfree_objects = 0; static size_t lazyfree_objects = 0;
pthread_mutex_t lazyfree_objects_mutex = PTHREAD_MUTEX_INITIALIZER; pthread_mutex_t lazyfree_objects_mutex = PTHREAD_MUTEX_INITIALIZER;
/* Return the number of currently pending objects to free. */
size_t lazyfreeGetPendingObjectsCount(void) {
return lazyfree_objects;
}
/* Return the amount of work needed in order to free an object. /* Return the amount of work needed in order to free an object.
* The return value is not always the actual number of allocations the * The return value is not always the actual number of allocations the
* object is compoesd of, but a number proportional to it. * object is compoesd of, but a number proportional to it.

@ -2803,7 +2803,8 @@ sds genRedisInfoString(char *section) {
"maxmemory_human:%s\r\n" "maxmemory_human:%s\r\n"
"maxmemory_policy:%s\r\n" "maxmemory_policy:%s\r\n"
"mem_fragmentation_ratio:%.2f\r\n" "mem_fragmentation_ratio:%.2f\r\n"
"mem_allocator:%s\r\n", "mem_allocator:%s\r\n"
"lazyfree_pending_objects:%zu\r\n",
zmalloc_used, zmalloc_used,
hmem, hmem,
server.resident_set_size, server.resident_set_size,
@ -2818,7 +2819,8 @@ sds genRedisInfoString(char *section) {
maxmemory_hmem, maxmemory_hmem,
evict_policy, evict_policy,
zmalloc_get_fragmentation_ratio(server.resident_set_size), zmalloc_get_fragmentation_ratio(server.resident_set_size),
ZMALLOC_LIB ZMALLOC_LIB,
lazyfreeGetPendingObjectsCount()
); );
} }

@ -1414,6 +1414,7 @@ void slotToKeyFlush(void);
int dbAsyncDelete(redisDb *db, robj *key); int dbAsyncDelete(redisDb *db, robj *key);
void emptyDbAsync(redisDb *db); void emptyDbAsync(redisDb *db);
void slotToKeyFlushAsync(void); void slotToKeyFlushAsync(void);
size_t lazyfreeGetPendingObjectsCount(void);
/* API to get key arguments from commands */ /* API to get key arguments from commands */
int *getKeysFromCommand(struct redisCommand *cmd, robj **argv, int argc, int *numkeys); int *getKeysFromCommand(struct redisCommand *cmd, robj **argv, int argc, int *numkeys);