diff --git a/src/server.c b/src/server.c index b14d0740..15417a75 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