• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Demonstrations of vfsreadlat.py, the Linux eBPF/bcc version.
2
3
4This example traces the latency of vfs_read (time from call to return), printing
5it as a histogram distribution. By default, output is every five seconds:
6
7# ./vfsreadlat.py
8Tracing... Hit Ctrl-C to end.
9
10     usecs           : count     distribution
11       0 -> 1        : 4457     |*************************************+|
12       2 -> 3        : 447      |***                                   |
13       4 -> 7        : 2059     |*****************                     |
14       8 -> 15       : 1179     |**********                            |
15      16 -> 31       : 63       |                                      |
16      32 -> 63       : 0        |                                      |
17      64 -> 127      : 2        |                                      |
18     128 -> 255      : 0        |                                      |
19     256 -> 511      : 3        |                                      |
20     512 -> 1023     : 1        |                                      |
21    1024 -> 2047     : 3        |                                      |
22    2048 -> 4095     : 2        |                                      |
23    4096 -> 8191     : 0        |                                      |
24    8192 -> 16383    : 0        |                                      |
25   16384 -> 32767    : 0        |                                      |
26   32768 -> 65535    : 0        |                                      |
27   65536 -> 131071   : 4        |                                      |
28  131072 -> 262143   : 2        |                                      |
29  262144 -> 524287   : 0        |                                      |
30  524288 -> 1048575  : 4        |                                      |
31^C
32     usecs           : count     distribution
33       0 -> 1        : 241      |*************************************+|
34       2 -> 3        : 17       |**                                    |
35       4 -> 7        : 2        |                                      |
36       8 -> 15       : 4        |                                      |
37      16 -> 31       : 2        |                                      |
38      32 -> 63       : 0        |                                      |
39      64 -> 127      : 1        |                                      |
40     128 -> 255      : 0        |                                      |
41     256 -> 511      : 1        |                                      |
42     512 -> 1023     : 1        |                                      |
43    1024 -> 2047     : 0        |                                      |
44    2048 -> 4095     : 1        |                                      |
45    4096 -> 8191     : 0        |                                      |
46    8192 -> 16383    : 0        |                                      |
47   16384 -> 32767    : 0        |                                      |
48   32768 -> 65535    : 0        |                                      |
49   65536 -> 131071   : 0        |                                      |
50  131072 -> 262143   : 0        |                                      |
51  262144 -> 524287   : 0        |                                      |
52  524288 -> 1048575  : 1        |                                      |
53
54These examples show outliers in the 524 - 1048 milliseconds range. Since
55vfs_read() will catch many types of events, this could be anything including
56keystroke latency on ssh sessions. Further drilling with bcc will be necessary
57to identify more details.
58
59
60Full usage:
61
62# ./vfsreadlat.py -h
63USAGE: ./vfsreadlat.py [interval [count]]
64