Brendan Gregg | 48fbc3e | 2015-08-18 14:56:14 -0700 | [diff] [blame] | 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]] |