Skip to content

Commit e512dac

Browse files
authored
Print .net info, Increase sample size to 20, Collect Perfview profile always for nightly runs. Minor cleanups (#11102)
get only files.
1 parent bbd254f commit e512dac

File tree

4 files changed

+20
-15
lines changed

4 files changed

+20
-15
lines changed

eng/ci/host.coldstart.yml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,11 @@ resources:
6565
variables:
6666
- template: /eng/ci/templates/variables/coldstart.yml@self
6767
- template: /ci/variables/cfs.yml@eng
68+
- name: shouldCollectPerfViewProfileOnWindows
69+
${{ if eq(variables['Build.Reason'], 'Schedule') }}: # We always collect PerfView profile on nightly runs.
70+
value: true
71+
${{ if ne(variables['Build.Reason'], 'Schedule') }}:
72+
value: ${{ parameters.collectPerfViewProfileOnWindows }}
6873

6974
extends:
7075
template: v1/1ES.Unofficial.PipelineTemplate.yml@1es
@@ -85,7 +90,7 @@ extends:
8590
description: .NET9 Web Application
8691
functionAppName: HelloHttpNet9
8792
instanceId: ${{ appId }}
88-
collectPerfViewProfileOnWindows: ${{ parameters.collectPerfViewProfileOnWindows }}
93+
collectPerfViewProfileOnWindows: ${{ variables.shouldCollectPerfViewProfileOnWindows }}
8994
perfViewCollectArguments: ${{ parameters.perfViewCollectArguments }}
9095
netTraceCollectArguments: ${{ parameters.netTraceCollectArguments }}
9196
collectNetTrace: ${{ parameters.collectNetTrace }}
@@ -96,7 +101,7 @@ extends:
96101
description: .NET9 Worker Application
97102
functionAppName: HelloHttpNet9NoProxy
98103
instanceId: ${{ appId }}
99-
collectPerfViewProfileOnWindows: ${{ parameters.collectPerfViewProfileOnWindows }}
104+
collectPerfViewProfileOnWindows: ${{ variables.shouldCollectPerfViewProfileOnWindows }}
100105
perfViewCollectArguments: ${{ parameters.perfViewCollectArguments }}
101106
netTraceCollectArguments: ${{ parameters.netTraceCollectArguments }}
102107
collectNetTrace: ${{ parameters.collectNetTrace }}
@@ -107,7 +112,7 @@ extends:
107112
description: Node Application
108113
functionAppName: HelloHttpNode
109114
instanceId: ${{ appId }}
110-
collectPerfViewProfileOnWindows: ${{ parameters.collectPerfViewProfileOnWindows }}
115+
collectPerfViewProfileOnWindows: ${{ variables.shouldCollectPerfViewProfileOnWindows }}
111116
perfViewCollectArguments: ${{ parameters.perfViewCollectArguments }}
112117
netTraceCollectArguments: ${{ parameters.netTraceCollectArguments }}
113118
collectNetTrace: ${{ parameters.collectNetTrace }}

eng/ci/templates/official/jobs/run-coldstart.yml

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@ jobs:
4747
variables:
4848
functionAppOutputPath: $(Build.BinariesDirectory)/Published/${{ parameters.functionAppName }}
4949
hostOutputPath: $(Build.BinariesDirectory)/Published/HostRuntime
50-
hostAssemblyPath: $(hostOutputPath)/Microsoft.Azure.WebJobs.Script.WebHost.dll
5150
logsDirectory: $(Build.ArtifactStagingDirectory)/Logs
5251
stdOutLogsFilePath: $(logsDirectory)/std_out_logs.txt
5352
stdErrorLogsFilePath: $(logsDirectory)/std_error_logs.txt
@@ -66,8 +65,7 @@ jobs:
6665
traceFileZipName: $(traceFileName).zip
6766
traceFilePath: $(traceDirectory)/$(traceFileName)
6867
traceZipFilePath: $(traceDirectory)/$(traceFileZipName)
69-
traceAnalysisResultsDirectory: $(netTraceDirectory)/results
70-
traceAnalysisResultMarkdownFilePath: $(traceAnalysisResultsDirectory)/$(traceFileNameWithoutExtension).md
68+
traceAnalysisResultMarkdownFilePath: $(traceDirectory)/results/$(traceFileNameWithoutExtension).md
7169
traceLogPath: $(logsDirectory)/logs.log
7270
${{ if eq(parameters.os, 'Linux') }}:
7371
publishRid: linux-x64
@@ -112,12 +110,8 @@ jobs:
112110

113111
- template: /eng/ci/templates/install-dotnet.yml@self
114112

115-
- task: UseDotNet@2
116-
displayName: Install .NET 10
117-
inputs:
118-
packageType: sdk
119-
version: 10.x
120-
includePreviewVersions: true
113+
- script: dotnet --info
114+
displayName: "Print .NET Environment Info"
121115

122116
- ${{ if eq(parameters.functionAppName, 'HelloHttpNode') }}:
123117
- task: CopyFiles@2
@@ -216,7 +210,6 @@ jobs:
216210
217211
- ${{ if and(eq(parameters.collectPerfViewProfileOnWindows, true), eq(parameters.instanceId, '1')) }}: # collect profile only on the first instance
218212
- pwsh: |
219-
New-Item -ItemType Directory -Path $(traceDirectory)
220213
if (Test-Path $(perfViewPath)) {
221214
$collectArguments = ${env:COLLECT_ARGUMENTS}
222215
Write-Host "PerfView.exe found. Executing with arguments '$collectArguments'"
@@ -280,8 +273,14 @@ jobs:
280273
$attempt = 0
281274
282275
while ($attempt -lt $maxAttempts) {
283-
$files = Get-ChildItem -Path $(traceDirectory)
276+
$files = Get-ChildItem -Path $(traceDirectory) -File
284277
$fileCount = $files.Count
278+
279+
Write-Host "Found $fileCount file(s) in $(traceDirectory):"
280+
foreach ($file in $files) {
281+
Write-Host " - $($file.Name)"
282+
}
283+
285284
if ($fileCount -eq 1 -and $files[0].Name -eq '$(traceFileZipName)') {
286285
break
287286
} else {
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
variables:
22
# This controls how many cold start samples are collected for each app+OS combination.
33
- name: runInstances
4-
value: "1,2,3,4,5,6,7,8,9,10"
4+
value: "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20"

release_notes.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,4 @@
1414
- Avoid setting up OTel and AzMon exporter in the placeholder mode. (#11090)
1515
- Update Java Worker Version to [2.19.1](https://github.com/Azure/azure-functions-java-worker/releases/tag/2.19.1)
1616
- Memory allocation optimizations in `FeatureFlags.IsEnabled` by adopting zero-allocation `ContainsToken` for efficient delimited token search (#11075)
17+
- Improvements to coldstart pipeline (#11102).

0 commit comments

Comments
 (0)