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

View File

@ -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.

View File

@ -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()
);
}

View File

@ -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);