1*387f9dfdSAndroid Build Coastguard WorkerDemonstrations of bitehist.py, the Linux eBPF/bcc version. 2*387f9dfdSAndroid Build Coastguard Worker 3*387f9dfdSAndroid Build Coastguard WorkerThis prints a power-of-2 histogram to show the block I/O size distribution. 4*387f9dfdSAndroid Build Coastguard WorkerA summary is printed after Ctrl-C is hit. 5*387f9dfdSAndroid Build Coastguard Worker 6*387f9dfdSAndroid Build Coastguard Worker# ./bitehist.py 7*387f9dfdSAndroid Build Coastguard WorkerTracing... Hit Ctrl-C to end. 8*387f9dfdSAndroid Build Coastguard Worker^C 9*387f9dfdSAndroid Build Coastguard Worker kbytes : count distribution 10*387f9dfdSAndroid Build Coastguard Worker 0 -> 1 : 3 | | 11*387f9dfdSAndroid Build Coastguard Worker 2 -> 3 : 0 | | 12*387f9dfdSAndroid Build Coastguard Worker 4 -> 7 : 211 |********** | 13*387f9dfdSAndroid Build Coastguard Worker 8 -> 15 : 0 | | 14*387f9dfdSAndroid Build Coastguard Worker 16 -> 31 : 0 | | 15*387f9dfdSAndroid Build Coastguard Worker 32 -> 63 : 0 | | 16*387f9dfdSAndroid Build Coastguard Worker 64 -> 127 : 1 | | 17*387f9dfdSAndroid Build Coastguard Worker 128 -> 255 : 800 |**************************************| 18*387f9dfdSAndroid Build Coastguard Worker 19*387f9dfdSAndroid Build Coastguard WorkerThis output shows a bimodal distribution. The largest mod of 800 I/O were 20*387f9dfdSAndroid Build Coastguard Workerbetween 128 and 255 Kbytes in size, and another mode of 211 I/O were between 21*387f9dfdSAndroid Build Coastguard Worker4 and 7 Kbytes in size. 22*387f9dfdSAndroid Build Coastguard Worker 23*387f9dfdSAndroid Build Coastguard WorkerUnderstanding this distribution is useful for characterizing workloads and 24*387f9dfdSAndroid Build Coastguard Workerunderstanding performance. The existence of this distribution is not visible 25*387f9dfdSAndroid Build Coastguard Workerfrom averages alone. 26