Could you please share a sample dtrace script that I can use?DTrace can do that for you.
dtrace -n 'fbt::ktrsyscall:entry { stack(); }'That's all you need. What else do you need to look at?Could you please share a sample dtrace script that I can use?
dtrace -n 'fbt::ktrsyscall:entry { stack(); }'
I have found this one. Is it good enough or can be enhanced?
dtrace -n 'sdt:::l4sums /args[0] != args[1]/ { printf("%d %d\n",args[0],args[1]); }' \
-n 'sdt:::l4sums1 /args[0] != args[1]/ { printf("%d %d\n",args[0],args[1]); }' \
-n 'sdt:::l4sums2 /args[0] != args[1]/ { printf("%d %d\n",args[0],args[1]); }' \
-n 'sdt:::l4sums3 /args[0] != args[1]/ { printf("%d %d\n",args[0],args[1]); }' \
-n 'sdt:::l4sums4 /args[0] != args[1]/ { printf("%d %d\n",args[0],args[1]); }' \
-n 'sdt:::l4sums5 /args[0] != args[1]/ { printf("%d %d\n",args[0],args[1]); }' \
-n 'sdt:::l4sums6 /args[0] != args[1]/ { printf("%d %d\n",args[0],args[1]); }' \
-n 'sdt:::l4sums7 /args[0] != args[1]/ { printf("%d %d\n",args[0],args[1]); }' \
-n 'sdt:::l4sums8 /args[0] != args[1]/ { printf("%d %d\n",args[0],args[1]); }' \
-n 'sdt:::l4sums9 /args[0] != args[1]/ { printf("%d %d\n",args[0],args[1]); }'
#!/usr/sbin/dtrace -s
dtrace:::BEGIN {
in_checkin=0;
mycount=0;
}
fbt::ipf_nat_checkin:entry /args[0]->fin_ifp->if_xname == "fxp0"/ {
/* stack(); */
printf("%s\n", args[0]->fin_ifp->if_xname); */
print(args[0]->fin_fi); */
printf("\n");
/* print(args[0]->fin_dat); */
/*printf("\n"); */
in_checkin=1;
}
fbt::ipf_nat_checkin:return /in_checkin/ {
print(arg1);
in_checkin=0;
mycount++;
}
fbt::ipf_nat_inlookup:entry /in_checkin/ {
}
fbt::ipf_nat_inlookup:return /in_checkin/ {
print(arg1);
}
fbt::ipf_nat_in:entry /in_checkin/ {
}
fbt::ipf_nat_in:return /in_checkin/ {
print(arg1);
}
fbt::ipf_nat_update:entry /in_checkin/ {
}
sdt:::frb_natv4in /in_checkin/ {
print(arg1);
/* print(*args[0]); */
}
fbt::ipf_p_ftp_port:entry /in_checkin/ {
}
fbt::ipf_p_ftp_addport:entry /in_checkin/ {
}
fbt::ipf_p_ftp_addport:return /in_checkin/ {
print(arg1);
}
dtrace:::END {
in_checkin=0;
}
proc:::exit /mycount > 1/ {
exit(0);
}