3. 工作细节

SystemTap允许用户仅需编写和重用简单的脚本即可获取Linux繁多的运行数据。通过SystemTap脚本,你可以又好又快地提取数据、过滤数据、汇总数据。诊断复杂的性能问题(或功能问题)再也不是难事。

整个SystemTap脚本所做的,无非就是声明感兴趣的事件,然后添加对应的处理程序。当SystemTap脚本运行时,SystemTap会监控声明的事件;一旦事件发生,Linux内核会临时切换到对应的处理程序,完成后再重拾原先的工作。

可供监控的事件种类繁多:进入/退出某个函数,定时器到期,会话终止,等等。处理程序由一组SystemTap语句构成,指明事件发生后要做的工作。其中包括从事件上下文中提取数据,存储到内部变量中,输出结果。