File: jitterdebugger.1

package info (click to toggle)
jitterdebugger 0.3.1%2Bgit20200117.b90ff3a-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 180 kB
  • sloc: ansic: 1,581; python: 77; sh: 44; makefile: 42
file content (121 lines) | stat: -rw-r--r-- 3,250 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
.\" SPDX-License-Identifier: MIT
.TH JITTERDEBUGGER 1
.SH NAME
jitterdebugger \- measures wake up latencies
.SH SYNOPSIS
.B jitterdebugger [OPTIONS]
.SH DESCRIPTION
.B 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.
.SH OPTIONS
.TP
.BI "-h, --help"
Show help text and exit.
.TP
.BI "-v, --verbose"
Show live updates of the measurments
.TP
.BI "-f, --file=" FILE
Write the results into the FILE
.TP
.BI "-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.
.TP
.BI "-N " SERVER:PORT
Send samples to SERVER:PORT as UDP packets. See also jittersamples --listen.
.TP
.BI "-t, --timeout=" N
Run meassurments for N seconds. N is allowed to be postfix with 'd'
(days), 'h' (hours), 'm' (minutes) or 's' seconds.
.TP
.BI "-l, --loops=" N
Run meassurments N times and the terminate jitterdebugger.
.TP
.BI "-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".
.TP
.BI "-i, --interval=" N
Set the sleep time between each measuring. The default value is 1000us
.TP
.BI "-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.
.TP
.BI "-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
.TP
.BI "-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.
.SH EXAMPLES
.EX
# 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
    }
  }
}
.EE
.SH SEE ALSO
.ad l
.nh
.BR jittersamples (1)
.BR jitterplot (1)