summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fixed a few missing newline in createLatencyReport().latencyantirez2014-07-091-2/+2
|
* createLatencyReport(): compile before commit avoids commits.antirez2014-07-081-1/+1
|
* createLatencyReport(), fix mount option name.antirez2014-07-081-1/+1
|
* createLatencyReport(): initialize all advices to zero.antirez2014-07-081-3/+3
|
* LATENCY DOCTOR first implementation complete.antirez2014-07-085-6/+185
|
* Fix analyzeLatencyForEvent() MAD computation.antirez2014-07-081-3/+3
|
* LATENCY DOCTOR: initial draft and events summary output.antirez2014-07-083-2/+86
|
* Latency: low level time series analysis implemented.antirez2014-07-072-0/+60
|
* LATENCY SAMPLES renamed LATENCY HISTORY.antirez2014-07-071-2/+2
|
* LATENCY RESET implemented.antirez2014-07-071-4/+39
|
* Better "final read from parent" algorithm in rewriteAppendOnlyFile*(.antirez2014-07-051-8/+11
| | | | | | | | We now wait up to 1 second for diff data to come from the parent, however we use poll(2) to wait for more data, and use a counter of contiguous failures to get data for N times (set to 20 experimentally after different tests) as an early stop condition to avoid wasting 1 second when the write traffic is too low.
* Log AOF diff sizes in MBs instead of bytes.antirez2014-07-051-3/+3
|
* aofChildWriteDiffData() better handling of free blocks.antirez2014-07-051-4/+7
|
* redis-benchmark: abort when all clients are disconnected.antirez2014-07-041-0/+5
|
* Fine tuning of aofReadDiffFromParent() calls trigger.antirez2014-07-041-4/+27
|
* Use amount of I/O not ops to trigger aofReadDiffFromParent().antirez2014-07-041-2/+5
|
* aofChildWriteDiffData(): write as much as possible.antirez2014-07-041-11/+15
|
* Handle write failure in AOF parent -> child ACK.antirez2014-07-041-1/+8
|
* Use a timeout when reading parent ack from AOF child.antirez2014-07-041-2/+8
|
* Send AOF diffs from parent to child to improve latency.antirez2014-07-042-6/+151
|
* Use fsync instead of aof_fsync in final AOF sync.antirez2014-07-041-1/+1
| | | | | This happens in the child process so we don't care about latency: better to sync metadata as well.
* Fixed conditional for aof-write-pending-fsync latency event selection.antirez2014-07-021-1/+1
|
* Dependencies updated.antirez2014-07-021-35/+51
|
* Cast void* to char* to avoid waring in latencyCommand().antirez2014-07-021-1/+1
|
* Properly initialize min/max in latency.c.antirez2014-07-021-1/+1
|
* latencyStartMonitor() modified to avoid warnings.antirez2014-07-021-0/+2
|
* Latency monitor: specialize delayed aof writes events.antirez2014-07-021-4/+16
|
* LATENCY GRAPH: filling under the curve is more readable.antirez2014-07-021-1/+1
|
* LATENCY GRAPH implemented.antirez2014-07-024-6/+66
|
* latencyTimeSeries structure max field type fixed.antirez2014-07-021-1/+1
|
* Free labels in freeSparklineSequence().antirez2014-07-021-0/+4
|
* LATENCY LATEST: add the max field.antirez2014-07-021-1/+2
|
* Latency monitor trheshold value is now configurable.antirez2014-07-022-0/+35
| | | | This commit adds both support for redis.conf and CONFIG SET/GET.
* ASCII sparklines generation API.antirez2014-07-024-1/+230
|
* License added to latency.h.antirez2014-07-021-0/+33
|
* Latency monitor turned off by default.antirez2014-07-011-1/+1
| | | | | | It is not a good idea to bloat the code with gettimeofday() calls if the instance is working well, and turning monitoring on at runtime is a joke.
* Latency monitor: more hooks around the code.antirez2014-07-013-5/+40
|
* Latency monitor: don't add new samples in the same second.antirez2014-07-011-0/+11
| | | | Instead we update the old sample with the new latency if it is greater.
* LATENCY LATEST implemented.antirez2014-07-011-0/+24
|
* Latency monitor: command duration is in useconds. Convert.antirez2014-07-012-3/+3
|
* LATENCY SAMPLES implemented.antirez2014-07-013-1/+47
|
* Latency monitor: collect slow commands.antirez2014-07-013-67/+78
| | | | | | | | | | | | | We introduce the distinction between slow and fast commands since those are two different sources of latency. An O(1) or O(log N) command without side effects (can't trigger deletion of large objects as a side effect of its execution) if delayed is a symptom of inherent latency of the system. A non-fast command (commands that may run large O(N) computations) if delayed may just mean that the user is executing slow operations. The advices LATENCY should provide in this two different cases are different, so we log the two classes of commands in a separated way.
* Latency monitor: basic samples collection.antirez2014-07-015-3/+147
|
* Fix Solaris compilation due to ctime_r() call.antirez2014-06-301-0/+4
| | | | | Introduced in Redis 2.8.10 because of a change in Sentinel. This closes issue #1837.
* Test: find_available_port: check that cluster port is free as well.antirez2014-06-301-4/+6
| | | | | The function will only return ports that have also port+10000 free, so that Redis Cluster instances can be executed at the returned port.
* Test: fix instances.tcl restart_instance abort error.antirez2014-06-301-1/+1
|
* DEBUG CMDKEYS moved to COMMAND GETKEYS.antirez2014-06-272-18/+18
|
* COMMAND COUNT subcommand added.antirez2014-06-271-1/+3
|
* COMMAND: fix argument parsing.antirez2014-06-271-9/+12
| | | | | | | | | | | This fixes detection of wrong subcommand (that resulted in the default all-commands output instead) and allows COMMAND INFO to be called without arguments (resulting into an empty array) which is useful in programmtically generated calls like the following (in Ruby): redis.commands("command","info",*mycommands) Note: mycommands may be empty.
* COMMANDS command renamed COMMAND.antirez2014-06-272-3/+3
|