DTrace(全稱Dynamic Tracing),也稱為動態跟蹤,是由 Sun™ 開發的一個用來在生產和試驗性生產系統上找出系統瓶頸的工具,可以對核心(kernel)和用戶應用程式(user application)進行動態跟蹤並且對系統運行不構成任何危險的技術。在任何情況下它都不是一個調試工具, 而是一個實時系統分析尋找出性能及其他問題的工具。 DTrace 是個特別好的分析工具,帶有大量的幫助診斷系統問題的特性。還可以使用預先寫好的腳本利用它的功能。 用戶也可以通過使用 DTrace D 語言創建他們自己定製的分析工具, 以滿足特定的需求。
基本介紹
- 中文名:DTrace
- 外文名:無
- 產生:函式調用的執行緒
- 供職於:Sun
簡介,特性,作業系統,
簡介
1997年,供職於Sun而現已是Solaris核心研發部高級工程師的Bryan Cantrill 和他的工作組在緊張地研究一個性能問題,他出現在剛剛提及的Sun E10000伺服器。該伺服器在運行基準測試時,速度突然在一段時間內奇怪地降低。工作組經過六天夜以繼日的工作後,終於發現了問題的根本原因。某個“愚蠢之極”的配置錯誤將伺服器配置成了路由器。
“我很受震驚,”Cantrill 說到, “這是任何一個客戶都可能碰到的問題,但是他們可不敢奢望讓核心研發人員為之夜以繼日地工作,編寫自定義代碼以弄清楚問題。我們得找出一個更好的方法。” 經過兩年半的緊張研發,Cantrill和他的工作組終於研究出了這個更好的方法: Dtrace 。
特性
DTrace是過去十年中在作業系統方面最具意義的革新之一。Solaris中分散著30,000多的位置指針,也叫探測器probes,DTrace可激活成千上萬的探測器,記錄所關注的位置指定的數據,如命中,即可從該地址顯示用戶進程或系統核心的數據,從而了解系統,包括:
1。任何函式的參數
2。核心的任何全局變數
3。函式調用的時間(NS,十億分之一秒,無任何其他PC/Unix在ns一級精度)
5。函式調用時運行的進程
6。產生函式調用的執行緒
7。統計調用次數、磁碟占用等信息
Dtrace在追蹤之外,也支持對系統的採樣。
作業系統
除Solaris系列以外,Dtrace已先後被移植到FreeBSD、NetBSD及Mac OS X等作業系統上。