Set RuntimeType explicitly for wasm and wasm_coreclr micro benchmarks#5153
Set RuntimeType explicitly for wasm and wasm_coreclr micro benchmarks#5153ilonatommy wants to merge 1 commit intodotnet:mainfrom
wasm and wasm_coreclr micro benchmarks#5153Conversation
pavelsavara
left a comment
There was a problem hiding this comment.
I will leave the approval to @LoopedBard3
|
|
||
| if args.run_kind == "micro": | ||
| if args.runtime_type == "wasm": | ||
| args.runtime_flavor = "mono" |
There was a problem hiding this comment.
would this break how the new data are compared to baseline or history ?
There was a problem hiding this comment.
Pull request overview
Updates the performance-job orchestration script to better tag WASM runs with a runtime “flavor” (Mono vs CoreCLR) so downstream configuration/telemetry can distinguish them.
Changes:
- Adds
RuntimeTypeto the run configurations forruntime_type == "wasm". - Derives
args.runtime_flavorfor microbenchmark WASM runs (wasm→mono,wasm_coreclr→coreclr).
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
| if runtime_type == "wasm": | ||
| configurations["CompilationMode"] = "wasm" | ||
| configurations["RuntimeType"] = str(runtime_flavor) | ||
| if is_aot: |
| if args.run_kind == "micro": | ||
| if args.runtime_type == "wasm": | ||
| args.runtime_flavor = "mono" | ||
| elif args.runtime_type == "wasm_coreclr": | ||
| args.runtime_flavor = "coreclr" | ||
|
|
For wasm_coreclr micro benchmark runs, runtime_flavor is not passed via YAML, causing RuntimeType to be set to 'None' in configurations. This means results never appear in test history or the perf autofiler. Add auto-detection of runtime_flavor for wasm_coreclr micro benchmarks, setting it to 'coreclr', following the existing pattern used by Android and iOS scenarios. This fix does not modify wasm (mono) behavior to avoid breaking existing test history reports. Fixes the same root cause as dotnet#5153 but with a more targeted approach that only affects wasm_coreclr. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
LoopedBard3
left a comment
There was a problem hiding this comment.
Great catch for this bug. I think a more targeted approach would be better to ensure we keep other wasm history. This also will not start auto-filing, but I will get the auto-filing running. Put up a more targeted PR here: #5155.
|
Closing in favor of #5155 |
* Auto-detect runtime_flavor for wasm_coreclr micro benchmarks For wasm_coreclr micro benchmark runs, runtime_flavor is not passed via YAML, causing RuntimeType to be set to 'None' in configurations. This means results never appear in test history or the perf autofiler. Add auto-detection of runtime_flavor for wasm_coreclr micro benchmarks, setting it to 'coreclr', following the existing pattern used by Android and iOS scenarios. This fix does not modify wasm (mono) behavior to avoid breaking existing test history reports. Fixes the same root cause as #5153 but with a more targeted approach that only affects wasm_coreclr. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Only write runtime_flavor if not already set. Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Problem
Coreclr jobs are running fine, see: dotnet/runtime#125566
runtime-wasm-perf (Build Performance micro wasm_coreclr wasm coreclr_v8 linux x64 perfviper net11.0)but we don't get autofilling issues on them, like we do for mono.Root cause
wasm_coreclrbenchmark results are never reported to the perf autofiling system. TheallTestHistorydashboard has zerowasm_coreclrentries despite the job running in CI.--runtime-flavoris only passed via YAML for MAUI scenarios, so for wasm micro benchmarksruntime_flavorisNone. This means:wasm_coreclr:RuntimeType=Nonein configurations -> data lands in the wrong blob storage path and is never picked up by the autofiler,wasm:RuntimeTypenot set at all in configurations ->happens to work but is implicit.Fix
Auto-detect
runtime_flavorfromruntime_typefor wasm micro benchmarks inrun_performance_job.py, matching the existing pattern used by Android and iOS scenarios.Set
RuntimeTypeinget_run_configurations()for bothwasmandwasm_coreclrso the configuration metadata is explicit.Impact
wasm_coreclr: Fixes broken reporting — results will now appear in allTestHistory and be picked up by the perf autofilerwasm(Mono): Adds explicitRuntimeType=monoto configurations. This changes the blob storage path for new data (previously had noRuntimeTypekey), but makes the metadata correct and future-proof