magic-trace
dev-tools
最適合誰
在 Linux + Intel Skylake 以上 CPU 上做效能分析的系統程式設計師, 特別是需要追蹤偶發性慢請求或分析微秒級行為的場景。C/C++、Rust、OCaml 開發者能獲得最完整的體驗。
我實際怎麼用
無法使用。我的開發環境是 macOS + Apple Silicon, magic-trace 僅支援 Linux + Intel x86_64。即使在雲端, 大多數公有雲 VM 也不支援 Intel PT 功能。
真正強的地方
核心價值在於「全量記錄」而非「取樣統計」。~40ns 時間解析度讓你看到 70ns 函式內的完整呼叫樹, 這是 perf 或 Flame Graphs 做不到的。執行開銷僅 2%~10%, 因為追蹤由 CPU 硬體直接執行。stop indicator 機制讓你在程式碼中放一個空函式, 只有 magic-trace 附加時才有微秒級成本, 可安全留在生產環境。輸出的 Perfetto 時間軸完全在瀏覽器本地渲染, 無資料外洩風險。
失敗模式與不該用的情境
硬體限制是最大門檻: 僅支援 Intel Skylake+ CPU, 不支援 ARM 或 AMD。軟體限制: 僅 Linux, 不支援 Windows 或 macOS。追蹤窗僅 ~10ms, 無法用於長時間連續追蹤。例外(Exception)會破壞呼叫堆疊重建。Python 僅能追蹤 C 層呼叫。
價格、上手門檻與風險
免費(MIT)。上手門檻中等: 安裝簡單(單一二進位), 但理解 Intel PT 原理和正確解讀 Perfetto 時間軸需要一定背景。風險低, Jane Street 持續維護, 最新版 v1.2.4(2025-04)。
結論
填補了效能分析工具生態的重要空白, 在取樣統計和完整插樁之間提供了硬體加速的全量追蹤。但嚴格的硬體和平台限制讓它只適合特定的 Linux + Intel 環境。如果你的環境符合, 這是同類工具中的最佳選擇。