xref: /aosp_15_r20/external/bcc/tools/runqlat_example.txt (revision 387f9dfdfa2baef462e92476d413c7bc2470293e)
1*387f9dfdSAndroid Build Coastguard WorkerDemonstrations of runqlat, the Linux eBPF/bcc version.
2*387f9dfdSAndroid Build Coastguard Worker
3*387f9dfdSAndroid Build Coastguard Worker
4*387f9dfdSAndroid Build Coastguard WorkerThis program summarizes scheduler run queue latency as a histogram, showing
5*387f9dfdSAndroid Build Coastguard Workerhow long tasks spent waiting their turn to run on-CPU.
6*387f9dfdSAndroid Build Coastguard Worker
7*387f9dfdSAndroid Build Coastguard WorkerHere is a heavily loaded system:
8*387f9dfdSAndroid Build Coastguard Worker
9*387f9dfdSAndroid Build Coastguard Worker# ./runqlat
10*387f9dfdSAndroid Build Coastguard WorkerTracing run queue latency... Hit Ctrl-C to end.
11*387f9dfdSAndroid Build Coastguard Worker^C
12*387f9dfdSAndroid Build Coastguard Worker     usecs               : count     distribution
13*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 233      |***********                             |
14*387f9dfdSAndroid Build Coastguard Worker         2 -> 3          : 742      |************************************    |
15*387f9dfdSAndroid Build Coastguard Worker         4 -> 7          : 203      |**********                              |
16*387f9dfdSAndroid Build Coastguard Worker         8 -> 15         : 173      |********                                |
17*387f9dfdSAndroid Build Coastguard Worker        16 -> 31         : 24       |*                                       |
18*387f9dfdSAndroid Build Coastguard Worker        32 -> 63         : 0        |                                        |
19*387f9dfdSAndroid Build Coastguard Worker        64 -> 127        : 30       |*                                       |
20*387f9dfdSAndroid Build Coastguard Worker       128 -> 255        : 6        |                                        |
21*387f9dfdSAndroid Build Coastguard Worker       256 -> 511        : 3        |                                        |
22*387f9dfdSAndroid Build Coastguard Worker       512 -> 1023       : 5        |                                        |
23*387f9dfdSAndroid Build Coastguard Worker      1024 -> 2047       : 27       |*                                       |
24*387f9dfdSAndroid Build Coastguard Worker      2048 -> 4095       : 30       |*                                       |
25*387f9dfdSAndroid Build Coastguard Worker      4096 -> 8191       : 20       |                                        |
26*387f9dfdSAndroid Build Coastguard Worker      8192 -> 16383      : 29       |*                                       |
27*387f9dfdSAndroid Build Coastguard Worker     16384 -> 32767      : 809      |****************************************|
28*387f9dfdSAndroid Build Coastguard Worker     32768 -> 65535      : 64       |***                                     |
29*387f9dfdSAndroid Build Coastguard Worker
30*387f9dfdSAndroid Build Coastguard WorkerThe distribution is bimodal, with one mode between 0 and 15 microseconds,
31*387f9dfdSAndroid Build Coastguard Workerand another between 16 and 65 milliseconds. These modes are visible as the
32*387f9dfdSAndroid Build Coastguard Workerspikes in the ASCII distribution (which is merely a visual representation
33*387f9dfdSAndroid Build Coastguard Workerof the "count" column). As an example of reading one line: 809 events fell
34*387f9dfdSAndroid Build Coastguard Workerinto the 16384 to 32767 microsecond range (16 to 32 ms) while tracing.
35*387f9dfdSAndroid Build Coastguard Worker
36*387f9dfdSAndroid Build Coastguard WorkerI would expect the two modes to be due the workload: 16 hot CPU-bound threads,
37*387f9dfdSAndroid Build Coastguard Workerand many other mostly idle threads doing occasional work. I suspect the mostly
38*387f9dfdSAndroid Build Coastguard Workeridle threads will run with a higher priority when they wake up, and are
39*387f9dfdSAndroid Build Coastguard Workerthe reason for the low latency mode. The high latency mode will be the
40*387f9dfdSAndroid Build Coastguard WorkerCPU-bound threads. More analysis with this and other tools can confirm.
41*387f9dfdSAndroid Build Coastguard Worker
42*387f9dfdSAndroid Build Coastguard Worker
43*387f9dfdSAndroid Build Coastguard WorkerA -m option can be used to show milliseconds instead, as well as an interval
44*387f9dfdSAndroid Build Coastguard Workerand a count. For example, showing three x five second summary in milliseconds:
45*387f9dfdSAndroid Build Coastguard Worker
46*387f9dfdSAndroid Build Coastguard Worker# ./runqlat -m 5 3
47*387f9dfdSAndroid Build Coastguard WorkerTracing run queue latency... Hit Ctrl-C to end.
48*387f9dfdSAndroid Build Coastguard Worker
49*387f9dfdSAndroid Build Coastguard Worker     msecs               : count     distribution
50*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 3818     |****************************************|
51*387f9dfdSAndroid Build Coastguard Worker         2 -> 3          : 39       |                                        |
52*387f9dfdSAndroid Build Coastguard Worker         4 -> 7          : 39       |                                        |
53*387f9dfdSAndroid Build Coastguard Worker         8 -> 15         : 62       |                                        |
54*387f9dfdSAndroid Build Coastguard Worker        16 -> 31         : 2214     |***********************                 |
55*387f9dfdSAndroid Build Coastguard Worker        32 -> 63         : 226      |**                                      |
56*387f9dfdSAndroid Build Coastguard Worker
57*387f9dfdSAndroid Build Coastguard Worker     msecs               : count     distribution
58*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 3775     |****************************************|
59*387f9dfdSAndroid Build Coastguard Worker         2 -> 3          : 52       |                                        |
60*387f9dfdSAndroid Build Coastguard Worker         4 -> 7          : 37       |                                        |
61*387f9dfdSAndroid Build Coastguard Worker         8 -> 15         : 65       |                                        |
62*387f9dfdSAndroid Build Coastguard Worker        16 -> 31         : 2230     |***********************                 |
63*387f9dfdSAndroid Build Coastguard Worker        32 -> 63         : 212      |**                                      |
64*387f9dfdSAndroid Build Coastguard Worker
65*387f9dfdSAndroid Build Coastguard Worker     msecs               : count     distribution
66*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 3816     |****************************************|
67*387f9dfdSAndroid Build Coastguard Worker         2 -> 3          : 49       |                                        |
68*387f9dfdSAndroid Build Coastguard Worker         4 -> 7          : 40       |                                        |
69*387f9dfdSAndroid Build Coastguard Worker         8 -> 15         : 53       |                                        |
70*387f9dfdSAndroid Build Coastguard Worker        16 -> 31         : 2228     |***********************                 |
71*387f9dfdSAndroid Build Coastguard Worker        32 -> 63         : 221      |**                                      |
72*387f9dfdSAndroid Build Coastguard Worker
73*387f9dfdSAndroid Build Coastguard WorkerThis shows a similar distribution across the three summaries.
74*387f9dfdSAndroid Build Coastguard Worker
75*387f9dfdSAndroid Build Coastguard Worker
76*387f9dfdSAndroid Build Coastguard WorkerA -p option can be used to show one PID only, which is filtered in kernel for
77*387f9dfdSAndroid Build Coastguard Workerefficiency. For example, PID 4505, and one second summaries:
78*387f9dfdSAndroid Build Coastguard Worker
79*387f9dfdSAndroid Build Coastguard Worker# ./runqlat -mp 4505 1
80*387f9dfdSAndroid Build Coastguard WorkerTracing run queue latency... Hit Ctrl-C to end.
81*387f9dfdSAndroid Build Coastguard Worker
82*387f9dfdSAndroid Build Coastguard Worker     msecs               : count     distribution
83*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 1        |*                                       |
84*387f9dfdSAndroid Build Coastguard Worker         2 -> 3          : 2        |***                                     |
85*387f9dfdSAndroid Build Coastguard Worker         4 -> 7          : 1        |*                                       |
86*387f9dfdSAndroid Build Coastguard Worker         8 -> 15         : 0        |                                        |
87*387f9dfdSAndroid Build Coastguard Worker        16 -> 31         : 25       |****************************************|
88*387f9dfdSAndroid Build Coastguard Worker        32 -> 63         : 3        |****                                    |
89*387f9dfdSAndroid Build Coastguard Worker
90*387f9dfdSAndroid Build Coastguard Worker     msecs               : count     distribution
91*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 0        |                                        |
92*387f9dfdSAndroid Build Coastguard Worker         2 -> 3          : 2        |**                                      |
93*387f9dfdSAndroid Build Coastguard Worker         4 -> 7          : 0        |                                        |
94*387f9dfdSAndroid Build Coastguard Worker         8 -> 15         : 1        |*                                       |
95*387f9dfdSAndroid Build Coastguard Worker        16 -> 31         : 30       |****************************************|
96*387f9dfdSAndroid Build Coastguard Worker        32 -> 63         : 1        |*                                       |
97*387f9dfdSAndroid Build Coastguard Worker
98*387f9dfdSAndroid Build Coastguard Worker     msecs               : count     distribution
99*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 0        |                                        |
100*387f9dfdSAndroid Build Coastguard Worker         2 -> 3          : 0        |                                        |
101*387f9dfdSAndroid Build Coastguard Worker         4 -> 7          : 0        |                                        |
102*387f9dfdSAndroid Build Coastguard Worker         8 -> 15         : 0        |                                        |
103*387f9dfdSAndroid Build Coastguard Worker        16 -> 31         : 28       |****************************************|
104*387f9dfdSAndroid Build Coastguard Worker        32 -> 63         : 2        |**                                      |
105*387f9dfdSAndroid Build Coastguard Worker
106*387f9dfdSAndroid Build Coastguard Worker     msecs               : count     distribution
107*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 1        |*                                       |
108*387f9dfdSAndroid Build Coastguard Worker         2 -> 3          : 0        |                                        |
109*387f9dfdSAndroid Build Coastguard Worker         4 -> 7          : 0        |                                        |
110*387f9dfdSAndroid Build Coastguard Worker         8 -> 15         : 0        |                                        |
111*387f9dfdSAndroid Build Coastguard Worker        16 -> 31         : 27       |****************************************|
112*387f9dfdSAndroid Build Coastguard Worker        32 -> 63         : 4        |*****                                   |
113*387f9dfdSAndroid Build Coastguard Worker[...]
114*387f9dfdSAndroid Build Coastguard Worker
115*387f9dfdSAndroid Build Coastguard WorkerFor comparison, here is pidstat(1) for that process:
116*387f9dfdSAndroid Build Coastguard Worker
117*387f9dfdSAndroid Build Coastguard Worker# pidstat -p 4505 1
118*387f9dfdSAndroid Build Coastguard WorkerLinux 4.4.0-virtual (bgregg-xxxxxxxx) 	02/08/2016 	_x86_64_	(8 CPU)
119*387f9dfdSAndroid Build Coastguard Worker
120*387f9dfdSAndroid Build Coastguard Worker08:56:11 AM   UID       PID    %usr %system  %guest    %CPU   CPU  Command
121*387f9dfdSAndroid Build Coastguard Worker08:56:12 AM     0      4505    9.00    3.00    0.00   12.00     0  bash
122*387f9dfdSAndroid Build Coastguard Worker08:56:13 AM     0      4505    7.00    5.00    0.00   12.00     0  bash
123*387f9dfdSAndroid Build Coastguard Worker08:56:14 AM     0      4505   10.00    2.00    0.00   12.00     0  bash
124*387f9dfdSAndroid Build Coastguard Worker08:56:15 AM     0      4505   11.00    2.00    0.00   13.00     0  bash
125*387f9dfdSAndroid Build Coastguard Worker08:56:16 AM     0      4505    9.00    3.00    0.00   12.00     0  bash
126*387f9dfdSAndroid Build Coastguard Worker[...]
127*387f9dfdSAndroid Build Coastguard Worker
128*387f9dfdSAndroid Build Coastguard WorkerThis is a synthetic workload that is CPU bound. It's only spending 12% on-CPU
129*387f9dfdSAndroid Build Coastguard Workereach second because of high CPU demand on this server: the remaining time
130*387f9dfdSAndroid Build Coastguard Workeris spent waiting on a run queue, as visualized by runqlat.
131*387f9dfdSAndroid Build Coastguard Worker
132*387f9dfdSAndroid Build Coastguard Worker
133*387f9dfdSAndroid Build Coastguard WorkerHere is the same system, but when it is CPU idle:
134*387f9dfdSAndroid Build Coastguard Worker
135*387f9dfdSAndroid Build Coastguard Worker# ./runqlat 5 1
136*387f9dfdSAndroid Build Coastguard WorkerTracing run queue latency... Hit Ctrl-C to end.
137*387f9dfdSAndroid Build Coastguard Worker
138*387f9dfdSAndroid Build Coastguard Worker     usecs               : count     distribution
139*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 2250     |********************************        |
140*387f9dfdSAndroid Build Coastguard Worker         2 -> 3          : 2340     |**********************************      |
141*387f9dfdSAndroid Build Coastguard Worker         4 -> 7          : 2746     |****************************************|
142*387f9dfdSAndroid Build Coastguard Worker         8 -> 15         : 418      |******                                  |
143*387f9dfdSAndroid Build Coastguard Worker        16 -> 31         : 93       |*                                       |
144*387f9dfdSAndroid Build Coastguard Worker        32 -> 63         : 28       |                                        |
145*387f9dfdSAndroid Build Coastguard Worker        64 -> 127        : 119      |*                                       |
146*387f9dfdSAndroid Build Coastguard Worker       128 -> 255        : 9        |                                        |
147*387f9dfdSAndroid Build Coastguard Worker       256 -> 511        : 4        |                                        |
148*387f9dfdSAndroid Build Coastguard Worker       512 -> 1023       : 20       |                                        |
149*387f9dfdSAndroid Build Coastguard Worker      1024 -> 2047       : 22       |                                        |
150*387f9dfdSAndroid Build Coastguard Worker      2048 -> 4095       : 5        |                                        |
151*387f9dfdSAndroid Build Coastguard Worker      4096 -> 8191       : 2        |                                        |
152*387f9dfdSAndroid Build Coastguard Worker
153*387f9dfdSAndroid Build Coastguard WorkerBack to a microsecond scale, this time there is little run queue latency past 1
154*387f9dfdSAndroid Build Coastguard Workermillisecond, as would be expected.
155*387f9dfdSAndroid Build Coastguard Worker
156*387f9dfdSAndroid Build Coastguard Worker
157*387f9dfdSAndroid Build Coastguard WorkerNow 16 threads are performing heavy disk I/O:
158*387f9dfdSAndroid Build Coastguard Worker
159*387f9dfdSAndroid Build Coastguard Worker# ./runqlat 5 1
160*387f9dfdSAndroid Build Coastguard WorkerTracing run queue latency... Hit Ctrl-C to end.
161*387f9dfdSAndroid Build Coastguard Worker
162*387f9dfdSAndroid Build Coastguard Worker     usecs               : count     distribution
163*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 204      |                                        |
164*387f9dfdSAndroid Build Coastguard Worker         2 -> 3          : 944      |*                                       |
165*387f9dfdSAndroid Build Coastguard Worker         4 -> 7          : 16315    |*********************                   |
166*387f9dfdSAndroid Build Coastguard Worker         8 -> 15         : 29897    |****************************************|
167*387f9dfdSAndroid Build Coastguard Worker        16 -> 31         : 1044     |*                                       |
168*387f9dfdSAndroid Build Coastguard Worker        32 -> 63         : 23       |                                        |
169*387f9dfdSAndroid Build Coastguard Worker        64 -> 127        : 128      |                                        |
170*387f9dfdSAndroid Build Coastguard Worker       128 -> 255        : 24       |                                        |
171*387f9dfdSAndroid Build Coastguard Worker       256 -> 511        : 5        |                                        |
172*387f9dfdSAndroid Build Coastguard Worker       512 -> 1023       : 13       |                                        |
173*387f9dfdSAndroid Build Coastguard Worker      1024 -> 2047       : 15       |                                        |
174*387f9dfdSAndroid Build Coastguard Worker      2048 -> 4095       : 13       |                                        |
175*387f9dfdSAndroid Build Coastguard Worker      4096 -> 8191       : 10       |                                        |
176*387f9dfdSAndroid Build Coastguard Worker
177*387f9dfdSAndroid Build Coastguard WorkerThe distribution hasn't changed too much. While the disks are 100% busy, there
178*387f9dfdSAndroid Build Coastguard Workeris still plenty of CPU headroom, and threads still don't spend much time
179*387f9dfdSAndroid Build Coastguard Workerwaiting their turn.
180*387f9dfdSAndroid Build Coastguard Worker
181*387f9dfdSAndroid Build Coastguard Worker
182*387f9dfdSAndroid Build Coastguard WorkerA -P option will print a distribution for each PID:
183*387f9dfdSAndroid Build Coastguard Worker
184*387f9dfdSAndroid Build Coastguard Worker# ./runqlat -P
185*387f9dfdSAndroid Build Coastguard WorkerTracing run queue latency... Hit Ctrl-C to end.
186*387f9dfdSAndroid Build Coastguard Worker^C
187*387f9dfdSAndroid Build Coastguard Worker
188*387f9dfdSAndroid Build Coastguard Workerpid = 0
189*387f9dfdSAndroid Build Coastguard Worker     usecs               : count     distribution
190*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 351      |********************************        |
191*387f9dfdSAndroid Build Coastguard Worker         2 -> 3          : 96       |********                                |
192*387f9dfdSAndroid Build Coastguard Worker         4 -> 7          : 437      |****************************************|
193*387f9dfdSAndroid Build Coastguard Worker         8 -> 15         : 12       |*                                       |
194*387f9dfdSAndroid Build Coastguard Worker        16 -> 31         : 10       |                                        |
195*387f9dfdSAndroid Build Coastguard Worker        32 -> 63         : 0        |                                        |
196*387f9dfdSAndroid Build Coastguard Worker        64 -> 127        : 16       |*                                       |
197*387f9dfdSAndroid Build Coastguard Worker       128 -> 255        : 0        |                                        |
198*387f9dfdSAndroid Build Coastguard Worker       256 -> 511        : 0        |                                        |
199*387f9dfdSAndroid Build Coastguard Worker       512 -> 1023       : 0        |                                        |
200*387f9dfdSAndroid Build Coastguard Worker      1024 -> 2047       : 0        |                                        |
201*387f9dfdSAndroid Build Coastguard Worker      2048 -> 4095       : 0        |                                        |
202*387f9dfdSAndroid Build Coastguard Worker      4096 -> 8191       : 0        |                                        |
203*387f9dfdSAndroid Build Coastguard Worker      8192 -> 16383      : 1        |                                        |
204*387f9dfdSAndroid Build Coastguard Worker
205*387f9dfdSAndroid Build Coastguard Workerpid = 12929
206*387f9dfdSAndroid Build Coastguard Worker     usecs               : count     distribution
207*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 1        |****************************************|
208*387f9dfdSAndroid Build Coastguard Worker         2 -> 3          : 0        |                                        |
209*387f9dfdSAndroid Build Coastguard Worker         4 -> 7          : 1        |****************************************|
210*387f9dfdSAndroid Build Coastguard Worker
211*387f9dfdSAndroid Build Coastguard Workerpid = 12930
212*387f9dfdSAndroid Build Coastguard Worker     usecs               : count     distribution
213*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 0        |                                        |
214*387f9dfdSAndroid Build Coastguard Worker         2 -> 3          : 0        |                                        |
215*387f9dfdSAndroid Build Coastguard Worker         4 -> 7          : 0        |                                        |
216*387f9dfdSAndroid Build Coastguard Worker         8 -> 15         : 0        |                                        |
217*387f9dfdSAndroid Build Coastguard Worker        16 -> 31         : 1        |****************************************|
218*387f9dfdSAndroid Build Coastguard Worker        32 -> 63         : 0        |                                        |
219*387f9dfdSAndroid Build Coastguard Worker        64 -> 127        : 1        |****************************************|
220*387f9dfdSAndroid Build Coastguard Worker
221*387f9dfdSAndroid Build Coastguard Workerpid = 12931
222*387f9dfdSAndroid Build Coastguard Worker     usecs               : count     distribution
223*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 0        |                                        |
224*387f9dfdSAndroid Build Coastguard Worker         2 -> 3          : 0        |                                        |
225*387f9dfdSAndroid Build Coastguard Worker         4 -> 7          : 1        |********************                    |
226*387f9dfdSAndroid Build Coastguard Worker         8 -> 15         : 0        |                                        |
227*387f9dfdSAndroid Build Coastguard Worker        16 -> 31         : 0        |                                        |
228*387f9dfdSAndroid Build Coastguard Worker        32 -> 63         : 0        |                                        |
229*387f9dfdSAndroid Build Coastguard Worker        64 -> 127        : 0        |                                        |
230*387f9dfdSAndroid Build Coastguard Worker       128 -> 255        : 0        |                                        |
231*387f9dfdSAndroid Build Coastguard Worker       256 -> 511        : 0        |                                        |
232*387f9dfdSAndroid Build Coastguard Worker       512 -> 1023       : 2        |****************************************|
233*387f9dfdSAndroid Build Coastguard Worker
234*387f9dfdSAndroid Build Coastguard Workerpid = 12932
235*387f9dfdSAndroid Build Coastguard Worker     usecs               : count     distribution
236*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 0        |                                        |
237*387f9dfdSAndroid Build Coastguard Worker         2 -> 3          : 0        |                                        |
238*387f9dfdSAndroid Build Coastguard Worker         4 -> 7          : 0        |                                        |
239*387f9dfdSAndroid Build Coastguard Worker         8 -> 15         : 0        |                                        |
240*387f9dfdSAndroid Build Coastguard Worker        16 -> 31         : 0        |                                        |
241*387f9dfdSAndroid Build Coastguard Worker        32 -> 63         : 0        |                                        |
242*387f9dfdSAndroid Build Coastguard Worker        64 -> 127        : 0        |                                        |
243*387f9dfdSAndroid Build Coastguard Worker       128 -> 255        : 1        |****************************************|
244*387f9dfdSAndroid Build Coastguard Worker       256 -> 511        : 0        |                                        |
245*387f9dfdSAndroid Build Coastguard Worker       512 -> 1023       : 1        |****************************************|
246*387f9dfdSAndroid Build Coastguard Worker
247*387f9dfdSAndroid Build Coastguard Workerpid = 7
248*387f9dfdSAndroid Build Coastguard Worker     usecs               : count     distribution
249*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 0        |                                        |
250*387f9dfdSAndroid Build Coastguard Worker         2 -> 3          : 426      |*************************************   |
251*387f9dfdSAndroid Build Coastguard Worker         4 -> 7          : 457      |****************************************|
252*387f9dfdSAndroid Build Coastguard Worker         8 -> 15         : 16       |*                                       |
253*387f9dfdSAndroid Build Coastguard Worker
254*387f9dfdSAndroid Build Coastguard Workerpid = 9
255*387f9dfdSAndroid Build Coastguard Worker     usecs               : count     distribution
256*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 0        |                                        |
257*387f9dfdSAndroid Build Coastguard Worker         2 -> 3          : 0        |                                        |
258*387f9dfdSAndroid Build Coastguard Worker         4 -> 7          : 425      |****************************************|
259*387f9dfdSAndroid Build Coastguard Worker         8 -> 15         : 16       |*                                       |
260*387f9dfdSAndroid Build Coastguard Worker
261*387f9dfdSAndroid Build Coastguard Workerpid = 11
262*387f9dfdSAndroid Build Coastguard Worker     usecs               : count     distribution
263*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 0        |                                        |
264*387f9dfdSAndroid Build Coastguard Worker         2 -> 3          : 10       |****************************************|
265*387f9dfdSAndroid Build Coastguard Worker
266*387f9dfdSAndroid Build Coastguard Workerpid = 14
267*387f9dfdSAndroid Build Coastguard Worker     usecs               : count     distribution
268*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 0        |                                        |
269*387f9dfdSAndroid Build Coastguard Worker         2 -> 3          : 8        |****************************************|
270*387f9dfdSAndroid Build Coastguard Worker         4 -> 7          : 2        |**********                              |
271*387f9dfdSAndroid Build Coastguard Worker
272*387f9dfdSAndroid Build Coastguard Workerpid = 18
273*387f9dfdSAndroid Build Coastguard Worker     usecs               : count     distribution
274*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 414      |****************************************|
275*387f9dfdSAndroid Build Coastguard Worker         2 -> 3          : 0        |                                        |
276*387f9dfdSAndroid Build Coastguard Worker         4 -> 7          : 20       |*                                       |
277*387f9dfdSAndroid Build Coastguard Worker         8 -> 15         : 8        |                                        |
278*387f9dfdSAndroid Build Coastguard Worker
279*387f9dfdSAndroid Build Coastguard Workerpid = 12928
280*387f9dfdSAndroid Build Coastguard Worker     usecs               : count     distribution
281*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 0        |                                        |
282*387f9dfdSAndroid Build Coastguard Worker         2 -> 3          : 0        |                                        |
283*387f9dfdSAndroid Build Coastguard Worker         4 -> 7          : 1        |****************************************|
284*387f9dfdSAndroid Build Coastguard Worker         8 -> 15         : 0        |                                        |
285*387f9dfdSAndroid Build Coastguard Worker        16 -> 31         : 0        |                                        |
286*387f9dfdSAndroid Build Coastguard Worker        32 -> 63         : 0        |                                        |
287*387f9dfdSAndroid Build Coastguard Worker        64 -> 127        : 1        |****************************************|
288*387f9dfdSAndroid Build Coastguard Worker
289*387f9dfdSAndroid Build Coastguard Workerpid = 1867
290*387f9dfdSAndroid Build Coastguard Worker     usecs               : count     distribution
291*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 0        |                                        |
292*387f9dfdSAndroid Build Coastguard Worker         2 -> 3          : 0        |                                        |
293*387f9dfdSAndroid Build Coastguard Worker         4 -> 7          : 0        |                                        |
294*387f9dfdSAndroid Build Coastguard Worker         8 -> 15         : 15       |****************************************|
295*387f9dfdSAndroid Build Coastguard Worker        16 -> 31         : 1        |**                                      |
296*387f9dfdSAndroid Build Coastguard Worker        32 -> 63         : 0        |                                        |
297*387f9dfdSAndroid Build Coastguard Worker        64 -> 127        : 0        |                                        |
298*387f9dfdSAndroid Build Coastguard Worker       128 -> 255        : 4        |**********                              |
299*387f9dfdSAndroid Build Coastguard Worker
300*387f9dfdSAndroid Build Coastguard Workerpid = 1871
301*387f9dfdSAndroid Build Coastguard Worker     usecs               : count     distribution
302*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 0        |                                        |
303*387f9dfdSAndroid Build Coastguard Worker         2 -> 3          : 0        |                                        |
304*387f9dfdSAndroid Build Coastguard Worker         4 -> 7          : 0        |                                        |
305*387f9dfdSAndroid Build Coastguard Worker         8 -> 15         : 2        |****************************************|
306*387f9dfdSAndroid Build Coastguard Worker        16 -> 31         : 0        |                                        |
307*387f9dfdSAndroid Build Coastguard Worker        32 -> 63         : 0        |                                        |
308*387f9dfdSAndroid Build Coastguard Worker        64 -> 127        : 0        |                                        |
309*387f9dfdSAndroid Build Coastguard Worker       128 -> 255        : 0        |                                        |
310*387f9dfdSAndroid Build Coastguard Worker       256 -> 511        : 0        |                                        |
311*387f9dfdSAndroid Build Coastguard Worker       512 -> 1023       : 1        |********************                    |
312*387f9dfdSAndroid Build Coastguard Worker
313*387f9dfdSAndroid Build Coastguard Workerpid = 1876
314*387f9dfdSAndroid Build Coastguard Worker     usecs               : count     distribution
315*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 0        |                                        |
316*387f9dfdSAndroid Build Coastguard Worker         2 -> 3          : 0        |                                        |
317*387f9dfdSAndroid Build Coastguard Worker         4 -> 7          : 0        |                                        |
318*387f9dfdSAndroid Build Coastguard Worker         8 -> 15         : 1        |****************************************|
319*387f9dfdSAndroid Build Coastguard Worker        16 -> 31         : 0        |                                        |
320*387f9dfdSAndroid Build Coastguard Worker        32 -> 63         : 0        |                                        |
321*387f9dfdSAndroid Build Coastguard Worker        64 -> 127        : 0        |                                        |
322*387f9dfdSAndroid Build Coastguard Worker       128 -> 255        : 0        |                                        |
323*387f9dfdSAndroid Build Coastguard Worker       256 -> 511        : 1        |****************************************|
324*387f9dfdSAndroid Build Coastguard Worker
325*387f9dfdSAndroid Build Coastguard Workerpid = 1878
326*387f9dfdSAndroid Build Coastguard Worker     usecs               : count     distribution
327*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 0        |                                        |
328*387f9dfdSAndroid Build Coastguard Worker         2 -> 3          : 0        |                                        |
329*387f9dfdSAndroid Build Coastguard Worker         4 -> 7          : 0        |                                        |
330*387f9dfdSAndroid Build Coastguard Worker         8 -> 15         : 0        |                                        |
331*387f9dfdSAndroid Build Coastguard Worker        16 -> 31         : 3        |****************************************|
332*387f9dfdSAndroid Build Coastguard Worker
333*387f9dfdSAndroid Build Coastguard Workerpid = 1880
334*387f9dfdSAndroid Build Coastguard Worker     usecs               : count     distribution
335*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 0        |                                        |
336*387f9dfdSAndroid Build Coastguard Worker         2 -> 3          : 0        |                                        |
337*387f9dfdSAndroid Build Coastguard Worker         4 -> 7          : 0        |                                        |
338*387f9dfdSAndroid Build Coastguard Worker         8 -> 15         : 3        |****************************************|
339*387f9dfdSAndroid Build Coastguard Worker
340*387f9dfdSAndroid Build Coastguard Workerpid = 9307
341*387f9dfdSAndroid Build Coastguard Worker     usecs               : count     distribution
342*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 0        |                                        |
343*387f9dfdSAndroid Build Coastguard Worker         2 -> 3          : 0        |                                        |
344*387f9dfdSAndroid Build Coastguard Worker         4 -> 7          : 0        |                                        |
345*387f9dfdSAndroid Build Coastguard Worker         8 -> 15         : 1        |****************************************|
346*387f9dfdSAndroid Build Coastguard Worker
347*387f9dfdSAndroid Build Coastguard Workerpid = 1886
348*387f9dfdSAndroid Build Coastguard Worker     usecs               : count     distribution
349*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 0        |                                        |
350*387f9dfdSAndroid Build Coastguard Worker         2 -> 3          : 0        |                                        |
351*387f9dfdSAndroid Build Coastguard Worker         4 -> 7          : 1        |********************                    |
352*387f9dfdSAndroid Build Coastguard Worker         8 -> 15         : 2        |****************************************|
353*387f9dfdSAndroid Build Coastguard Worker
354*387f9dfdSAndroid Build Coastguard Workerpid = 1888
355*387f9dfdSAndroid Build Coastguard Worker     usecs               : count     distribution
356*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 0        |                                        |
357*387f9dfdSAndroid Build Coastguard Worker         2 -> 3          : 0        |                                        |
358*387f9dfdSAndroid Build Coastguard Worker         4 -> 7          : 0        |                                        |
359*387f9dfdSAndroid Build Coastguard Worker         8 -> 15         : 3        |****************************************|
360*387f9dfdSAndroid Build Coastguard Worker
361*387f9dfdSAndroid Build Coastguard Workerpid = 3297
362*387f9dfdSAndroid Build Coastguard Worker     usecs               : count     distribution
363*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 0        |                                        |
364*387f9dfdSAndroid Build Coastguard Worker         2 -> 3          : 0        |                                        |
365*387f9dfdSAndroid Build Coastguard Worker         4 -> 7          : 0        |                                        |
366*387f9dfdSAndroid Build Coastguard Worker         8 -> 15         : 1        |****************************************|
367*387f9dfdSAndroid Build Coastguard Worker
368*387f9dfdSAndroid Build Coastguard Workerpid = 1892
369*387f9dfdSAndroid Build Coastguard Worker     usecs               : count     distribution
370*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 0        |                                        |
371*387f9dfdSAndroid Build Coastguard Worker         2 -> 3          : 0        |                                        |
372*387f9dfdSAndroid Build Coastguard Worker         4 -> 7          : 0        |                                        |
373*387f9dfdSAndroid Build Coastguard Worker         8 -> 15         : 0        |                                        |
374*387f9dfdSAndroid Build Coastguard Worker        16 -> 31         : 1        |********************                    |
375*387f9dfdSAndroid Build Coastguard Worker        32 -> 63         : 0        |                                        |
376*387f9dfdSAndroid Build Coastguard Worker        64 -> 127        : 0        |                                        |
377*387f9dfdSAndroid Build Coastguard Worker       128 -> 255        : 0        |                                        |
378*387f9dfdSAndroid Build Coastguard Worker       256 -> 511        : 0        |                                        |
379*387f9dfdSAndroid Build Coastguard Worker       512 -> 1023       : 2        |****************************************|
380*387f9dfdSAndroid Build Coastguard Worker
381*387f9dfdSAndroid Build Coastguard Workerpid = 7024
382*387f9dfdSAndroid Build Coastguard Worker     usecs               : count     distribution
383*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 0        |                                        |
384*387f9dfdSAndroid Build Coastguard Worker         2 -> 3          : 0        |                                        |
385*387f9dfdSAndroid Build Coastguard Worker         4 -> 7          : 0        |                                        |
386*387f9dfdSAndroid Build Coastguard Worker         8 -> 15         : 4        |****************************************|
387*387f9dfdSAndroid Build Coastguard Worker
388*387f9dfdSAndroid Build Coastguard Workerpid = 16468
389*387f9dfdSAndroid Build Coastguard Worker     usecs               : count     distribution
390*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 0        |                                        |
391*387f9dfdSAndroid Build Coastguard Worker         2 -> 3          : 0        |                                        |
392*387f9dfdSAndroid Build Coastguard Worker         4 -> 7          : 0        |                                        |
393*387f9dfdSAndroid Build Coastguard Worker         8 -> 15         : 3        |****************************************|
394*387f9dfdSAndroid Build Coastguard Worker
395*387f9dfdSAndroid Build Coastguard Workerpid = 12922
396*387f9dfdSAndroid Build Coastguard Worker     usecs               : count     distribution
397*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 1        |****************************************|
398*387f9dfdSAndroid Build Coastguard Worker         2 -> 3          : 0        |                                        |
399*387f9dfdSAndroid Build Coastguard Worker         4 -> 7          : 0        |                                        |
400*387f9dfdSAndroid Build Coastguard Worker         8 -> 15         : 1        |****************************************|
401*387f9dfdSAndroid Build Coastguard Worker        16 -> 31         : 1        |****************************************|
402*387f9dfdSAndroid Build Coastguard Worker        32 -> 63         : 0        |                                        |
403*387f9dfdSAndroid Build Coastguard Worker        64 -> 127        : 1        |****************************************|
404*387f9dfdSAndroid Build Coastguard Worker
405*387f9dfdSAndroid Build Coastguard Workerpid = 12923
406*387f9dfdSAndroid Build Coastguard Worker     usecs               : count     distribution
407*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 0        |                                        |
408*387f9dfdSAndroid Build Coastguard Worker         2 -> 3          : 0        |                                        |
409*387f9dfdSAndroid Build Coastguard Worker         4 -> 7          : 1        |********************                    |
410*387f9dfdSAndroid Build Coastguard Worker         8 -> 15         : 0        |                                        |
411*387f9dfdSAndroid Build Coastguard Worker        16 -> 31         : 0        |                                        |
412*387f9dfdSAndroid Build Coastguard Worker        32 -> 63         : 0        |                                        |
413*387f9dfdSAndroid Build Coastguard Worker        64 -> 127        : 2        |****************************************|
414*387f9dfdSAndroid Build Coastguard Worker       128 -> 255        : 0        |                                        |
415*387f9dfdSAndroid Build Coastguard Worker       256 -> 511        : 0        |                                        |
416*387f9dfdSAndroid Build Coastguard Worker       512 -> 1023       : 1        |********************                    |
417*387f9dfdSAndroid Build Coastguard Worker      1024 -> 2047       : 1        |********************                    |
418*387f9dfdSAndroid Build Coastguard Worker
419*387f9dfdSAndroid Build Coastguard Workerpid = 12924
420*387f9dfdSAndroid Build Coastguard Worker     usecs               : count     distribution
421*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 0        |                                        |
422*387f9dfdSAndroid Build Coastguard Worker         2 -> 3          : 0        |                                        |
423*387f9dfdSAndroid Build Coastguard Worker         4 -> 7          : 2        |********************                    |
424*387f9dfdSAndroid Build Coastguard Worker         8 -> 15         : 4        |****************************************|
425*387f9dfdSAndroid Build Coastguard Worker        16 -> 31         : 1        |**********                              |
426*387f9dfdSAndroid Build Coastguard Worker        32 -> 63         : 0        |                                        |
427*387f9dfdSAndroid Build Coastguard Worker        64 -> 127        : 0        |                                        |
428*387f9dfdSAndroid Build Coastguard Worker       128 -> 255        : 0        |                                        |
429*387f9dfdSAndroid Build Coastguard Worker       256 -> 511        : 0        |                                        |
430*387f9dfdSAndroid Build Coastguard Worker       512 -> 1023       : 0        |                                        |
431*387f9dfdSAndroid Build Coastguard Worker      1024 -> 2047       : 1        |**********                              |
432*387f9dfdSAndroid Build Coastguard Worker
433*387f9dfdSAndroid Build Coastguard Workerpid = 12925
434*387f9dfdSAndroid Build Coastguard Worker     usecs               : count     distribution
435*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 0        |                                        |
436*387f9dfdSAndroid Build Coastguard Worker         2 -> 3          : 0        |                                        |
437*387f9dfdSAndroid Build Coastguard Worker         4 -> 7          : 0        |                                        |
438*387f9dfdSAndroid Build Coastguard Worker         8 -> 15         : 0        |                                        |
439*387f9dfdSAndroid Build Coastguard Worker        16 -> 31         : 0        |                                        |
440*387f9dfdSAndroid Build Coastguard Worker        32 -> 63         : 0        |                                        |
441*387f9dfdSAndroid Build Coastguard Worker        64 -> 127        : 1        |****************************************|
442*387f9dfdSAndroid Build Coastguard Worker
443*387f9dfdSAndroid Build Coastguard Workerpid = 12926
444*387f9dfdSAndroid Build Coastguard Worker     usecs               : count     distribution
445*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 0        |                                        |
446*387f9dfdSAndroid Build Coastguard Worker         2 -> 3          : 1        |****************************************|
447*387f9dfdSAndroid Build Coastguard Worker         4 -> 7          : 0        |                                        |
448*387f9dfdSAndroid Build Coastguard Worker         8 -> 15         : 1        |****************************************|
449*387f9dfdSAndroid Build Coastguard Worker        16 -> 31         : 0        |                                        |
450*387f9dfdSAndroid Build Coastguard Worker        32 -> 63         : 0        |                                        |
451*387f9dfdSAndroid Build Coastguard Worker        64 -> 127        : 0        |                                        |
452*387f9dfdSAndroid Build Coastguard Worker       128 -> 255        : 0        |                                        |
453*387f9dfdSAndroid Build Coastguard Worker       256 -> 511        : 0        |                                        |
454*387f9dfdSAndroid Build Coastguard Worker       512 -> 1023       : 1        |****************************************|
455*387f9dfdSAndroid Build Coastguard Worker
456*387f9dfdSAndroid Build Coastguard Workerpid = 12927
457*387f9dfdSAndroid Build Coastguard Worker     usecs               : count     distribution
458*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 1        |****************************************|
459*387f9dfdSAndroid Build Coastguard Worker         2 -> 3          : 0        |                                        |
460*387f9dfdSAndroid Build Coastguard Worker         4 -> 7          : 1        |****************************************|
461*387f9dfdSAndroid Build Coastguard Worker
462*387f9dfdSAndroid Build Coastguard Worker
463*387f9dfdSAndroid Build Coastguard WorkerA -L option will print a distribution for each TID:
464*387f9dfdSAndroid Build Coastguard Worker
465*387f9dfdSAndroid Build Coastguard Worker# ./runqlat -L
466*387f9dfdSAndroid Build Coastguard WorkerTracing run queue latency... Hit Ctrl-C to end.
467*387f9dfdSAndroid Build Coastguard Worker^C
468*387f9dfdSAndroid Build Coastguard Worker
469*387f9dfdSAndroid Build Coastguard Workertid = 0
470*387f9dfdSAndroid Build Coastguard Worker     usecs               : count     distribution
471*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 593      |****************************            |
472*387f9dfdSAndroid Build Coastguard Worker         2 -> 3          : 829      |****************************************|
473*387f9dfdSAndroid Build Coastguard Worker         4 -> 7          : 300      |**************                          |
474*387f9dfdSAndroid Build Coastguard Worker         8 -> 15         : 321      |***************                         |
475*387f9dfdSAndroid Build Coastguard Worker        16 -> 31         : 132      |******                                  |
476*387f9dfdSAndroid Build Coastguard Worker        32 -> 63         : 58       |**                                      |
477*387f9dfdSAndroid Build Coastguard Worker        64 -> 127        : 0        |                                        |
478*387f9dfdSAndroid Build Coastguard Worker       128 -> 255        : 0        |                                        |
479*387f9dfdSAndroid Build Coastguard Worker       256 -> 511        : 13       |                                        |
480*387f9dfdSAndroid Build Coastguard Worker
481*387f9dfdSAndroid Build Coastguard Workertid = 7
482*387f9dfdSAndroid Build Coastguard Worker     usecs               : count     distribution
483*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 8        |********                                |
484*387f9dfdSAndroid Build Coastguard Worker         2 -> 3          : 19       |********************                    |
485*387f9dfdSAndroid Build Coastguard Worker         4 -> 7          : 37       |****************************************|
486*387f9dfdSAndroid Build Coastguard Worker[...]
487*387f9dfdSAndroid Build Coastguard Worker
488*387f9dfdSAndroid Build Coastguard Worker
489*387f9dfdSAndroid Build Coastguard WorkerAnd a --pidnss option (short for PID namespaces)  will print for each PID
490*387f9dfdSAndroid Build Coastguard Workernamespace, for analyzing container performance:
491*387f9dfdSAndroid Build Coastguard Worker
492*387f9dfdSAndroid Build Coastguard Worker# ./runqlat --pidnss -m
493*387f9dfdSAndroid Build Coastguard WorkerTracing run queue latency... Hit Ctrl-C to end.
494*387f9dfdSAndroid Build Coastguard Worker^C
495*387f9dfdSAndroid Build Coastguard Worker
496*387f9dfdSAndroid Build Coastguard Workerpidns = 4026532870
497*387f9dfdSAndroid Build Coastguard Worker     msecs               : count     distribution
498*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 40       |****************************************|
499*387f9dfdSAndroid Build Coastguard Worker         2 -> 3          : 1        |*                                       |
500*387f9dfdSAndroid Build Coastguard Worker         4 -> 7          : 0        |                                        |
501*387f9dfdSAndroid Build Coastguard Worker         8 -> 15         : 0        |                                        |
502*387f9dfdSAndroid Build Coastguard Worker        16 -> 31         : 0        |                                        |
503*387f9dfdSAndroid Build Coastguard Worker        32 -> 63         : 2        |**                                      |
504*387f9dfdSAndroid Build Coastguard Worker        64 -> 127        : 5        |*****                                   |
505*387f9dfdSAndroid Build Coastguard Worker
506*387f9dfdSAndroid Build Coastguard Workerpidns = 4026532809
507*387f9dfdSAndroid Build Coastguard Worker     msecs               : count     distribution
508*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 67       |****************************************|
509*387f9dfdSAndroid Build Coastguard Worker
510*387f9dfdSAndroid Build Coastguard Workerpidns = 4026532748
511*387f9dfdSAndroid Build Coastguard Worker     msecs               : count     distribution
512*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 63       |****************************************|
513*387f9dfdSAndroid Build Coastguard Worker
514*387f9dfdSAndroid Build Coastguard Workerpidns = 4026532687
515*387f9dfdSAndroid Build Coastguard Worker     msecs               : count     distribution
516*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 7        |****************************************|
517*387f9dfdSAndroid Build Coastguard Worker
518*387f9dfdSAndroid Build Coastguard Workerpidns = 4026532626
519*387f9dfdSAndroid Build Coastguard Worker     msecs               : count     distribution
520*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 45       |****************************************|
521*387f9dfdSAndroid Build Coastguard Worker         2 -> 3          : 0        |                                        |
522*387f9dfdSAndroid Build Coastguard Worker         4 -> 7          : 0        |                                        |
523*387f9dfdSAndroid Build Coastguard Worker         8 -> 15         : 0        |                                        |
524*387f9dfdSAndroid Build Coastguard Worker        16 -> 31         : 0        |                                        |
525*387f9dfdSAndroid Build Coastguard Worker        32 -> 63         : 0        |                                        |
526*387f9dfdSAndroid Build Coastguard Worker        64 -> 127        : 3        |**                                      |
527*387f9dfdSAndroid Build Coastguard Worker
528*387f9dfdSAndroid Build Coastguard Workerpidns = 4026531836
529*387f9dfdSAndroid Build Coastguard Worker     msecs               : count     distribution
530*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 314      |****************************************|
531*387f9dfdSAndroid Build Coastguard Worker         2 -> 3          : 1        |                                        |
532*387f9dfdSAndroid Build Coastguard Worker         4 -> 7          : 11       |*                                       |
533*387f9dfdSAndroid Build Coastguard Worker         8 -> 15         : 28       |***                                     |
534*387f9dfdSAndroid Build Coastguard Worker        16 -> 31         : 137      |*****************                       |
535*387f9dfdSAndroid Build Coastguard Worker        32 -> 63         : 86       |**********                              |
536*387f9dfdSAndroid Build Coastguard Worker        64 -> 127        : 1        |                                        |
537*387f9dfdSAndroid Build Coastguard Worker
538*387f9dfdSAndroid Build Coastguard Workerpidns = 4026532382
539*387f9dfdSAndroid Build Coastguard Worker     msecs               : count     distribution
540*387f9dfdSAndroid Build Coastguard Worker         0 -> 1          : 285      |****************************************|
541*387f9dfdSAndroid Build Coastguard Worker         2 -> 3          : 5        |                                        |
542*387f9dfdSAndroid Build Coastguard Worker         4 -> 7          : 16       |**                                      |
543*387f9dfdSAndroid Build Coastguard Worker         8 -> 15         : 9        |*                                       |
544*387f9dfdSAndroid Build Coastguard Worker        16 -> 31         : 69       |*********                               |
545*387f9dfdSAndroid Build Coastguard Worker        32 -> 63         : 25       |***                                     |
546*387f9dfdSAndroid Build Coastguard Worker
547*387f9dfdSAndroid Build Coastguard WorkerMany of these distributions have two modes: the second, in this case, is
548*387f9dfdSAndroid Build Coastguard Workercaused by capping CPU usage via CPU shares.
549*387f9dfdSAndroid Build Coastguard Worker
550*387f9dfdSAndroid Build Coastguard Worker
551*387f9dfdSAndroid Build Coastguard WorkerUSAGE message:
552*387f9dfdSAndroid Build Coastguard Worker
553*387f9dfdSAndroid Build Coastguard Worker# ./runqlat -h
554*387f9dfdSAndroid Build Coastguard Workerusage: runqlat.py [-h] [-T] [-m] [-P] [--pidnss] [-L] [-p PID]
555*387f9dfdSAndroid Build Coastguard Worker                  [interval] [count]
556*387f9dfdSAndroid Build Coastguard Worker
557*387f9dfdSAndroid Build Coastguard WorkerSummarize run queue (scheduler) latency as a histogram
558*387f9dfdSAndroid Build Coastguard Worker
559*387f9dfdSAndroid Build Coastguard Workerpositional arguments:
560*387f9dfdSAndroid Build Coastguard Worker  interval            output interval, in seconds
561*387f9dfdSAndroid Build Coastguard Worker  count               number of outputs
562*387f9dfdSAndroid Build Coastguard Worker
563*387f9dfdSAndroid Build Coastguard Workeroptional arguments:
564*387f9dfdSAndroid Build Coastguard Worker  -h, --help          show this help message and exit
565*387f9dfdSAndroid Build Coastguard Worker  -T, --timestamp     include timestamp on output
566*387f9dfdSAndroid Build Coastguard Worker  -m, --milliseconds  millisecond histogram
567*387f9dfdSAndroid Build Coastguard Worker  -P, --pids          print a histogram per process ID
568*387f9dfdSAndroid Build Coastguard Worker  --pidnss            print a histogram per PID namespace
569*387f9dfdSAndroid Build Coastguard Worker  -L, --tids          print a histogram per thread ID
570*387f9dfdSAndroid Build Coastguard Worker  -p PID, --pid PID   trace this PID only
571*387f9dfdSAndroid Build Coastguard Worker
572*387f9dfdSAndroid Build Coastguard Workerexamples:
573*387f9dfdSAndroid Build Coastguard Worker    ./runqlat            # summarize run queue latency as a histogram
574*387f9dfdSAndroid Build Coastguard Worker    ./runqlat 1 10       # print 1 second summaries, 10 times
575*387f9dfdSAndroid Build Coastguard Worker    ./runqlat -mT 1      # 1s summaries, milliseconds, and timestamps
576*387f9dfdSAndroid Build Coastguard Worker    ./runqlat -P         # show each PID separately
577*387f9dfdSAndroid Build Coastguard Worker    ./runqlat -p 185     # trace PID 185 only
578