mirror of
https://codeberg.org/redict/redict.git
synced 2025-01-22 16:18:28 -05:00
implemented two new INFO fields showing the size of clients max input and output buffers.
This commit is contained in:
parent
3a73be7524
commit
7a1fd61e3d
@ -820,3 +820,22 @@ void readQueryFromClient(aeEventLoop *el, int fd, void *privdata, int mask) {
|
|||||||
}
|
}
|
||||||
processInputBuffer(c);
|
processInputBuffer(c);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void getClientsMaxBuffers(unsigned long *longest_output_list,
|
||||||
|
unsigned long *biggest_input_buffer) {
|
||||||
|
redisClient *c;
|
||||||
|
listNode *ln;
|
||||||
|
listIter li;
|
||||||
|
unsigned long lol = 0, bib = 0;
|
||||||
|
|
||||||
|
listRewind(server.clients,&li);
|
||||||
|
while ((ln = listNext(&li)) != NULL) {
|
||||||
|
c = listNodeValue(ln);
|
||||||
|
|
||||||
|
if (listLength(c->reply) > lol) lol = listLength(c->reply);
|
||||||
|
if (sdslen(c->querybuf) > bib) bib = sdslen(c->querybuf);
|
||||||
|
}
|
||||||
|
*longest_output_list = lol;
|
||||||
|
*biggest_input_buffer = bib;
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -1148,9 +1148,11 @@ sds genRedisInfoString(void) {
|
|||||||
int j;
|
int j;
|
||||||
char hmem[64];
|
char hmem[64];
|
||||||
struct rusage self_ru, c_ru;
|
struct rusage self_ru, c_ru;
|
||||||
|
unsigned long lol, bib;
|
||||||
|
|
||||||
getrusage(RUSAGE_SELF, &self_ru);
|
getrusage(RUSAGE_SELF, &self_ru);
|
||||||
getrusage(RUSAGE_CHILDREN, &c_ru);
|
getrusage(RUSAGE_CHILDREN, &c_ru);
|
||||||
|
getClientsMaxBuffers(&lol,&bib);
|
||||||
|
|
||||||
bytesToHuman(hmem,zmalloc_used_memory());
|
bytesToHuman(hmem,zmalloc_used_memory());
|
||||||
info = sdscatprintf(sdsempty(),
|
info = sdscatprintf(sdsempty(),
|
||||||
@ -1169,6 +1171,8 @@ sds genRedisInfoString(void) {
|
|||||||
"used_cpu_user_childrens:%.2f\r\n"
|
"used_cpu_user_childrens:%.2f\r\n"
|
||||||
"connected_clients:%d\r\n"
|
"connected_clients:%d\r\n"
|
||||||
"connected_slaves:%d\r\n"
|
"connected_slaves:%d\r\n"
|
||||||
|
"client_longest_output_list:%lu\r\n"
|
||||||
|
"client_biggest_input_buf:%lu\r\n"
|
||||||
"blocked_clients:%d\r\n"
|
"blocked_clients:%d\r\n"
|
||||||
"used_memory:%zu\r\n"
|
"used_memory:%zu\r\n"
|
||||||
"used_memory_human:%s\r\n"
|
"used_memory_human:%s\r\n"
|
||||||
@ -1208,6 +1212,7 @@ sds genRedisInfoString(void) {
|
|||||||
(float)c_ru.ru_stime.tv_sec+(float)c_ru.ru_stime.tv_usec/1000000,
|
(float)c_ru.ru_stime.tv_sec+(float)c_ru.ru_stime.tv_usec/1000000,
|
||||||
listLength(server.clients)-listLength(server.slaves),
|
listLength(server.clients)-listLength(server.slaves),
|
||||||
listLength(server.slaves),
|
listLength(server.slaves),
|
||||||
|
lol, bib,
|
||||||
server.bpop_blocked_clients,
|
server.bpop_blocked_clients,
|
||||||
zmalloc_used_memory(),
|
zmalloc_used_memory(),
|
||||||
hmem,
|
hmem,
|
||||||
|
@ -661,6 +661,8 @@ void addReplyDouble(redisClient *c, double d);
|
|||||||
void addReplyLongLong(redisClient *c, long long ll);
|
void addReplyLongLong(redisClient *c, long long ll);
|
||||||
void addReplyMultiBulkLen(redisClient *c, long length);
|
void addReplyMultiBulkLen(redisClient *c, long length);
|
||||||
void *dupClientReplyValue(void *o);
|
void *dupClientReplyValue(void *o);
|
||||||
|
void getClientsMaxBuffers(unsigned long *longest_output_list,
|
||||||
|
unsigned long *biggest_input_buffer);
|
||||||
|
|
||||||
#ifdef __GNUC__
|
#ifdef __GNUC__
|
||||||
void addReplyErrorFormat(redisClient *c, const char *fmt, ...)
|
void addReplyErrorFormat(redisClient *c, const char *fmt, ...)
|
||||||
|
Loading…
Reference in New Issue
Block a user