xref: /aosp_15_r20/external/bcc/tools/lib/ustat_example.txt (revision 387f9dfdfa2baef462e92476d413c7bc2470293e)
1*387f9dfdSAndroid Build Coastguard WorkerDemonstrations of ustat.
2*387f9dfdSAndroid Build Coastguard Worker
3*387f9dfdSAndroid Build Coastguard Worker
4*387f9dfdSAndroid Build Coastguard Workerustat is a "top"-like tool for monitoring events in high-level languages. It
5*387f9dfdSAndroid Build Coastguard Workerprints statistics about garbage collections, method calls, object allocations,
6*387f9dfdSAndroid Build Coastguard Workerand various other events for every process that it recognizes with a Java,
7*387f9dfdSAndroid Build Coastguard WorkerNode, Perl, PHP, Python, Ruby, and Tcl runtime.
8*387f9dfdSAndroid Build Coastguard Worker
9*387f9dfdSAndroid Build Coastguard WorkerFor example:
10*387f9dfdSAndroid Build Coastguard Worker
11*387f9dfdSAndroid Build Coastguard Worker# ./ustat.py
12*387f9dfdSAndroid Build Coastguard WorkerTracing... Output every 10 secs. Hit Ctrl-C to end
13*387f9dfdSAndroid Build Coastguard Worker12:17:17 loadavg: 0.33 0.08 0.02 5/211 26284
14*387f9dfdSAndroid Build Coastguard Worker
15*387f9dfdSAndroid Build Coastguard WorkerPID    CMDLINE              METHOD/s   GC/s   OBJNEW/s   CLOAD/s  EXC/s  THR/s
16*387f9dfdSAndroid Build Coastguard Worker3018   node/node            0          3      0          0        0      0
17*387f9dfdSAndroid Build Coastguard Worker^C
18*387f9dfdSAndroid Build Coastguard WorkerDetaching...
19*387f9dfdSAndroid Build Coastguard Worker
20*387f9dfdSAndroid Build Coastguard Worker
21*387f9dfdSAndroid Build Coastguard WorkerIf desired, you can instruct ustat to print a certain number of entries and
22*387f9dfdSAndroid Build Coastguard Workerexit, which can be useful to get a quick picture on what's happening on the
23*387f9dfdSAndroid Build Coastguard Workersystem over a short time interval. Here, we ask ustat to print 5-second
24*387f9dfdSAndroid Build Coastguard Workersummaries 12 times (for a total time of 1 minute):
25*387f9dfdSAndroid Build Coastguard Worker
26*387f9dfdSAndroid Build Coastguard Worker# ./ustat.py -C 5 12
27*387f9dfdSAndroid Build Coastguard WorkerTracing... Output every 5 secs. Hit Ctrl-C to end
28*387f9dfdSAndroid Build Coastguard Worker12:18:26 loadavg: 0.27 0.11 0.04 2/336 26455
29*387f9dfdSAndroid Build Coastguard Worker
30*387f9dfdSAndroid Build Coastguard WorkerPID    CMDLINE              METHOD/s   GC/s   OBJNEW/s   CLOAD/s  EXC/s  THR/s
31*387f9dfdSAndroid Build Coastguard Worker3018   node/node            0          1      0          0        0      0
32*387f9dfdSAndroid Build Coastguard Worker
33*387f9dfdSAndroid Build Coastguard Worker12:18:31 loadavg: 0.33 0.12 0.04 2/336 26456
34*387f9dfdSAndroid Build Coastguard Worker
35*387f9dfdSAndroid Build Coastguard WorkerPID    CMDLINE              METHOD/s   GC/s   OBJNEW/s   CLOAD/s  EXC/s  THR/s
36*387f9dfdSAndroid Build Coastguard Worker3018   node/node            0          0      0          0        0      0
37*387f9dfdSAndroid Build Coastguard Worker26439  java -XX:+ExtendedDT 2776045    0      0          0        0      0
38*387f9dfdSAndroid Build Coastguard Worker
39*387f9dfdSAndroid Build Coastguard Worker12:18:37 loadavg: 0.38 0.14 0.05 2/336 26457
40*387f9dfdSAndroid Build Coastguard Worker
41*387f9dfdSAndroid Build Coastguard WorkerPID    CMDLINE              METHOD/s   GC/s   OBJNEW/s   CLOAD/s  EXC/s  THR/s
42*387f9dfdSAndroid Build Coastguard Worker3018   node/node            0          0      0          0        0      0
43*387f9dfdSAndroid Build Coastguard Worker26439  java -XX:+ExtendedDT 2804378    0      0          0        0      0
44*387f9dfdSAndroid Build Coastguard Worker
45*387f9dfdSAndroid Build Coastguard Worker(...more output omitted for brevity)
46*387f9dfdSAndroid Build Coastguard Worker
47*387f9dfdSAndroid Build Coastguard Worker
48*387f9dfdSAndroid Build Coastguard WorkerUSAGE message:
49*387f9dfdSAndroid Build Coastguard Worker
50*387f9dfdSAndroid Build Coastguard Worker# ./ustat.py -h
51*387f9dfdSAndroid Build Coastguard Workerusage: ustat.py [-h] [-l {java,node,perl,php,python,ruby,tcl}] [-C]
52*387f9dfdSAndroid Build Coastguard Worker                [-S {cload,excp,gc,method,objnew,thread}] [-r MAXROWS] [-d]
53*387f9dfdSAndroid Build Coastguard Worker                [interval] [count]
54*387f9dfdSAndroid Build Coastguard Worker
55*387f9dfdSAndroid Build Coastguard WorkerActivity stats from high-level languages.
56*387f9dfdSAndroid Build Coastguard Worker
57*387f9dfdSAndroid Build Coastguard Workerpositional arguments:
58*387f9dfdSAndroid Build Coastguard Worker  interval              output interval, in seconds
59*387f9dfdSAndroid Build Coastguard Worker  count                 number of outputs
60*387f9dfdSAndroid Build Coastguard Worker
61*387f9dfdSAndroid Build Coastguard Workeroptional arguments:
62*387f9dfdSAndroid Build Coastguard Worker  -h, --help            show this help message and exit
63*387f9dfdSAndroid Build Coastguard Worker  -l {java,node,perl,php,python,ruby,tcl}, --language {java,node,perl,php,python,ruby,tcl}
64*387f9dfdSAndroid Build Coastguard Worker                        language to trace (default: all languages)
65*387f9dfdSAndroid Build Coastguard Worker  -C, --noclear         don't clear the screen
66*387f9dfdSAndroid Build Coastguard Worker  -S {cload,excp,gc,method,objnew,thread}, --sort {cload,excp,gc,method,objnew,thread}
67*387f9dfdSAndroid Build Coastguard Worker                        sort by this field (descending order)
68*387f9dfdSAndroid Build Coastguard Worker  -r MAXROWS, --maxrows MAXROWS
69*387f9dfdSAndroid Build Coastguard Worker                        maximum rows to print, default 20
70*387f9dfdSAndroid Build Coastguard Worker  -d, --debug           Print the resulting BPF program (for debugging
71*387f9dfdSAndroid Build Coastguard Worker                        purposes)
72*387f9dfdSAndroid Build Coastguard Worker
73*387f9dfdSAndroid Build Coastguard Workerexamples:
74*387f9dfdSAndroid Build Coastguard Worker  ./ustat              # stats for all languages, 1 second refresh
75*387f9dfdSAndroid Build Coastguard Worker  ./ustat -C           # don't clear the screen
76*387f9dfdSAndroid Build Coastguard Worker  ./ustat -l java      # Java processes only
77*387f9dfdSAndroid Build Coastguard Worker  ./ustat 5            # 5 second summaries
78*387f9dfdSAndroid Build Coastguard Worker  ./ustat 5 10         # 5 second summaries, 10 times only
79