xref: /aosp_15_r20/external/bcc/tools/virtiostat_example.txt (revision 387f9dfdfa2baef462e92476d413c7bc2470293e)
1*387f9dfdSAndroid Build Coastguard WorkerDemonstrations of virtiostat, the Linux eBPF/bcc version.
2*387f9dfdSAndroid Build Coastguard Worker
3*387f9dfdSAndroid Build Coastguard Worker
4*387f9dfdSAndroid Build Coastguard WorkerThis program traces virtio devices to analyze the IO operations and
5*387f9dfdSAndroid Build Coastguard Workerthroughput. For example, guest side mounts a 9p fs, and we can't get
6*387f9dfdSAndroid Build Coastguard Workerio statistics by `iostat` command any more. In this scenario, we can
7*387f9dfdSAndroid Build Coastguard Workeronly get statistics from VIRTIO layer instead of block layer.
8*387f9dfdSAndroid Build Coastguard Worker
9*387f9dfdSAndroid Build Coastguard WorkerExample
10*387f9dfdSAndroid Build Coastguard Worker#./virtiostat -T
11*387f9dfdSAndroid Build Coastguard WorkerTracing virtio devices statistics ... Hit Ctrl-C to end.
12*387f9dfdSAndroid Build Coastguard Worker14:48:30
13*387f9dfdSAndroid Build Coastguard Worker        Driver   Device    VQ Name  In SGs Out SGs          In BW         Out BW
14*387f9dfdSAndroid Build Coastguard Worker    virtio_net  virtio0    input.0  260669       0      406743040              0
15*387f9dfdSAndroid Build Coastguard Worker    virtio_net  virtio0   output.0       0    9873              0         833344
16*387f9dfdSAndroid Build Coastguard Worker    virtio_blk  virtio4      req.0      28      46            448         278976
17*387f9dfdSAndroid Build Coastguard Worker  9pnet_virtio  virtio6   requests   99083   99354        1883687      137537263
18*387f9dfdSAndroid Build Coastguard Worker14:48:33
19*387f9dfdSAndroid Build Coastguard Worker        Driver   Device    VQ Name  In SGs Out SGs          In BW         Out BW
20*387f9dfdSAndroid Build Coastguard Worker    virtio_net  virtio0    input.0  260718       0      406819328              0
21*387f9dfdSAndroid Build Coastguard Worker    virtio_net  virtio0   output.0       0    7139              0         562355
22*387f9dfdSAndroid Build Coastguard Worker    virtio_blk  virtio4      req.0      11      18            176         110768
23*387f9dfdSAndroid Build Coastguard Worker  9pnet_virtio  virtio6   requests   91520   91141        1737364      125320785
24*387f9dfdSAndroid Build Coastguard Worker
25*387f9dfdSAndroid Build Coastguard Worker
26*387f9dfdSAndroid Build Coastguard WorkerShow virtio block devices only:
27*387f9dfdSAndroid Build Coastguard Worker#./virtiostat.py -d virtio_blk
28*387f9dfdSAndroid Build Coastguard WorkerTracing virtio devices statistics ... Hit Ctrl-C to end.
29*387f9dfdSAndroid Build Coastguard Worker--------
30*387f9dfdSAndroid Build Coastguard Worker        Driver   Device    VQ Name  In SGs Out SGs          In BW         Out BW
31*387f9dfdSAndroid Build Coastguard Worker    virtio_blk  virtio4      req.0       4       6              4          24640
32*387f9dfdSAndroid Build Coastguard Worker    virtio_blk  virtio5      req.0  678756  339378     1390431666        5430048
33*387f9dfdSAndroid Build Coastguard Worker
34*387f9dfdSAndroid Build Coastguard Worker
35*387f9dfdSAndroid Build Coastguard WorkerFull USAGE:
36*387f9dfdSAndroid Build Coastguard Worker
37*387f9dfdSAndroid Build Coastguard Worker#./virtiostat -h
38*387f9dfdSAndroid Build Coastguard Workerusage: virtiostat.py [-h] [-T] [-d DRIVER] [-n DEVNAME] [-D]
39*387f9dfdSAndroid Build Coastguard Worker                     [interval] [count]
40*387f9dfdSAndroid Build Coastguard Worker
41*387f9dfdSAndroid Build Coastguard WorkerShow virtio devices input/output statistics
42*387f9dfdSAndroid Build Coastguard Worker
43*387f9dfdSAndroid Build Coastguard Workerpositional arguments:
44*387f9dfdSAndroid Build Coastguard Worker  interval              output interval, in seconds
45*387f9dfdSAndroid Build Coastguard Worker  count                 number of outputs
46*387f9dfdSAndroid Build Coastguard Worker
47*387f9dfdSAndroid Build Coastguard Workeroptional arguments:
48*387f9dfdSAndroid Build Coastguard Worker  -h, --help            show this help message and exit
49*387f9dfdSAndroid Build Coastguard Worker  -T, --timestamp       show timestamp on output
50*387f9dfdSAndroid Build Coastguard Worker  -d DRIVER, --driver DRIVER
51*387f9dfdSAndroid Build Coastguard Worker                        filter for driver name
52*387f9dfdSAndroid Build Coastguard Worker  -n DEVNAME, --devname DEVNAME
53*387f9dfdSAndroid Build Coastguard Worker                        filter for device name
54*387f9dfdSAndroid Build Coastguard Worker  -D, --debug           print BPF program before starting (for debugging
55*387f9dfdSAndroid Build Coastguard Worker                        purposes)
56*387f9dfdSAndroid Build Coastguard Worker
57*387f9dfdSAndroid Build Coastguard Workerexamples:
58*387f9dfdSAndroid Build Coastguard Worker    ./virtiostat                 # print 3(default) second summaries
59*387f9dfdSAndroid Build Coastguard Worker    ./virtiostat  1  10          # print 1 second summaries, 10 times
60*387f9dfdSAndroid Build Coastguard Worker    ./virtiostat -T              # show timestamps
61*387f9dfdSAndroid Build Coastguard Worker    ./virtiostat -d virtio_blk   # only show virtio block devices
62*387f9dfdSAndroid Build Coastguard Worker    ./virtiostat -n virtio0      # only show virtio0 device
63*387f9dfdSAndroid Build Coastguard Worker    ./virtiostat -D              # show debug bpf text
64