Skip to content

Enable the running of performance tests: SDK:release/2.0.0#1969

Merged
johnbeisner merged 6 commits intodotnet:release/2.0.0from
johnbeisner:CIPerfTests
Feb 21, 2018
Merged

Enable the running of performance tests: SDK:release/2.0.0#1969
johnbeisner merged 6 commits intodotnet:release/2.0.0from
johnbeisner:CIPerfTests

Conversation

@johnbeisner
Copy link
Contributor

Enable the running of performance tests:

  • commandLine: "build.cmd -perf"
  • optional properties: 'PerfIterations' 'PerfOutputDirectory' 'PerfCollectionType'
  • update RepoToolset version to a version that contains the performance targets
  • first draft 'perf.groovy'
  • rename: "Microsoft.NET.Perf.Tests" to "Microsoft.NET.PerformanceTests"

@DrewScoggins

…properties: 'PerfIterations' 'PerfOutputDirectory' 'PerfCollectionType'; update RepoToolset version to a version that contains the performance targets; first draft 'perf.groovy'.
@johnbeisner johnbeisner self-assigned this Feb 16, 2018
@johnbeisner johnbeisner requested review from a team, dsplaisted and tannergooding February 16, 2018 21:57
@johnbeisner
Copy link
Contributor Author

@dsplaisted

perf.groovy Outdated
['Windows_NT'].each { os ->
['x64', 'x86'].each { arch ->
def architecture = arch
def jobName = "perf_perflab_${os}_${arch}"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably want to update the name of the job to better reflect the SDK. Something like SDK_Perf_${os}_${arch}

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done...

@johnbeisner
Copy link
Contributor Author

@DrewScoggins
@tannergooding
Can I get a code review on this please.

@johnbeisner johnbeisner requested a review from mmitche February 20, 2018 17:38
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" +
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am fairly certain that when you use the output argument you need to also specify the file name, not just the out directory.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done...

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}\")")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Make sure that you add --append or you will overwrite the measurements

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done...

perf.groovy Outdated
"--architecture \"${arch}\"" +
"--machinepool \"perfsnake\"" +
"--output \"${perfWorkingDirectory}\"")
batchFile("py \"${perfWorkingDirectory}\\Microsoft.BenchView.JSONFormat\\tools\\upload.py \"${perfWorkingDirectory}\submission.json\" --container stability")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The container name should be coreclr

Copy link
Contributor Author

@johnbeisner johnbeisner Feb 20, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@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.*")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should include something about SDK in the trigger phrase

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done...

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"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use spaces instead of tabs for indentation

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done...

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"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use spaces instead of tabs

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done...

build/build.sh Outdated
shift 1
;;
--Perf)
pack=true
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't this be perf=true? Looks like a copy/paste error.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yup, done...

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
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use spaces instead of tabs

@johnbeisner johnbeisner merged commit ec2d5b1 into dotnet:release/2.0.0 Feb 21, 2018
JL03-Yue pushed a commit that referenced this pull request Mar 19, 2024
* 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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants