跟踪收集每一个事件的数据供分析。跟踪框架当需要才开启,因为跟踪捕获数据会有CPU开销,另外需要存储空间。只是就是观察者成本。
系统级别 利用内核的跟踪工具进行收集
--tcpdump:网络包跟踪
--snoop:基于Solaris的系统网络包跟踪
--blktrace:块I/O跟踪
--iosnoop:块I/O跟踪(基于DTrace)
--execsnoop:跟踪新进程(基于DTrace)
--dtruss:系统调用缓冲跟踪(基于DTrace)
--Dtrace/SystemTap:跟踪内核的内部活动和所有资源的使用情况,支持静态及动态跟踪
--perf:linux性能事件,跟踪静态和动态的探针
进程级别 以进程为导向
--strace:基于Linux系统的系统调用跟踪
--truss:基于Solaris的系统调用跟踪
--gdb:源代码调试器
--mdb:基于Solaris的具有可扩展性的调试器