DTrace 是一个始终可用、开销低的跟踪框架,可在许多平台上使用,包括 Solaris、macOS、Oracle Linux 和 BSD。DTrace 可以跟踪操作系统行为和用户程序执行。它可以显示参数值,并可用于推断性能统计信息。探针由用户使用 DTrace D 脚本语言编写的脚本监控。这允许对数据点进行有效的分析。
如果用户的 DTrace D 脚本没有主动监控 PHP 探针,则探针不包含检测代码,因此在正常应用程序执行期间不会降低性能。正在监控的探针产生的开销非常低,通常允许在实时生产系统上进行 DTrace 监控。
PHP 集成了在运行时触发的“用户级静态定义跟踪”(USDT)探针。例如,当 D 脚本正在监控 PHP 的 function-entry
探针时,每次调用 PHP 脚本函数时,都会触发此探针并执行关联的 D 脚本操作代码。例如,此操作代码可以打印探针参数,例如 PHP 函数的源文件位置。或者操作可以聚合数据,例如每个函数被调用的次数。
此处仅描述 PHP USDT 探针。请参阅外部通用和特定于操作系统的 DTrace 文档,以了解如何使用 DTrace 跟踪任意函数以及如何使用它跟踪操作系统行为。请注意,并非所有 DTrace 功能在所有 DTrace 实现中都可用。
PHP 中的静态 DTrace 探针也可以与某些 Linux 发行版上的 SystemTap 工具一起使用。