指標名稱預期檔案

Fuchsia 進行效能測試結果回報後, 每個管道都有各自的指標名稱 效能測試可能會產生又稱為「指標」 名稱許可清單已新增 https://fxbug.dev/42056406.

如果效能測試產生的指標組合 測試目標檔案中列出的項目,表示測試失敗。 此程序的第一步 是將程式碼簽入執行所有單元測試的存放區中也就是說,如果測試變更後, 也會變更其預期檔案 以便比對。

針對 fuchsia.git 的測試,預期檔案位於 src/tests/end_to_end/perf/expected_metric_names/.

所有新的效能測試都需要預期檔案, 其中包括所有以 Python 為基礎的效能測試。

預定福利

  • 預期檔案是用來協助保留指標命名 保持一致讓您更容易查看 並透過 OWNERS 調整 檢查。

  • 預期檔案可讓測試作者更容易 還會使用哪些指標名稱進行比較 系統會將清單寫入程式碼集

  • 預期檔案應該要能讓您更容易瞭解 某個 CL 所建立的指標都發生變化允許 協助開發人員確保 CL 不會意外移除 更名後

  • 預期檔案會提供指標數量 。這項功能很實用,因為您必須支付 需要大量指標

  • 預期檔案可讓您更輕鬆地確保 測試產生的指標具有確定性指標可以是 也能透過多種方式 具體做法是指示 Kubernetes 建立並維護 一或多個代表這些 Pod 的物件也就是說,如果沒有經過預期檢查 可能會產生不確定性 這會造成資料隨機缺漏,這是不理想的結果 產生的 kube-APIserver

如何更新預期檔案

如要更新測試的預期檔案,其中一種方法是執行測試 使用環境變數建立本機 已設定 FUCHSIA_EXPECTED_METRIC_NAMES_DEST_DIR,使用以下這類叫用方式: :

fx test --e2e -o perf_publish_example_test \
    --env FUCHSIA_EXPECTED_METRIC_NAMES_DEST_DIR=$(pwd)/src/tests/end_to_end/perf/expected_metric_names/

設定這項環境變數後,測試會寫入更新 將預期檔案複製到環境指定的目錄 變數。請注意,這不會保留以下項目的選用指標名稱: 預期檔案

如未設定這項環境變數,測試會回報 如果測試產生的指標與 預期檔案,然後輸出差異。你可以 根據錯誤的差異,手動更新預期檔案 訊息。

如何新增預期檔案

如要新增成效測試,可以新增預期值 ,請按照下列步驟進行。

如果是使用 fuchsia_component_perf_test GN 範本的測試, 步驟需要手動建立預留位置預期檔案:

  1. src/tests/end_to_end/perf/expected_metric_names/

  2. 在 GN 中新增 expected_metric_names_filepath 引數 測試宣告 (fuchsia_component_perf_test GN) 範本叫用)。

  3. 使用 FUCHSIA_EXPECTED_METRIC_NAMES_DEST_DIR 在本機執行測試 產生檔案內容。

使用 python_perf_test GN 範本的測試時,預期 您必須在 GN 和測試程式碼中指定檔案名稱 可讓您避免手動建立 檔案:

  1. expected_metric_names_filename 引數中的名稱傳遞至 Python 測試程式碼中的 publish_fuchsiaperf()

  2. 在 GN 宣告中設定 expected_metric_names_filepaths = [] 測試 (python_perf_test GN 範本叫用)。

  3. 使用 FUCHSIA_EXPECTED_METRIC_NAMES_DEST_DIR 在本機執行測試 產生檔案。

  4. expected_metric_names_filepaths 設為 測試 GN 宣告中宣告的預期檔案。

  5. 使用 git add src/tests/end_to_end/perf/expected_metric_names/ 將預期檔案新增至 Git 結帳作業。

如果測試有多個測試,也可以對 python_perf_test 執行這些步驟。 預期檔案。

您可先將檔案新增至 BUILD.gn 檔案,但 如果檔案不存在,GN 建構作業就會失敗。

選用指標

預期檔案可能包含有後置字串的項目 [optional]。測試的 輸出內容這樣一來,您就能指定特定架構的指標 專屬於這類機器說明這些指標 則為選用項目。(註解行的開頭是「#」)。

同時,這些指標也能判定 不會產生錯誤不過,具有非確定性的指標 通常都視為需要修正的錯誤。

略過指標摘要

根據預設,使用 Python perf_publish 程式庫時,Fuchsiaperf 檔案 發布的是摘要版本

這份摘要包含兩項值得注意的事項:

  • 我們會將每個 Fuchiaperf 項目中的第一個值視為暖身跑步和下降 基礎架構
  • 同一個測試案例可有多個項目 ( 在這種情況下,系統會合併這些程序。

以後置處理步驟來說,有以下優點:

  • 這樣就不必在 C++ 中 效能提升程式庫或用於其他語言的類似程式庫)。 下游消費者
  • 摘要 Fuchsiaperf 檔案遠比「原始資料」小很多紫紅色 因此更容易管理
  • 「原始資料」使用者仍可存取 Fuchiaperf 檔案 並想分析原始資料

但在某些情況下,這可能會是不理想的狀況,那就是保留初始疊代 時間,而不是捨棄維度或讓報表記錄標準偏差 然後透過圖表顯示這些註解。

因此,您可以新增 [no-summarize-metrics] 關閉摘要功能 前置字串為預期檔案頂端。