Server IP : 15.235.198.142 / Your IP : 216.73.216.122 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ballsack 6.8.0-45-generic #45-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 30 12:02:04 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /usr/sbin/ |
Upload File : |
#!/usr/bin/env bpftrace /* * biosnoop.bt Block I/O tracing tool, showing per I/O latency. * For Linux, uses bpftrace, eBPF. * * TODO: switch to block tracepoints. Add offset and size columns. * * This is a bpftrace version of the bcc tool of the same name. * * 15-Nov-2017 Brendan Gregg Created this. */ #ifndef BPFTRACE_HAVE_BTF #include <linux/blkdev.h> #include <linux/blk-mq.h> #endif BEGIN { printf("%-12s %-7s %-16s %-6s %7s\n", "TIME(ms)", "DISK", "COMM", "PID", "LAT(ms)"); } kprobe:blk_account_io_start, kprobe:__blk_account_io_start { @start[arg0] = nsecs; @iopid[arg0] = pid; @iocomm[arg0] = comm; @disk[arg0] = ((struct request *)arg0)->q->disk->disk_name; } kprobe:blk_account_io_done, kprobe:__blk_account_io_done /@start[arg0] != 0 && @iopid[arg0] != 0 && @iocomm[arg0] != ""/ { $now = nsecs; printf("%-12u %-7s %-16s %-6d %7d\n", elapsed / 1e6, @disk[arg0], @iocomm[arg0], @iopid[arg0], ($now - @start[arg0]) / 1e6); delete(@start[arg0]); delete(@iopid[arg0]); delete(@iocomm[arg0]); delete(@disk[arg0]); } END { clear(@start); clear(@iopid); clear(@iocomm); clear(@disk); }