[WIP] Add MAUI Android inner loop deploy measurement scenario#5165
Draft
davidnguyen-tech wants to merge 11 commits intodotnet:mainfrom
Draft
[WIP] Add MAUI Android inner loop deploy measurement scenario#5165davidnguyen-tech wants to merge 11 commits intodotnet:mainfrom
davidnguyen-tech wants to merge 11 commits intodotnet:mainfrom
Conversation
Add a new parser that extracts Android deploy target and task durations from MSBuild binary logs: FastDeploy, _Upload, _Sign, _BuildApkFastDev, Aapt2Link, AndroidSignPackage, AndroidApkSigner. Wire it into Startup.cs via a new MetricType.AndroidInnerLoop enum value. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add a new 'androidinnerloop' subcommand to the test runner that measures the Android debug inner loop: 1. First full build+deploy (dotnet build -t:Install) 2. Edit one source file (simulate developer change) 3. Incremental build+deploy (only changed assembly via FastDev) 4. Parse both binlogs under separate scenario names Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
pre.py: Creates MAUI template app, restores packages, and prepares a modified MainPage.xaml.cs for incremental deploy simulation. test.py: Invokes the androidinnerloop test type which orchestrates first deploy, file edit, incremental deploy, and binlog parsing. post.py: Uninstalls the app from the device and cleans artifacts. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add counters for the build portion of the inner loop that were previously unmeasured: Csc, XamlCTask, GenerateJavaStubs, LinkAssembliesNoShrink, D8, Javac (tasks) and their corresponding targets (CoreCompile, XamlC, _GenerateJavaStubs, _LinkAssembliesNoShrink, _CompileToDalvik, _CompileJava). These account for the majority of incremental deploy time beyond the FastDeploy upload itself (e.g., GenerateJavaStubs ~1.2s of a ~4.3s incremental cycle). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add GenerateTypeMappings, ProcessAssemblies, GenerateJavaCallableWrappers, and FilterAssemblies task counters to close the gap between measured tasks and total build time. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add GenerateMainAndroidManifest, ResolveSdks, and GenerateNativeApplicationConfigSources task counters to cover the remaining significant tasks in the incremental build. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add guard for required --csproj-path argument - Default scenarioname to 'MAUI Android Deploy' when not provided - Add trailing newline to file Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add Helix-based CI support for the mauiandroidinnerloop scenario which measures first-deploy and incremental-deploy times for MAUI Android apps. Changes: - Create maui_scenarios_android_innerloop.proj with Helix workitems - Add 4 job entries to sdk-perf-jobs.yml (Mono/CoreCLR x Release/Debug) - Fix pre.py: automate .csproj TFM fix, cache NuGet packages locally - Fix post.py: add dotnet build-server shutdown before cleanup Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Member
Author
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds a scenario to measure the MAUI Android developer inner loop: first full deploy and incremental deploy (after a 1-file edit) to a connected device, with granular MSBuild task/target timings parsed from binlogs.