Slowlog: don't log EXEC but just the executed commands.
The Redis Slow Log always used to log the slow commands executed inside a MULTI/EXEC block. However also EXEC was logged at the end, which is perfectly useless. Now EXEC is no longer logged and a test was added to test this behavior. This fixes issue #759.
This commit is contained in:
parent
9d09ce3981
commit
08d200baeb
@ -1548,7 +1548,7 @@ void call(redisClient *c, int flags) {
|
|||||||
|
|
||||||
/* Log the command into the Slow log if needed, and populate the
|
/* Log the command into the Slow log if needed, and populate the
|
||||||
* per-command statistics that we show in INFO commandstats. */
|
* per-command statistics that we show in INFO commandstats. */
|
||||||
if (flags & REDIS_CALL_SLOWLOG)
|
if (flags & REDIS_CALL_SLOWLOG && c->cmd->proc != execCommand)
|
||||||
slowlogPushEntryIfNeeded(c->argv,c->argc,duration);
|
slowlogPushEntryIfNeeded(c->argv,c->argc,duration);
|
||||||
if (flags & REDIS_CALL_STATS) {
|
if (flags & REDIS_CALL_STATS) {
|
||||||
c->cmd->microseconds += duration;
|
c->cmd->microseconds += duration;
|
||||||
|
@ -55,4 +55,16 @@ start_server {tags {"slowlog"} overrides {slowlog-log-slower-than 1000000}} {
|
|||||||
set e [lindex [r slowlog get] 0]
|
set e [lindex [r slowlog get] 0]
|
||||||
lindex $e 3
|
lindex $e 3
|
||||||
} {sadd set foo {AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA... (1 more bytes)}}
|
} {sadd set foo {AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA... (1 more bytes)}}
|
||||||
|
|
||||||
|
test {SLOWLOG - EXEC is not logged, just executed commands} {
|
||||||
|
r config set slowlog-log-slower-than 100000
|
||||||
|
r slowlog reset
|
||||||
|
assert_equal [r slowlog len] 0
|
||||||
|
r multi
|
||||||
|
r debug sleep 0.2
|
||||||
|
r exec
|
||||||
|
assert_equal [r slowlog len] 1
|
||||||
|
set e [lindex [r slowlog get] 0]
|
||||||
|
assert_equal [lindex $e 3] {debug sleep 0.2}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user