003 File Manager
Current Path:
/usr/src/sys/contrib/openzfs/contrib/bpftrace
usr
/
src
/
sys
/
contrib
/
openzfs
/
contrib
/
bpftrace
/
📁
..
📄
Makefile.am
(48 B)
📄
taskqlatency.bt
(1.24 KB)
📄
zfs-trace.sh
(227 B)
Editing: taskqlatency.bt
#include <sys/taskq.h> kprobe:trace_zfs_taskq_ent__birth { $tqent = (struct taskq_ent *)arg0; $tqent_id = $tqent->tqent_id; $tq_name = str($tqent->tqent_taskq->tq_name); @birth[$tq_name, $tqent_id] = nsecs; } kprobe:trace_zfs_taskq_ent__start { $tqent = (struct taskq_ent *)arg0; @tqent_id[tid] = $tqent->tqent_id; @tq_name[tid] = str($tqent->tqent_taskq->tq_name); @start[@tq_name[tid], @tqent_id[tid]] = nsecs; } kprobe:trace_zfs_taskq_ent__start / @birth[@tq_name[tid], @tqent_id[tid]] / { @queue_lat_us[@tq_name[tid]] = hist((nsecs - @birth[@tq_name[tid], @tqent_id[tid]])/1000); delete(@birth[@tq_name[tid], @tqent_id[tid]]); } kprobe:trace_zfs_taskq_ent__finish / @start[@tq_name[tid], @tqent_id[tid]] / { $tqent = (struct taskq_ent *)arg0; @exec_lat_us[@tq_name[tid], ksym($tqent->tqent_func)] = hist((nsecs - @start[@tq_name[tid], @tqent_id[tid]])/1000); delete(@start[@tq_name[tid], @tqent_id[tid]]); } kprobe:trace_zfs_taskq_ent__finish { delete(@tq_name[tid]); delete(@tqent_id[tid]); } END { clear(@birth); clear(@start); clear(@tq_name); clear(@tqent_id); }
Upload File
Create Folder