Slaves list in INFO output: lag added, format changed.

There is a new 'lag' information in the list of slaves, in the
"replication" section of the INFO output.

Also the format was changed in a backward incompatible way in order to
make it more easy to parse if new fields are added in the future, as the
new format is comma separated but has named fields (no longer positional
fields).
This commit is contained in:
antirez
2013-05-29 19:52:54 +02:00
parent 889d39b5ba
commit c64338aa8f

View File

@ -2250,6 +2250,7 @@ sds genRedisInfoString(char *section) {
char *state = NULL;
char ip[32];
int port;
long lag = 0;
if (anetPeerToString(slave->fd,ip,&port) == -1) continue;
switch(slave->replstate) {
@ -2265,9 +2266,14 @@ sds genRedisInfoString(char *section) {
break;
}
if (state == NULL) continue;
info = sdscatprintf(info,"slave%d:%s,%d,%s,%lld\r\n",
if (slave->replstate == REDIS_REPL_ONLINE)
lag = time(NULL) - slave->repl_ack_time;
info = sdscatprintf(info,
"slave%d:ip=%s,port=%d,state=%s,"
"repl_offset=%lld,lag=%ld\r\n",
slaveid,ip,slave->slave_listening_port,state,
slave->repl_ack_off);
slave->repl_ack_off, lag);
slaveid++;
}
}