skia2/infra/bots/recipes
Ravi Mistry 62e37f1ec5 Parse chrome traces for skottie+wasm and lottie-web for perf
Uses the following algorithm for Skottie+WASM:
* Start timer when  you see BeginImplFrameToSendBeginMainFrame
* Stop timer for main_frame_aborted
* Abandon frame_id if you see replaced_by_new_reporter_at_same_stage, did_not_produce_frame or missed_frame

Getting consistently 25 frames for all lottie-samples with the above algorithm.


Uses the following algorithm for Lottie-Web:
* Start timer when  you see BeginImplFrameToSendBeginMainFrame
* Stop timer for missed_frame or submitted_frame
* Abandon frame_id if you see replaced_by_new_reporter_at_same_stage, did_not_produce_frame or main_frame_aborted

Getting 25 sometimes but also getting other numbers like 20, 27, etc. This is probably because there are more moving parts
and it is hard to predict when Chrome is going to render frames and how many. We might not get exactly 25 here like for
Skottie+WASM, but we will use whatever the tracer gives us (we can always revisit this later).


NoTry: true
Bug: skia:9237
Change-Id: Ia4d5aaf6ac95399b80574d1579358abda4e4e2ea
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225898
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
2019-07-08 21:18:10 +00:00
..
android_compile.expected Roll recipe dependencies (nontrivial). 2019-06-21 12:03:54 +00:00
calmbench.expected Roll recipe dependencies (nontrivial). 2019-06-25 11:43:53 +00:00
check_generated_files.expected Roll recipe dependencies (nontrivial). 2019-06-03 11:25:16 +00:00
compile.expected Update skqp's Android NDK to r20 2019-07-03 20:45:24 +00:00
compute_buildstats.expected Roll recipe dependencies (nontrivial). 2019-06-05 18:04:47 +00:00
compute_test.expected Roll recipe dependencies (nontrivial). 2019-06-25 11:43:53 +00:00
g3_compile.expected Roll recipe dependencies (nontrivial). 2019-06-21 12:03:54 +00:00
housekeeper.expected [infra] Supply revision as target_branch to bot_update 2019-06-04 11:34:52 +00:00
infra.expected [infra] Add go_win asset, add InfraTests_Win bot 2019-06-25 12:28:50 +00:00
perf_canvaskit.expected [infra] Supply revision as target_branch to bot_update 2019-06-04 11:34:52 +00:00
perf_pathkit.expected [infra] Supply revision as target_branch to bot_update 2019-06-04 11:34:52 +00:00
perf_skottietrace.expected Roll recipe dependencies (nontrivial). 2019-06-25 11:43:53 +00:00
perf_skottiewasm_lottieweb.expected Parse chrome traces for skottie+wasm and lottie-web for perf 2019-07-08 21:18:10 +00:00
perf.expected Reland "Test MSAA on Gen9 Intel GPUs" 2019-07-02 14:22:03 +00:00
recreate_skps.expected Roll recipe dependencies (nontrivial). 2019-06-03 11:25:16 +00:00
skpbench.expected Roll recipe dependencies (nontrivial). 2019-06-25 11:43:53 +00:00
skqp_test.expected Roll recipe dependencies (nontrivial). 2019-06-03 11:25:16 +00:00
test_canvaskit.expected [infra] Supply revision as target_branch to bot_update 2019-06-04 11:34:52 +00:00
test_lottie_web.expected [infra] Supply revision as target_branch to bot_update 2019-06-04 11:34:52 +00:00
test_pathkit.expected [infra] Supply revision as target_branch to bot_update 2019-06-04 11:34:52 +00:00
test_skqp_emulator.expected Roll recipe dependencies (nontrivial). 2019-06-03 11:25:16 +00:00
test.expected Enable MSAA on Gen8 Intel GPUs 2019-07-08 20:40:40 +00:00
upload_buildstats_results.expected Roll recipe dependencies (nontrivial). 2019-06-03 11:25:16 +00:00
upload_calmbench_results.expected Roll recipe dependencies (nontrivial). 2019-06-03 11:25:16 +00:00
upload_dm_results.expected Roll recipe dependencies (nontrivial). 2019-06-03 11:25:16 +00:00
upload_nano_results.expected Roll recipe dependencies (nontrivial). 2019-06-03 11:25:16 +00:00
upload_skiaserve.expected Roll recipe dependencies (nontrivial). 2019-06-03 11:25:16 +00:00
android_compile.py [Android compile bot] Add links to force sync the checkout 2019-05-09 13:00:07 +00:00
calmbench.py Reland [recipes] Isolate build outputs with no subdirs 2018-06-01 15:18:46 +00:00
check_generated_files.py Add gen_interface to CheckGeneratedFiles check 2019-03-28 17:07:14 +00:00
compile.py [recipes] Fix Windows pathsep; add Windows tests 2019-04-24 19:53:28 +00:00
compute_buildstats.py Build code size treemaps for skottie_tool 2019-02-12 13:54:00 +00:00
compute_test.py Add OpenCL test job that runs hello-opencl. 2018-06-29 13:25:17 +00:00
g3_compile.py Add CL link in G3 trybot 2019-06-17 16:16:47 +00:00
housekeeper.py Remove old code size analysis 2018-10-10 14:25:17 +00:00
infra.py [infra] Add go_win asset, add InfraTests_Win bot 2019-06-25 12:28:50 +00:00
perf_canvaskit.py [pathkit/canvaskit] Address race when uploading results 2019-03-12 21:45:04 +00:00
perf_pathkit.py [pathkit/canvaskit] Address race when uploading results 2019-03-12 21:45:04 +00:00
perf_skottietrace.py Add new SkottieTracing GPU bot to match SkottieWASM and LottieWeb 2019-06-22 12:28:38 +00:00
perf_skottiewasm_lottieweb.py Parse chrome traces for skottie+wasm and lottie-web for perf 2019-07-08 21:18:10 +00:00
perf.py Enable MSAA on Gen8 Intel GPUs 2019-07-08 20:40:40 +00:00
README.md Re-re-land "added GrSkSLFP and converted DitherEffect to use it" 2018-07-31 15:18:03 +00:00
recreate_skps.py Have the RecreateSKPs bot upload to partner bucket 2019-02-06 18:35:12 +00:00
skpbench.py [recipes] Fix Windows pathsep; add Windows tests 2019-04-24 19:53:28 +00:00
skqp_test.py [recipes] Rename some modules and files 2018-05-24 14:06:55 +00:00
test_canvaskit.py [pathkit/canvaskit] Address race when uploading results 2019-03-12 21:45:04 +00:00
test_lottie_web.py Update android-skqp Docker image to accept licenses 2019-01-22 23:34:58 +00:00
test_pathkit.py [pathkit/canvaskit] Address race when uploading results 2019-03-12 21:45:04 +00:00
test_skqp_emulator.py Add Build and Test jobs for SKQP using docker. 2018-10-08 19:17:25 +00:00
test.py Enable MSAA on Gen8 Intel GPUs 2019-07-08 20:40:40 +00:00
upload_buildstats_results.py Use right bucket for buildstats 2018-10-08 19:23:56 +00:00
upload_calmbench_results.py [recipes] Rename some modules and files 2018-05-24 14:06:55 +00:00
upload_dm_results.py Fix upload_dm_results 2018-08-20 16:44:24 +00:00
upload_nano_results.py Add BuildStats pipeline for PathKit binaries 2018-10-08 18:15:32 +00:00
upload_skiaserve.py Reland [recipes] Isolate build outputs with no subdirs 2018-06-01 15:18:46 +00:00

Skia Recipes

These are the top-level scripts which run inside of Swarming tasks to perform all of Skia's automated testing.

To run a recipe locally:

$ python infra/bots/recipes.py run --workdir=/tmp/<workdir> <recipe name without .py> key1=value1 key2=value2 ...

Each recipe may have its own required properties which must be entered as key/value pairs in the command.

When you change a recipe, you generally need to re-train the simulation test:

$ python infra/bots/recipes.py test train

Or:

    $ cd infra/bots; make train

The test generates expectations files for the tests contained within each recipe which illustrate which steps would run, given a particular set of inputs. Pay attention to the diffs in these files when making changes to ensure that your change has the intended effect.