JITTERDEBUGGER(1) | General Commands Manual | JITTERDEBUGGER(1) |
NAME¶
jitterdebugger - measures wake up latencies
SYNOPSIS¶
jitterdebugger [OPTIONS]
DESCRIPTION¶
jitterdebugger measures wake up latencies. jitterdebugger starts a thread on each CPU which programs a timer and measures the time it takes from the timer expiring until the thread which set the timer runs again.
jitterdebugger default settings will produce a correct meassurement.
The program runs until CTRL-C or SIGTERM is received. The results are printed to STDOUT as JSON encoded string.
OPTIONS¶
- -h, --help
- Show help text and exit.
- -v, --verbose
- Show live updates of the measurments
- -f, --file=FILE
- Write the results into the FILE
- -c, --command=CMD
- Start workload CMD in background, e.g. -c "while true; do; hackbench; done". The CMD is executed in a full shell, that means VARIABLE expansion works as well. When jitterdebugger terminates itself (because of break value or loops), the background workload is also terminated.
- -N SERVER:PORT
- Send samples to SERVER:PORT as UDP packets. See also jittersamples --listen.
- -t, --timeout=N
- Run meassurments for N seconds. N is allowed to be postfix with 'd' (days), 'h' (hours), 'm' (minutes) or 's' seconds.
- -l, --loops=N
- Run meassurments N times and the terminate jitterdebugger.
- -b, --break=N
- Run jitterdebugger until the N or greater latency has been observed. jitterdebugger will also stop a running tracer by writing 0 to tracing/tracing_on. Furthermore, the value observed will be written to the trace buffers tracing/trace_marker, e.g "Hit latency 249".
- -i, --interval=N
- Set the sleep time between each measuring. The default value is 1000us
- -o, --output=DIR
- Write all samples measured into directory DIR. The file is called samples.raw and it is binary encoded and can be decoded using jittersamples. Additional meta data is stored into DIR.
- -a, --affinity=CPUSET
- Set the CPU affinity mask. jitterdebugger starts only meassuring threads on CPUSET,. e.g. 0,2,5-7 starts a thread on first, third and 5, 6 and 7 CPU. May also be set in hexadecimal with '0x' prefix
- -p, --priority=PRI
- Set the priority of the meassuring threads. The default value is 98. Note priority 99 is not available because 99 should only be used for kernel housekeeping tasks.
EXAMPLES¶
# jitterdebugger -v affinity: 0,1 = 2 [0x3] T: 0 ( 614) A: 0 C: 13476 Min: 3 Avg: 3.08 Max: 10 T: 1 ( 615) A: 1 C: 13513 Min: 3 Avg: 3.10 Max: 20 ^C {
"cpu": {
"0": {
"histogram": {
"3": 4070,
"4": 269,
"5": 26,
"6": 5,
"7": 1,
"8": 1,
"9": 2,
"10": 1
},
"count": 4375,
"min": 3,
"max": 10,
"avg": 3.08
},
"1": {
"histogram": {
"3": 4002,
"4": 320,
"5": 22,
"6": 4,
"7": 2,
"8": 1,
"10": 2,
"11": 1,
"16": 2,
"20": 1
},
"count": 4357,
"min": 3,
"max": 20,
"avg": 3.10
}
} }