From 6233d210cd624ba3645426f1a6b52f5de0388dc1 Mon Sep 17 00:00:00 2001 From: antirez Date: Wed, 29 Jul 2015 12:27:25 +0200 Subject: [PATCH] Sentinel: add more commonly useful sections to INFO. Debugging is hard without those when there are problems like the one investigated in issue #2700. --- src/sentinel.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/src/sentinel.c b/src/sentinel.c index 06622d02..05b4f039 100644 --- a/src/sentinel.c +++ b/src/sentinel.c @@ -3165,6 +3165,16 @@ numargserr: (char*)c->argv[1]->ptr); } +#define info_section_from_redis(section_name) do { \ + if (defsections || allsections || !strcasecmp(section,section_name)) { \ + sds redissection; \ + if (sections++) info = sdscat(info,"\r\n"); \ + redissection = genRedisInfoString(section_name); \ + info = sdscatlen(info,redissection,sdslen(redissection)); \ + sdsfree(redissection); \ + } \ +} while(0) + /* SENTINEL INFO [section] */ void sentinelInfoCommand(client *c) { if (c->argc > 2) { @@ -3183,12 +3193,11 @@ void sentinelInfoCommand(client *c) { int sections = 0; sds info = sdsempty(); - if (defsections || allsections || !strcasecmp(section,"server")) { - if (sections++) info = sdscat(info,"\r\n"); - sds serversection = genRedisInfoString("server"); - info = sdscatlen(info,serversection,sdslen(serversection)); - sdsfree(serversection); - } + + info_section_from_redis("server"); + info_section_from_redis("clients"); + info_section_from_redis("cpu"); + info_section_from_redis("stats"); if (defsections || allsections || !strcasecmp(section,"sentinel")) { dictIterator *di;