Skip to content

Commit

Permalink
Merge branch 'release/6.0-staging' into merge/release/6.0-to-release/…
Browse files Browse the repository at this point in the history
…6.0-staging
  • Loading branch information
carlossanlop authored Jul 2, 2024
2 parents 77c249b + b9c7e8b commit 6e3533f
Show file tree
Hide file tree
Showing 84 changed files with 5,963 additions and 5,727 deletions.
1 change: 1 addition & 0 deletions NuGet.config
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
<!--Begin: Package sources managed by Dependency Flow automation. Do not edit the sources below.-->
<!-- Begin: Package sources from dotnet-emsdk -->
<add key="darc-pub-dotnet-emsdk-ab8bc4e" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-emsdk-ab8bc4e2/nuget/v3/index.json" />
<add key="darc-pub-dotnet-emsdk-8601068" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-emsdk-86010681/nuget/v3/index.json" />
<!-- End: Package sources from dotnet-emsdk -->
<!-- Begin: Package sources from dotnet-wcf -->
<!-- End: Package sources from dotnet-wcf -->
Expand Down
14 changes: 3 additions & 11 deletions docs/design/features/dotnet-pgo.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,13 @@
# dotnet-pgo Spec
Utilize trace data for improving application performance

NOTE: This documentation page contains information on some features that are still work-in-progress.

## Intro

The dotnet-pgo tool is a cross-platform CLI global tool that enables conversion of traces of .NET Core applications collected via dotnet-trace, ETW, perfview, perfcollect, LTTNG to be used to improve the performance of an application or library.

## Installing dotnet-pgo

The first step is to install the dotnet-pgo CLI global tool.

```cmd
$ dotnet tool install --global dotnet-pgo
You can invoke the tool using the following command: dotnet-pgo
Tool 'dotnet-pgo' (version '6.0.47001') was successfully installed.
```
The only way to use dotnet-pgo is to build it in the runtime repo. To learn how to build the runtime, consult the [how to build](https://github.com/dotnet/runtime/tree/main/docs/workflow/building/coreclr) docs for Windows, macOS, or Linux.

## Using dotnet-pgo to optimize an application

Expand All @@ -37,14 +29,14 @@ set COMPLUS_TC_QuickJitForLoops=1
set COMPLUS_TC_CallCountThreshold=10000
set COMPLUS_ReadyToRun=0
dotnet-trace collect --providers Microsoft-Windows-DotNETRuntime:0x1E000080018:4 -- bin\Release\net6.0\pgotest.exe
dotnet-trace collect --providers Microsoft-Windows-DotNETRuntime:0x1E000080018:4 -- bin\Release\net{version-number-goes-here}.0\pgotest.exe
set COMPLUS_TieredPGO=
set COMPLUS_TC_QuickJitForLoops=
set COMPLUS_TC_CallCountThreshold=
set COMPLUS_ReadyToRun=
dotnet-pgo create-mibc --trace trace.nettrace --output trace.mibc
${YOUR-REPO-ROOT}\artifacts\bin\coreclr\{OS}.{ARCHITECTURE}.{CONFIGURATION}\dotnet-pgo create-mibc --trace trace.nettrace --output trace.mibc
dotnet publish --runtime win-x64 -p:PublishReadyToRun=true -p:ReadyToRunOptimizationData=trace.mibc
```
Expand Down
4 changes: 2 additions & 2 deletions eng/Version.Details.xml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<Dependencies>
<ProductDependencies>
<Dependency Name="Microsoft.NETCore.Runtime.ICU.Transport" Version="6.0.0-rtm.24269.3">
<Dependency Name="Microsoft.NETCore.Runtime.ICU.Transport" Version="6.0.0-rtm.24315.1">
<Uri>https://github.com/dotnet/icu</Uri>
<Sha>def3524876b6b84a72e8ed02db6077f9c0ce8a75</Sha>
<Sha>20d255e341e98186edf70b24aa52fdd81797cc51</Sha>
</Dependency>
<Dependency Name="System.Net.MsQuic.Transport" Version="6.0.0-servicing.22205.1">
<Uri>https://github.com/dotnet/msquic</Uri>
Expand Down
2 changes: 1 addition & 1 deletion eng/Versions.props
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@
<MicrosoftNETILLinkTasksVersion>6.0.100-1.21459.1</MicrosoftNETILLinkTasksVersion>
<MicrosoftNETILLinkAnalyzerPackageVersion>$(MicrosoftNETILLinkTasksVersion)</MicrosoftNETILLinkAnalyzerPackageVersion>
<!-- ICU -->
<MicrosoftNETCoreRuntimeICUTransportVersion>6.0.0-rtm.24269.3</MicrosoftNETCoreRuntimeICUTransportVersion>
<MicrosoftNETCoreRuntimeICUTransportVersion>6.0.0-rtm.24315.1</MicrosoftNETCoreRuntimeICUTransportVersion>
<!-- MsQuic -->
<SystemNetMsQuicTransportVersion>6.0.0-servicing.22205.1</SystemNetMsQuicTransportVersion>
<!-- Mono LLVM -->
Expand Down
3 changes: 0 additions & 3 deletions eng/pipelines/common/build-coreclr-and-libraries-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ parameters:
container: ''
testGroup: ''
crossBuild: false
crossrootfsDir: ''
timeoutInMinutes: ''
signBinaries: false
stagedBuild: false
Expand All @@ -27,7 +26,6 @@ jobs:
container: ${{ parameters.container }}
testGroup: ${{ parameters.testGroup }}
crossBuild: ${{ parameters.crossBuild }}
crossrootfsDir: ${{ parameters.crossrootfsDir }}
timeoutInminutes: ${{ parameters.timeoutInMinutes }}
signBinaries: ${{ parameters.signBinaries }}
stagedBuild: ${{ parameters.stagedBuild }}
Expand All @@ -46,7 +44,6 @@ jobs:
container: ${{ parameters.container }}
testGroup: ${{ parameters.testGroup }}
crossBuild: ${{ parameters.crossBuild }}
crossrootfsDir: ${{ parameters.crossrootfsDir }}
timeoutInminutes: ${{ parameters.timeoutInMinutes }}
variables: ${{ parameters.variables }}
pool: ${{ parameters.pool }}
Expand Down
38 changes: 32 additions & 6 deletions eng/pipelines/common/global-build-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ parameters:
osSubgroup: ''
container: ''
crossBuild: false
crossrootfsDir: ''
variables: []
targetRid: ''
timeoutInMinutes: ''
Expand All @@ -29,6 +28,7 @@ parameters:
enableRichCodeNavigation: false
richCodeNavigationLanguage: 'csharp'
richCodeNavigationEnvironment: 'production'
preBuildSteps: []

jobs:
- template: /eng/common/templates/job/job.yml
Expand Down Expand Up @@ -64,6 +64,8 @@ jobs:

- name: _osParameter
value: -os ${{ parameters.osGroup }}
- name: _archParameter
value: -arch ${{ parameters.archType }}

- ${{ if and(eq(parameters.osGroup, 'Linux'), eq(parameters.osSubGroup, '_musl')) }}:
- name: _osParameter
Expand Down Expand Up @@ -170,12 +172,36 @@ jobs:
- script: $(Build.SourcesDirectory)\eng\common\init-tools-native.cmd -InstallDirectory $(Build.SourcesDirectory)\native-tools -Force
displayName: Install native dependencies

- ${{ if ne(parameters.preBuildSteps,'') }}:
- ${{ each preBuildStep in parameters.preBuildSteps }}:
- ${{ if ne(preBuildStep.template, '') }}:
- template: ${{ preBuildStep.template }}
parameters:
osGroup: ${{ parameters.osGroup }}
osSubgroup: ${{ parameters.osSubgroup }}
archType: ${{ parameters.archType }}
buildConfig: ${{ parameters.buildConfig }}
runtimeFlavor: ${{ parameters.runtimeFlavor }}
runtimeVariant: ${{ parameters.runtimeVariant }}
helixQueues: ${{ parameters.helixQueues }}
targetRid: ${{ parameters.targetRid }}
nameSuffix: ${{ parameters.nameSuffix }}
platform: ${{ parameters.platform }}
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
${{ if ne(preBuildStep.forwardedParameters, '') }}:
${{ each parameter in preBuildStep.forwardedParameters }}:
${{ parameter }}: ${{ parameters[parameter] }}
${{ if ne(preBuildStep.parameters, '') }}:
${{ insert }}: ${{ preBuildStep.parameters }}
- ${{ else }}:
- ${{ preBuildStep }}

# Build
- ${{ if eq(parameters.buildingOnSourceBuildImage, false) }}:
- script: $(_sclEnableCommand) $(Build.SourcesDirectory)$(dir)build$(scriptExt) -ci -arch ${{ parameters.archType }} $(_osParameter) ${{ parameters.buildArgs }} $(_officialBuildParameter) $(_crossBuildPropertyArg) $(_cxx11Parameter) $(_richCodeNavigationParam) $(_buildDarwinFrameworksParameter)
displayName: Build product
${{ if eq(parameters.useContinueOnErrorDuringBuild, true) }}:
continueOnError: ${{ parameters.shouldContinueOnError }}
- template: /eng/pipelines/common/templates/global-build-step.yml
parameters:
buildArgs: ${{ parameters.buildArgs }}
useContinueOnErrorDuringBuild: ${{ parameters.useContinueOnErrorDuringBuild }}
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}

- ${{ if in(parameters.osGroup, 'OSX', 'iOS', 'tvOS', 'Android') }}:
- script: |
Expand Down
62 changes: 14 additions & 48 deletions eng/pipelines/common/platform-matrix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,7 @@ jobs:
archType: arm
targetRid: linux-arm
platform: Linux_arm
container:
image: ubuntu-16.04-cross-20210719121212-8a8d3be
registry: mcr
container: Linux_arm
jobParameters:
runtimeFlavor: ${{ parameters.runtimeFlavor }}
stagedBuild: ${{ parameters.stagedBuild }}
Expand All @@ -48,7 +46,6 @@ jobs:
platforms: ${{ parameters.platforms }}
helixQueueGroup: ${{ parameters.helixQueueGroup }}
crossBuild: true
crossrootfsDir: '/crossrootfs/arm'
${{ insert }}: ${{ parameters.jobParameters }}

# Linux arm64
Expand All @@ -63,9 +60,7 @@ jobs:
archType: arm64
targetRid: linux-arm64
platform: Linux_arm64
container:
image: ubuntu-16.04-cross-arm64-20210719121212-8a8d3be
registry: mcr
container: Linux_arm64
jobParameters:
runtimeFlavor: ${{ parameters.runtimeFlavor }}
stagedBuild: ${{ parameters.stagedBuild }}
Expand All @@ -74,7 +69,6 @@ jobs:
platforms: ${{ parameters.platforms }}
helixQueueGroup: ${{ parameters.helixQueueGroup }}
crossBuild: true
crossrootfsDir: '/crossrootfs/arm64'
${{ insert }}: ${{ parameters.jobParameters }}

# Linux musl x64
Expand All @@ -90,9 +84,7 @@ jobs:
archType: x64
targetRid: linux-musl-x64
platform: Linux_musl_x64
container:
image: alpine-3.13-WithNode-20210910135845-c401c85
registry: mcr
container: Linux_musl_x64
jobParameters:
runtimeFlavor: ${{ parameters.runtimeFlavor }}
stagedBuild: ${{ parameters.stagedBuild }}
Expand All @@ -115,9 +107,7 @@ jobs:
archType: arm
targetRid: linux-musl-arm
platform: Linux_musl_arm
container:
image: ubuntu-16.04-cross-arm-alpine-20210719121212-044d5b9
registry: mcr
container: Linux_musl_arm
jobParameters:
runtimeFlavor: ${{ parameters.runtimeFlavor }}
stagedBuild: ${{ parameters.stagedBuild }}
Expand All @@ -126,7 +116,6 @@ jobs:
platforms: ${{ parameters.platforms }}
helixQueueGroup: ${{ parameters.helixQueueGroup }}
crossBuild: true
crossrootfsDir: '/crossrootfs/arm'
${{ insert }}: ${{ parameters.jobParameters }}

# Linux musl arm64
Expand All @@ -142,9 +131,7 @@ jobs:
archType: arm64
targetRid: linux-musl-arm64
platform: Linux_musl_arm64
container:
image: ubuntu-16.04-cross-arm64-alpine-20210719121212-b2c2436
registry: mcr
container: Linux_musl_arm64
jobParameters:
runtimeFlavor: ${{ parameters.runtimeFlavor }}
stagedBuild: ${{ parameters.stagedBuild }}
Expand All @@ -153,7 +140,6 @@ jobs:
platforms: ${{ parameters.platforms }}
helixQueueGroup: ${{ parameters.helixQueueGroup }}
crossBuild: true
crossrootfsDir: '/crossrootfs/arm64'
${{ insert }}: ${{ parameters.jobParameters }}

# Linux x64
Expand All @@ -168,9 +154,7 @@ jobs:
archType: x64
targetRid: linux-x64
platform: Linux_x64
container:
image: centos-7-20210714125435-9b5bbc2
registry: mcr
container: Linux_x64
jobParameters:
runtimeFlavor: ${{ parameters.runtimeFlavor }}
stagedBuild: ${{ parameters.stagedBuild }}
Expand All @@ -192,9 +176,7 @@ jobs:
archType: x64
targetRid: linux-x64
platform: Linux_x64
container:
image: centos-7-source-build-20210714125450-5d87b80
registry: mcr
container: SourceBuild_Linux_x64
jobParameters:
runtimeFlavor: ${{ parameters.runtimeFlavor }}
stagedBuild: ${{ parameters.stagedBuild }}
Expand All @@ -217,9 +199,7 @@ jobs:
archType: s390x
targetRid: linux-s390x
platform: Linux_s390x
container:
image: ubuntu-18.04-cross-s390x-20201102145728-d6e0352
registry: mcr
container: Linux_s390x
jobParameters:
runtimeFlavor: ${{ parameters.runtimeFlavor }}
stagedBuild: ${{ parameters.stagedBuild }}
Expand All @@ -228,7 +208,6 @@ jobs:
platforms: ${{ parameters.platforms }}
helixQueueGroup: ${{ parameters.helixQueueGroup }}
crossBuild: true
crossrootfsDir: '/crossrootfs/s390x'
${{ insert }}: ${{ parameters.jobParameters }}

# WebAssembly
Expand All @@ -244,9 +223,7 @@ jobs:
archType: wasm
targetRid: browser-wasm
platform: Browser_wasm
container:
image: ubuntu-18.04-webassembly-20210531091624-f5c7a43
registry: mcr
container: Browser_wasm
jobParameters:
runtimeFlavor: ${{ parameters.runtimeFlavor }}
stagedBuild: ${{ parameters.stagedBuild }}
Expand Down Expand Up @@ -287,15 +264,12 @@ jobs:
archType: x64
targetRid: freebsd-x64
platform: FreeBSD_x64
container:
image: ubuntu-18.04-cross-freebsd-11-20200407092345-a84b0d2
registry: mcr
container: FreeBSD_x64
jobParameters:
runtimeFlavor: ${{ parameters.runtimeFlavor }}
buildConfig: ${{ parameters.buildConfig }}
helixQueueGroup: ${{ parameters.helixQueueGroup }}
crossBuild: true
crossrootfsDir: '/crossrootfs/x64'
${{ if eq(parameters.passPlatforms, true) }}:
platforms: ${{ parameters.platforms }}
${{ insert }}: ${{ parameters.jobParameters }}
Expand All @@ -312,9 +286,7 @@ jobs:
archType: x64
targetRid: android-x64
platform: Android_x64
container:
image: ubuntu-18.04-android-20200422191843-e2c3f83
registry: mcr
container: Linux_bionic
jobParameters:
runtimeFlavor: mono
stagedBuild: ${{ parameters.stagedBuild }}
Expand All @@ -336,9 +308,7 @@ jobs:
archType: x86
targetRid: android-x86
platform: Android_x86
container:
image: ubuntu-18.04-android-20200422191843-e2c3f83
registry: mcr
container: Linux_bionic
jobParameters:
runtimeFlavor: mono
stagedBuild: ${{ parameters.stagedBuild }}
Expand All @@ -360,9 +330,7 @@ jobs:
archType: arm
targetRid: android-arm
platform: Android_arm
container:
image: ubuntu-18.04-android-20200422191843-e2c3f83
registry: mcr
container: Linux_bionic
jobParameters:
runtimeFlavor: mono
stagedBuild: ${{ parameters.stagedBuild }}
Expand All @@ -384,9 +352,7 @@ jobs:
archType: arm64
targetRid: android-arm64
platform: Android_arm64
container:
image: ubuntu-18.04-android-20200422191843-e2c3f83
registry: mcr
container: Linux_bionic
jobParameters:
runtimeFlavor: mono
stagedBuild: ${{ parameters.stagedBuild }}
Expand Down
12 changes: 12 additions & 0 deletions eng/pipelines/common/templates/global-build-step.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
parameters:
buildArgs: ''
useContinueOnErrorDuringBuild: false
shouldContinueOnError: false
archParameter: $(_archParameter)
displayName: Build product

steps:
- script: $(_sclEnableCommand) $(Build.SourcesDirectory)$(dir)build$(scriptExt) -ci ${{ parameters.archParameter }} $(_osParameter) ${{ parameters.buildArgs }} $(_officialBuildParameter) $(_crossBuildPropertyArg) $(_cxx11Parameter) $(_richCodeNavigationParam) $(_buildDarwinFrameworksParameter)
displayName: ${{ parameters.displayName }}
${{ if eq(parameters.useContinueOnErrorDuringBuild, true) }}:
continueOnError: ${{ parameters.shouldContinueOnError }}
Loading

0 comments on commit 6e3533f

Please sign in to comment.