Enable the running of performance tests: SDK:release/2.0.0#1969
Enable the running of performance tests: SDK:release/2.0.0#1969johnbeisner merged 6 commits intodotnet:release/2.0.0from
Conversation
…properties: 'PerfIterations' 'PerfOutputDirectory' 'PerfCollectionType'; update RepoToolset version to a version that contains the performance targets; first draft 'perf.groovy'.
perf.groovy
Outdated
| ['Windows_NT'].each { os -> | ||
| ['x64', 'x86'].each { arch -> | ||
| def architecture = arch | ||
| def jobName = "perf_perflab_${os}_${arch}" |
There was a problem hiding this comment.
Probably want to update the name of the job to better reflect the SDK. Something like SDK_Perf_${os}_${arch}
|
@DrewScoggins |
perf.groovy
Outdated
| batchFile("if \"%GIT_BRANCH:~0,7%\" == \"origin/\" (set \"GIT_BRANCH_WITHOUT_ORIGIN=%GIT_BRANCH:origin/=%\") else (set \"GIT_BRANCH_WITHOUT_ORIGIN=%GIT_BRANCH%\")\n" + | ||
| "set \"BENCHVIEWNAME=${benchViewName}\"\n" + | ||
| "set \"BENCHVIEWNAME=%BENCHVIEWNAME:\"=\"\"%\"\n" + | ||
| "py \"${perfWorkingDirectory}\\Microsoft.BenchView.JSONFormat\\tools\\submission-metadata.py\" --name \"%BENCHVIEWNAME%\" --user-email \"dotnet-bot@microsoft.com\" --output \"${perfWorkingDirectory}\"\n" + |
There was a problem hiding this comment.
I am fairly certain that when you use the output argument you need to also specify the file name, not just the out directory.
perf.groovy
Outdated
| batchFile("\"%WORKSPACE%\\build.cmd\" -perf /p:PerfIterations=10 /p:PerfOutputDirectory=\"${perfWorkingDirectory}\" /p:PerfCollectionType=stopwatch") | ||
|
|
||
| //Create submission json and upload to Benchview | ||
| batchFile("for /f \"tokens=*\" %%a in ('dir /b/a-d ${perfWorkingDirectory}\\*.xml') do (py \"${perfWorkingDirectory}\\Microsoft.BenchView.JSONFormat\\tools\\measurement.py xunitscenario \"${perfWorkingDirectory}\\%%a\" --better desc --output \"${perfWorkingDirectory}\")") |
There was a problem hiding this comment.
Make sure that you add --append or you will overwrite the measurements
perf.groovy
Outdated
| "--architecture \"${arch}\"" + | ||
| "--machinepool \"perfsnake\"" + | ||
| "--output \"${perfWorkingDirectory}\"") | ||
| batchFile("py \"${perfWorkingDirectory}\\Microsoft.BenchView.JSONFormat\\tools\\upload.py \"${perfWorkingDirectory}\submission.json\" --container stability") |
There was a problem hiding this comment.
The container name should be coreclr
There was a problem hiding this comment.
@DrewScoggins
Why is the container: "coreclr"?
perf.groovy
Outdated
|
|
||
| builder.triggerOnlyOnComment() | ||
| //Phrase is "test Windows_NT x64 perf" | ||
| builder.setCustomTriggerPhrase("(?i).*test\\W+${os}\\W+${arch}\\W+perf.*") |
There was a problem hiding this comment.
This should include something about SDK in the trigger phrase
build/build.ps1
Outdated
| Write-Host " -rebuild Rebuild solution" | ||
| Write-Host " -deploy Deploy built VSIXes" | ||
| Write-Host " -test Run all unit tests in the solution" | ||
| Write-Host " -perf Run all performance tests in the solution" |
There was a problem hiding this comment.
Use spaces instead of tabs for indentation
build/build.sh
Outdated
| echo " --build Build solution" | ||
| echo " --rebuild Rebuild solution" | ||
| echo " --test Run all unit tests in the solution" | ||
| echo " --perf Run all performance tests in the solution" |
build/build.sh
Outdated
| shift 1 | ||
| ;; | ||
| --Perf) | ||
| pack=true |
There was a problem hiding this comment.
Shouldn't this be perf=true? Looks like a copy/paste error.
perf.groovy
Outdated
| "py \"${perfWorkingDirectory}\\Microsoft.BenchView.JSONFormat\\tools\\build.py\" git --branch %GIT_BRANCH_WITHOUT_ORIGIN% --type ${runType} --output \"${perfWorkingDirectory}\\build.json\"") | ||
| batchFile("py \"%WORKSPACE%\\Microsoft.BenchView.JSONFormat\\tools\\machinedata.py\" --output \"${perfWorkingDirectory}\\machinedata.json\"") | ||
|
|
||
| // Build solution and run the performance tests |
* Update dependencies from https://github.com/dotnet/runtime build 20231017.5 Microsoft.Extensions.FileSystemGlobbing , Microsoft.Extensions.Logging From Version 8.0.0-rtm.23513.17 -> To Version 9.0.0-alpha.1.23517.5 * Update dependencies from https://github.com/dotnet/runtime build 20231023.1 Microsoft.Extensions.FileSystemGlobbing , Microsoft.Extensions.Logging From Version 8.0.0-rtm.23517.16 -> To Version 9.0.0-alpha.1.23523.1 * Update Version.Details.xml --------- Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Jan Jones <janjones@microsoft.com> Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
Enable the running of performance tests:
@DrewScoggins