rspack-sftrace
使用 LLVM XRay 追蹤 Rspack Rust 函式呼叫,用於效能分析、故障排除及視覺化執行流程。
簡介
rspack-sftrace 提供了一套用於剖析 Rspack 打包器 Rust 核心的結構化方法。透過利用 LLVM XRay 插裝技術,此工具能擷取函式進入與退出點的詳細資訊,協助開發人員識別效能瓶頸、理解複雜的執行流程,並排除建置過程中的延遲問題。它專為 Rspack 貢獻者與在 monorepo 環境中工作的效能工程師而設計。
該工具提供了從二進位檔案插裝到視覺化分析的完整診斷管線。使用者可以產生過濾後的日誌以隔離特定函式符號,大幅降低大型建置中的干擾資訊。工作流程包含將原始日誌轉換為 Polars Dataframe 以進行統計分析,或轉換為 Perfetto 相容的 protobuf 格式以進行高精確度的視覺化追蹤。這能協助識別熱點路徑、遞迴函式開銷以及執行緒特定的執行模式。
-
透過 LLVM XRay 對 Rust 函式呼叫進行插裝,以獲得精確的計時數據。
-
進階過濾功能,支援使用正規表示式或列表匹配來鎖定特定函式符號。
-
支援將追蹤數據匯出至 Polars 進行程式化分析,包括按函式 ID 分組及計算執行時間。
-
將追蹤成品轉換為 Perfetto protobuf 格式,以整合至 VizTracer 等視覺化工具中。
-
支援執行緒感知剖析,以捕捉現代高效能建置工具中常見的並發執行模式。
-
工具預期目標專案需在啟用插裝的情況下建置 (SFTRACE=1)。
-
在專案範例目錄中執行可獲得最佳效能結果。
-
請注意,過濾功能不會自動保留子層函式呼叫;若需完整的呼叫堆疊,請儘量執行無過濾的擷取。
-
確保環境中已安裝必要的原生相依套件與二進位工具 (sftrace)。
-
追蹤日誌檔案可能會非常龐大;請將成品儲存在專案目錄中,以避免耗盡系統儲存空間。
倉庫統計
- Star 數
- 12,667
- Fork 數
- 794
- Open Issue 數
- 189
- 主要語言
- Rust
- 預設分支
- main
- 同步狀態
- 閒置
- 最近同步時間
- 2026年5月3日 上午09:35