From 8d617596f1ba5eab71820b0e8faafad893a40176 Mon Sep 17 00:00:00 2001 From: antirez Date: Thu, 19 Jul 2018 13:58:04 +0200 Subject: [PATCH] Implement a function to retrieve the expansive clients mem usage. --- src/server.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/server.c b/src/server.c index b14d0740e..15417a757 100644 --- a/src/server.c +++ b/src/server.c @@ -920,6 +920,18 @@ int clientsCronTrackExpansiveClients(client *c) { return 0; /* This function never terminates the client. */ } +/* Return the max samples in the memory usage of clients tracked by + * the function clientsCronTrackExpansiveClients(). */ +void getExpansiveClientsInfo(size_t *in_usage, size_t *out_usage) { + size_t i = 0, o = 0; + for (int j = 0; j < CLIENTS_PEAK_MEM_USAGE_SLOTS; j++) { + if (ClientsPeakMemInput[j] > i) i = ClientsPeakMemInput[j]; + if (ClientsPeakMemOutput[j] > o) o = ClientsPeakMemOutput[o]; + } + *in_usage = i; + *out_usage = o; +} + #define CLIENTS_CRON_MIN_ITERATIONS 5 void clientsCron(void) { /* Make sure to process at least numclients/server.hz of clients -- GitLab