1 Demonstrations of vfsreadlat.py, the Linux eBPF/bcc version. 2 3 4 This example traces the latency of vfs_read (time from call to return), printing 5 it as a histogram distribution. By default, output is every five seconds: 6 7 # ./vfsreadlat.py 8 Tracing... 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 54 These examples show outliers in the 524 - 1048 milliseconds range. Since 55 vfs_read() will catch many types of events, this could be anything including 56 keystroke latency on ssh sessions. Further drilling with bcc will be necessary 57 to identify more details. 58 59 60 Full usage: 61 62 # ./vfsreadlat.py -h 63 USAGE: ./vfsreadlat.py [interval [count]] 64