成效指標的命名樣式

此頁面說明應用於 fuchsiaperf.json 檔案回報效能指標的命名樣式。

每個指標名稱都包含兩個部分:

  • 測試套件 (test_suite 欄位):應為小寫,其中元件以半形句號分隔。應該從「fuchsia」開始。例如「fuchsia.microbenchmarks」。

  • 測試名稱 (label 欄位):這通常應為 CamelCaseName (而非 snake_case_name)。名稱的組成部分應以斜線分隔,例如「Syscall/Null」。

    如果指標來自參數化測試 (亦即以不同的參數值多次執行個體化的測試),參數值可納入以斜線分隔的元件 (例如「Memcpy/100000bytes」)。

    如果是使用 perftest C++ 程式庫的多步驟測試,指標名稱會包含在句號後方的步驟名稱,例如「Event/Replace.replace_handle」。針對這類問題,步驟名稱應採用 nake 形式 (小寫英文字母,且有底線)。

這個由兩個部分構成的命名空間結構繼承自 Chromeperf。

請避免在名稱中加入「benchmarks」或「test」做為後置字串,因為這樣是多餘的。

某些追蹤記錄型效能測試使用不同的命名慣例,而測試套件欄位會使用上述樣式做為測試名稱 (遵循上述樣式,例如「fuchsia.flatland_Delay.view-provider-example」),並將測試名稱欄位用做該測試產生的指標名稱 (例如以下網路延遲「vsync_vsync」限制)。

所有效能測試都會由 performance.dart 程式庫或在 Python 中由 perf_publish 程式庫強制執行。

目前的指標名稱清單

如要查看目前的指標清單,請從 terminal.x64 CI 建構工具中查看近期成功的建構作業,並查看名為「summary Perf test results」(摘要效能測試結果) 的步驟 (「stdout」連結) 下的輸出內容。

目前使用的指標名稱不一定符合這些命名規範。截至目前為止,尚未大規模重新命名指標名稱,因為 Chromeperf 無法妥善處理重新命名作業,也就是在 Chromeperf 中重新命名中斷作業的連續性。Chromeperf 無法繪製重新命名期間的指標結果,且可能會遺漏接近重新命名後發生的迴歸。解決這項限制後,系統就能進行大規模重新命名。