1*387f9dfdSAndroid Build Coastguard WorkerDemonstrations of biopattern, the Linux eBPF/bcc version. 2*387f9dfdSAndroid Build Coastguard Worker 3*387f9dfdSAndroid Build Coastguard Worker 4*387f9dfdSAndroid Build Coastguard Workerbiopattern identifies random/sequential disk access patterns. Example: 5*387f9dfdSAndroid Build Coastguard Worker 6*387f9dfdSAndroid Build Coastguard Worker# ./biopattern.py 7*387f9dfdSAndroid Build Coastguard WorkerTIME DISK %RND %SEQ COUNT KBYTES 8*387f9dfdSAndroid Build Coastguard Worker22:03:51 vdb 0 99 788 3184 9*387f9dfdSAndroid Build Coastguard Worker22:03:51 Unknown 0 100 4 0 10*387f9dfdSAndroid Build Coastguard Worker22:03:51 vda 85 14 21 488 11*387f9dfdSAndroid Build Coastguard Worker[...] 12*387f9dfdSAndroid Build Coastguard Worker 13*387f9dfdSAndroid Build Coastguard Worker 14*387f9dfdSAndroid Build Coastguard WorkerThe -d option only print the matched disk. 15*387f9dfdSAndroid Build Coastguard Worker 16*387f9dfdSAndroid Build Coastguard Worker# ./biopattern.py -d vdb 1 10 17*387f9dfdSAndroid Build Coastguard WorkerTIME DISK %RND %SEQ COUNT KBYTES 18*387f9dfdSAndroid Build Coastguard Worker22:12:57 vdb 0 99 193 772 19*387f9dfdSAndroid Build Coastguard Worker22:12:58 vdb 0 100 1119 4476 20*387f9dfdSAndroid Build Coastguard Worker22:12:59 vdb 0 100 1126 4504 21*387f9dfdSAndroid Build Coastguard Worker22:13:00 vdb 0 100 1009 4036 22*387f9dfdSAndroid Build Coastguard Worker22:13:01 vdb 0 100 958 3832 23*387f9dfdSAndroid Build Coastguard Worker22:13:02 vdb 0 99 957 3856 24*387f9dfdSAndroid Build Coastguard Worker22:13:03 vdb 0 100 1130 4520 25*387f9dfdSAndroid Build Coastguard Worker22:13:04 vdb 0 100 1051 4204 26*387f9dfdSAndroid Build Coastguard Worker22:13:05 vdb 0 100 1158 4632 27*387f9dfdSAndroid Build Coastguard Worker[...] 28*387f9dfdSAndroid Build Coastguard Worker 29*387f9dfdSAndroid Build Coastguard Worker 30*387f9dfdSAndroid Build Coastguard WorkerUSAGE message: 31*387f9dfdSAndroid Build Coastguard Worker 32*387f9dfdSAndroid Build Coastguard WorkerShow block device I/O pattern. 33*387f9dfdSAndroid Build Coastguard Worker 34*387f9dfdSAndroid Build Coastguard Workerpositional arguments: 35*387f9dfdSAndroid Build Coastguard Worker interval Output interval in seconds 36*387f9dfdSAndroid Build Coastguard Worker count Number of outputs 37*387f9dfdSAndroid Build Coastguard Worker 38*387f9dfdSAndroid Build Coastguard Workeroptional arguments: 39*387f9dfdSAndroid Build Coastguard Worker -h, --help show this help message and exit 40*387f9dfdSAndroid Build Coastguard Worker -d DISK, --disk DISK Trace this disk only 41*387f9dfdSAndroid Build Coastguard Worker 42*387f9dfdSAndroid Build Coastguard Workerexamples: 43*387f9dfdSAndroid Build Coastguard Worker ./biopattern # show block device I/O pattern. 44*387f9dfdSAndroid Build Coastguard Worker ./biopattern 1 10 # print 1 second summaries, 10 times 45*387f9dfdSAndroid Build Coastguard Worker ./biopattern -d sdb # show sdb only 46