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 實作。
在某些 Linux 發行版上,PHP 中的靜態 DTrace 探針也可以與 SystemTap 工具搭配使用。