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 功能一起使用。