From a0f643ea4c574d7f393a325f8f6e7c6c2e1c476f Mon Sep 17 00:00:00 2001 From: antirez Date: Mon, 25 May 2009 23:02:42 +0200 Subject: [PATCH] INFO command now reports replication info --- TODO | 1 - redis.c | 23 +++++++++++++++++++---- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/TODO b/TODO index 7bcb3828..4213b3dc 100644 --- a/TODO +++ b/TODO @@ -1,6 +1,5 @@ BEFORE REDIS 1.0.0-rc1 - * Replication status in INFO command. role: (master|slave) slaveof: , slavestatus: (disconnected|ok) * Add number of keys for every DB in INFO * maxmemory support * maxclients support diff --git a/redis.c b/redis.c index 2fdafc65..2d8b5d3e 100644 --- a/redis.c +++ b/redis.c @@ -3489,6 +3489,8 @@ static void infoCommand(redisClient *c) { info = sdscatprintf(sdsempty(), "redis_version:%s\r\n" + "uptime_in_seconds:%d\r\n" + "uptime_in_days:%d\r\n" "connected_clients:%d\r\n" "connected_slaves:%d\r\n" "used_memory:%zu\r\n" @@ -3497,9 +3499,10 @@ static void infoCommand(redisClient *c) { "last_save_time:%d\r\n" "total_connections_received:%lld\r\n" "total_commands_processed:%lld\r\n" - "uptime_in_seconds:%d\r\n" - "uptime_in_days:%d\r\n" + "role:%s\r\n" ,REDIS_VERSION, + uptime, + uptime/(3600*24), listLength(server.clients)-listLength(server.slaves), listLength(server.slaves), server.usedmemory, @@ -3508,9 +3511,21 @@ static void infoCommand(redisClient *c) { server.lastsave, server.stat_numconnections, server.stat_numcommands, - uptime, - uptime/(3600*24) + server.masterhost == NULL ? "master" : "slave" ); + if (server.masterhost) { + info = sdscatprintf(info, + "master_host:%s\r\n" + "master_port:%d\r\n" + "master_link_status:%s\r\n" + "master_last_io_seconds_ago:%d\r\n" + ,server.masterhost, + server.masterport, + (server.replstate == REDIS_REPL_CONNECTED) ? + "up" : "down", + (int)(time(NULL)-server.master->lastinteraction) + ); + } addReplySds(c,sdscatprintf(sdsempty(),"$%d\r\n",sdslen(info))); addReplySds(c,info); addReply(c,shared.crlf);