jitterdebugger(1)

measures wake up latencies

Section 1 jitterdebugger bookworm source

Description

JITTERDEBUGGER

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
}
}
}

SEE ALSO

jittersamples(1) jitterplot(1)