diff --git a/src/server.c b/src/server.c index 1f502e4ff..0acf8545c 100644 --- a/src/server.c +++ b/src/server.c @@ -4147,7 +4147,8 @@ sds genRedisInfoString(char *section) { "active_defrag_hits:%lld\r\n" "active_defrag_misses:%lld\r\n" "active_defrag_key_hits:%lld\r\n" - "active_defrag_key_misses:%lld\r\n", + "active_defrag_key_misses:%lld\r\n" + "tracking_used_slots:%lld\r\n", server.stat_numconnections, server.stat_numcommands, getInstantaneousMetric(STATS_METRIC_COMMAND), @@ -4173,7 +4174,8 @@ sds genRedisInfoString(char *section) { server.stat_active_defrag_hits, server.stat_active_defrag_misses, server.stat_active_defrag_key_hits, - server.stat_active_defrag_key_misses); + server.stat_active_defrag_key_misses, + trackingGetUsedSlots()); } /* Replication */ diff --git a/src/server.h b/src/server.h index 172b1cf64..e363f03f4 100644 --- a/src/server.h +++ b/src/server.h @@ -1642,6 +1642,7 @@ void trackingRememberKeys(client *c); void trackingInvalidateKey(robj *keyobj); void trackingInvalidateKeysOnFlush(int dbid); void trackingLimitUsedSlots(void); +unsigned long long trackingGetUsedSlots(void); /* List data type */ void listTypeTryConversion(robj *subject, robj *value); diff --git a/src/tracking.c b/src/tracking.c index 1a5fbe47c..f7f0fc755 100644 --- a/src/tracking.c +++ b/src/tracking.c @@ -288,3 +288,9 @@ void trackingLimitUsedSlots(void) { } timeout_counter++; } + +/* This is just used in order to access the amount of used slots in the + * tracking table. */ +unsigned long long trackingGetUsedSlots(void) { + return TrackingTableUsedSlots; +}