跳至主要内容

Runtime Call Stats

開發者工具性能面板 (DevTools Performance panel) 通過可視化各種 Chrome 內部指標,為您的網頁應用提供運行時性能洞察。然而,某些低層次的 V8 指標目前尚未在開發者工具中公開。本文將指導您通過 chrome://tracing 收集詳細的 V8 內部指標,這被稱為 Runtime Call Stats 或 RCS。

Tracing 記錄整個瀏覽器的行為,包括其他標籤頁、窗口和擴展,所以最好在乾淨的用戶配置檔中,禁用擴展且不打開其他標籤頁時使用:

# 啟動一個新的 Chrome 瀏覽器會話,使用乾淨的用戶配置檔並禁用擴展
google-chrome --user-data-dir="$(mktemp -d)" --disable-extensions

在第一個標籤頁中輸入您想測量的頁面的 URL,但還不要加載該頁面。

新增第二個標籤頁,然後打開 chrome://tracing。提示:您可以只輸入 chrome:tracing,無需斜槓。

單擊“Record”按鈕準備錄製跟蹤。首先選擇“Web developer”,然後選擇“Edit categories”。

從列表中選擇 v8.runtime_stats。根據您調查的詳細程度,您也可以選擇其他類別。

按下“Record”並切換回第一個標籤頁加載頁面。最快的方法是使用 Ctrl/+1 直接跳轉至第一個標籤頁,然後按 Enter 接受輸入的 URL。

等待頁面完成加載或緩衝區已滿,然後點擊“Stop”停止錄製。

尋找包含已錄製標籤頁的網頁標題的“Renderer”部分。最簡單的方法是單擊“Processes”,然後單擊“None”取消選中所有條目,然後僅選擇您感興趣的 renderer。

通過按住 Shift 並拖動選擇跟蹤事件/切片。確保覆蓋 所有 部分,包括 CrRendererMain 和任何 ThreadPoolForegroundWorker。底部會出現一個包含所有選定切片的表格。

滾動到表格的右上角,點擊 “Runtime call stats table” 旁邊的鏈接。

在出現的視圖中,滾動到底部查看 V8 佔用時間的詳細表格。

通過展開分類,您可以進一步深入到數據中。

命令行界面

使用 d8 並帶上 --runtime-call-stats 標誌,即可從命令行獲取 RCS 指標:

d8 --runtime-call-stats foo.js