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 範本的測試,
步驟需要手動建立預留位置預期檔案:
在
src/tests/end_to_end/perf/expected_metric_names/
。在 GN 中新增
expected_metric_names_filepath
引數 測試宣告 (fuchsia_component_perf_test
GN) 範本叫用)。使用
FUCHSIA_EXPECTED_METRIC_NAMES_DEST_DIR
在本機執行測試 產生檔案內容。
使用 python_perf_test
GN 範本的測試時,預期
您必須在 GN 和測試程式碼中指定檔案名稱
可讓您避免手動建立
檔案:
將
expected_metric_names_filename
引數中的名稱傳遞至 Python 測試程式碼中的publish_fuchsiaperf()
。在 GN 宣告中設定
expected_metric_names_filepaths = []
測試 (python_perf_test
GN 範本叫用)。使用
FUCHSIA_EXPECTED_METRIC_NAMES_DEST_DIR
在本機執行測試 產生檔案。將
expected_metric_names_filepaths
設為 測試 GN 宣告中宣告的預期檔案。使用
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]
關閉摘要功能
前置字串為預期檔案頂端。