(つ`ω´)つ says to Ubuntu 台灣社群
Perfetto:Linux 用戶端追蹤的瑞士刀 (★ 105 分) Perfetto 是一套由 Google 維護的跨平台效能追蹤與分析工具,原本主要用於 Android 和 Chrome,但這篇演講展示它如何成為 Linux 開發者在除錯與效能分析上的「瑞士刀」。作者在 2025 年的 Tracing Summit 演講中,以一個 Rust 撰寫的 fractal renderer 範例說明如何利用 Perfetto UI 進行效能問題的調查。此程式使用 Vulkan 進行 GPU 繪圖與多執行緒 CPU 計算,模擬出在 60 FPS 之下偶爾掉幀的場景,方便展示 Perfetto 的分析流程。透過 Perfetto 的多層追蹤能力,他從 flame graph 判讀 CPU 使用狀況,再結合排程追蹤與應用程式層級的資料,最終定位出「自適應畫質更新」功能導致序列化執行,造成 CPU 閒置與畫面延遲。Perfetto 的核心優勢在於能整合各種追蹤格式 (如 perf、ftrace、Chrome JSON、protobuf 等) 並以 SQL 介面進行查詢,同時保留時間維度,讓使用者以互動方式找出效能異常的時段與根因。 Perfetto UI 是一個完全在瀏覽器端運作的網頁介面,具備時間軸視覺化與 flame graph 探索功能,且可自行建置或在本機靜態伺服器上執行。新版 UI 加入了「bottom-up」視圖、時間範圍選取、正規表示式搜尋與多追蹤合併等進階功能,讓開發者能在單一時間軸上同時比對 CPU 取樣、排程事件與應用層執行片段。此外,整合查詢界面支援類似資料透視表功能,使用者能快速篩選長耗時事件、建立調試軌道 (Debug Track),並可直接取得 SQL 查詢作為進一步分析的起點。在實務應用中,Perfetto 也支援 trace-cmd、pprof 與多種格式轉換,使它能串接不同來源的效能資料。開源社群亦有許多延伸專案如 Mesa、VizTracer、pthread_trace、magic-trace、sched-analyzer 與 systing 等,顯示 Perfetto 已成為效能觀察生態系的關鍵工具。 Hacker News 上的開發者們多數給予 Perfetto 極高評價,認為它結合傳統追蹤工具與 SQL 查詢能力,是目前最強大的跨平台效能分析框架之一。有工程師分享自己以 SQL 動態產生追蹤資料並疊加多種來源進行視覺化的經驗,指出 Perfetto 彈性極高且易於整合。部分討論者提到希望能有更輕量、入門導向的教學,而 Perfetto 開發者 Lalit Maganti 回應,可先從官方網站的 Quick Start 或 Linux 核心開發者指南開始。也有使用者指出,如同 Windows 的 ETW (Event Tracing for Windows) 框架一樣,效能分析的複雜度在所難免,重點是工具是否能提供完整資訊鏈。其他開發者則推薦搭配 Python 的 VizTracer 擴充套件,可快速輸出 Perfetto 相容格式追蹤檔並協助找出瓶頸。 另一位留言者認為 Perfetto 的 SQL 介面是它的「殺手級功能」,讓使用者能以資料庫思維處理效能追蹤資料。此外,也有人討論 Perfetto 最近新增對 pprof 格式的支援,強調其視覺化能力已達 Google 內部工具水準,甚至鼓勵開發者考慮開發 `EtwToPerfetto` 以整合 Windows ETW 追蹤。整體來說,社群普遍認為 Perfetto 不僅是 Android 工程師的工具,也逐漸成為 Linux 與跨語言生態中追蹤、診斷與效能可視化的共同標準。 👥 10 則討論、評論 💬 https://news.ycombinator.com/item?id=45771019