From 1f26a9468ff3e61ee9ae4225628647d4054fe20c Mon Sep 17 00:00:00 2001 From: antirez Date: Mon, 28 Sep 2015 10:51:25 +0200 Subject: Lazyfree: pending objects count in INFO output. --- src/lazyfree.c | 5 +++++ src/server.c | 6 ++++-- src/server.h | 1 + 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/lazyfree.c b/src/lazyfree.c index 321bd5411..e471ba004 100644 --- a/src/lazyfree.c +++ b/src/lazyfree.c @@ -6,6 +6,11 @@ static size_t lazyfree_objects = 0; 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. * The return value is not always the actual number of allocations the * object is compoesd of, but a number proportional to it. diff --git a/src/server.c b/src/server.c index d9470f6d7..6fe42a745 100644 --- a/src/server.c +++ b/src/server.c @@ -2803,7 +2803,8 @@ sds genRedisInfoString(char *section) { "maxmemory_human:%s\r\n" "maxmemory_policy:%s\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, hmem, server.resident_set_size, @@ -2818,7 +2819,8 @@ sds genRedisInfoString(char *section) { maxmemory_hmem, evict_policy, zmalloc_get_fragmentation_ratio(server.resident_set_size), - ZMALLOC_LIB + ZMALLOC_LIB, + lazyfreeGetPendingObjectsCount() ); } diff --git a/src/server.h b/src/server.h index 7ba9a4325..d9633e460 100644 --- a/src/server.h +++ b/src/server.h @@ -1414,6 +1414,7 @@ void slotToKeyFlush(void); int dbAsyncDelete(redisDb *db, robj *key); void emptyDbAsync(redisDb *db); void slotToKeyFlushAsync(void); +size_t lazyfreeGetPendingObjectsCount(void); /* API to get key arguments from commands */ int *getKeysFromCommand(struct redisCommand *cmd, robj **argv, int argc, int *numkeys); -- cgit v1.2.1