From: antirez Date: Thu, 30 Jun 2011 15:36:15 +0000 (+0200) Subject: Added an unique ID field to every slow log entry. X-Git-Url: https://git.saurik.com/redis.git/commitdiff_plain/2cb6828480300533e690d33cf824de8aa4f1ccd7?ds=sidebyside Added an unique ID field to every slow log entry. --- diff --git a/src/redis.h b/src/redis.h index 523cb311..2346b4eb 100644 --- a/src/redis.h +++ b/src/redis.h @@ -528,6 +528,7 @@ struct redisServer { size_t stat_peak_memory; /* max used memory record */ long long stat_fork_time; /* time needed to perform latets fork() */ list *slowlog; + long long slowlog_entry_id; long long slowlog_log_slower_than; unsigned long slowlog_max_len; /* Configuration */ diff --git a/src/slowlog.c b/src/slowlog.c index 17edf615..cfd66dc6 100644 --- a/src/slowlog.c +++ b/src/slowlog.c @@ -26,6 +26,7 @@ slowlogEntry *slowlogCreateEntry(robj **argv, int argc, long long duration) { } se->time = time(NULL); se->duration = duration; + se->id = server.slowlog_entry_id++; return se; } @@ -47,6 +48,7 @@ void slowlogFreeEntry(void *septr) { * at server startup. */ void slowlogInit(void) { server.slowlog = listCreate(); + server.slowlog_entry_id = 0; listSetFreeMethod(server.slowlog,slowlogFreeEntry); } @@ -96,7 +98,8 @@ void slowlogCommand(redisClient *c) { int j; se = ln->value; - addReplyMultiBulkLen(c,3); + addReplyMultiBulkLen(c,4); + addReplyLongLong(c,se->id); addReplyLongLong(c,se->time); addReplyLongLong(c,se->duration); addReplyMultiBulkLen(c,se->argc); diff --git a/src/slowlog.h b/src/slowlog.h index 45a50055..bad770db 100644 --- a/src/slowlog.h +++ b/src/slowlog.h @@ -2,6 +2,7 @@ typedef struct slowlogEntry { robj **argv; int argc; + long long id; /* Unique entry identifier. */ long long duration; /* Time spent by the query, in nanoseconds. */ time_t time; /* Unix time at which the query was executed. */ } slowlogEntry;