]> git.saurik.com Git - redis.git/commitdiff
Better MONITOR output, now includes client ip:port or the lua string if the command...
authorantirez <antirez@gmail.com>
Wed, 7 Mar 2012 11:12:15 +0000 (12:12 +0100)
committerantirez <antirez@gmail.com>
Wed, 7 Mar 2012 11:12:15 +0000 (12:12 +0100)
src/redis.c
src/redis.h
src/replication.c

index 452c3bb7560041d68f9ff6e72ee9b21f2e30dfe3..6d5522e824c93b0ada93e823f7a3d80a174ff943 100644 (file)
@@ -1248,7 +1248,7 @@ void call(redisClient *c, int flags) {
     /* Sent the command to clients in MONITOR mode, only if the commands are
      * not geneated from reading an AOF. */
     if (listLength(server.monitors) && !server.loading)
-        replicationFeedMonitors(server.monitors,c->db->id,c->argv,c->argc);
+        replicationFeedMonitors(c,server.monitors,c->db->id,c->argv,c->argc);
 
     /* Call the command. */
     redisOpArrayInit(&server.also_propagate);
index 870439d7b01d3b83c929bebe2eb4f7d2db15238d..c18e9170015988686c6fe1a82e3c5a5a3a5d17a7 100644 (file)
@@ -932,7 +932,7 @@ int syncReadLine(int fd, char *ptr, ssize_t size, int timeout);
 
 /* Replication */
 void replicationFeedSlaves(list *slaves, int dictid, robj **argv, int argc);
-void replicationFeedMonitors(list *monitors, int dictid, robj **argv, int argc);
+void replicationFeedMonitors(redisClient *c, list *monitors, int dictid, robj **argv, int argc);
 void updateSlavesWaitingBgsave(int bgsaveerr);
 void replicationCron(void);
 
index e8297839500d3c6f245eaef068565e7dea030197..6c0091e8c628368da396c377caa731410a3e6eb8 100644 (file)
@@ -50,17 +50,23 @@ void replicationFeedSlaves(list *slaves, int dictid, robj **argv, int argc) {
     }
 }
 
-void replicationFeedMonitors(list *monitors, int dictid, robj **argv, int argc) {
+void replicationFeedMonitors(redisClient *c, list *monitors, int dictid, robj **argv, int argc) {
     listNode *ln;
     listIter li;
-    int j;
+    int j, port;
     sds cmdrepr = sdsnew("+");
     robj *cmdobj;
+    char ip[32];
     struct timeval tv;
 
     gettimeofday(&tv,NULL);
     cmdrepr = sdscatprintf(cmdrepr,"%ld.%06ld ",(long)tv.tv_sec,(long)tv.tv_usec);
-    if (dictid != 0) cmdrepr = sdscatprintf(cmdrepr,"(db %d) ", dictid);
+    if (c->flags & REDIS_LUA_CLIENT) {
+        cmdrepr = sdscatprintf(cmdrepr,"[%d lua] ", dictid);
+    } else {
+        anetPeerToString(c->fd,ip,&port);
+        cmdrepr = sdscatprintf(cmdrepr,"[%d %s:%d] ", dictid,ip,port);
+    }
 
     for (j = 0; j < argc; j++) {
         if (argv[j]->encoding == REDIS_ENCODING_INT) {