Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 17 additions & 8 deletions eng/ci/host.coldstart.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,10 @@ parameters:
displayName: Create Jit trace (Ensure "Collect DotNet trace" is set to true)
type: boolean
default: false
- name: jitTraceInstancesForRelease
displayName: JIT trace instances (comma-separated, e.g., 1,2,3). Only applies when 'Create Jit trace' is true. Leave empty for default.
type: string
default: ''

- name: collectPerfViewProfileOnWindows
displayName: Collect PerfView Profile (on Windows)
Expand Down Expand Up @@ -70,6 +74,11 @@ variables:
value: true
${{ if ne(variables['Build.Reason'], 'Schedule') }}:
value: ${{ parameters.collectPerfViewProfileOnWindows }}
- name: effectiveRunInstances
${{ if and(eq(parameters.createJitTrace, true), ne(parameters.jitTraceInstancesForRelease, '')) }}:
value: ${{ replace(parameters.jitTraceInstancesForRelease, ' ', '') }}
${{ else }}:
value: ${{ variables.runInstances }}

extends:
template: v1/1ES.Unofficial.PipelineTemplate.yml@1es
Expand All @@ -83,7 +92,7 @@ extends:
- stage: RunWindows
displayName: Record latency(Windows)
jobs:
- ${{ each appId in split(variables.runInstances, ',') }}:
- ${{ each appId in split(variables.effectiveRunInstances, ',') }}:
- ${{ if eq(parameters.includeHelloHttpNet9, true) }}:
- template: /eng/ci/templates/official/jobs/run-coldstart.yml@self
parameters:
Expand Down Expand Up @@ -129,28 +138,28 @@ extends:
functionAppName: HelloHttpNet9
description: .NET9 Web Application
runInstances:
items: ${{ split(variables.runInstances, ',') }}
items: ${{ split(variables.effectiveRunInstances, ',') }}
- ${{ if eq(parameters.includeHelloHttpNet9NoProxy, true) }}:
- template: /eng/ci/templates/official/jobs/process-coldstart.yml@self
parameters:
functionAppName: HelloHttpNet9NoProxy
description: .NET9 Worker Application
runInstances:
items: ${{ split(variables.runInstances, ',') }}
items: ${{ split(variables.effectiveRunInstances, ',') }}
- ${{ if eq(parameters.includeHelloHttpNode, true) }}:
- template: /eng/ci/templates/official/jobs/process-coldstart.yml@self
parameters:
functionAppName: HelloHttpNode
description: Node Application
runInstances:
items: ${{ split(variables.runInstances, ',') }}
items: ${{ split(variables.effectiveRunInstances, ',') }}

# # LINUX
- stage: RunLinux
dependsOn: []
displayName: Record latency(Linux)
jobs:
- ${{ each appId in split(variables.runInstances, ',') }}:
- ${{ each appId in split(variables.effectiveRunInstances, ',') }}:
- ${{ if eq(parameters.includeHelloHttpNet9, true) }}:
- template: /eng/ci/templates/official/jobs/run-coldstart.yml@self
parameters:
Expand Down Expand Up @@ -194,23 +203,23 @@ extends:
description: .NET9 Web Application
os: Linux
runInstances:
items: ${{ split(variables.runInstances, ',') }}
items: ${{ split(variables.effectiveRunInstances, ',') }}
- ${{ if eq(parameters.includeHelloHttpNet9NoProxy, true) }}:
- template: /eng/ci/templates/official/jobs/process-coldstart.yml@self
parameters:
functionAppName: HelloHttpNet9NoProxy
description: .NET9 Worker Application
os: Linux
runInstances:
items: ${{ split(variables.runInstances, ',') }}
items: ${{ split(variables.effectiveRunInstances, ',') }}
- ${{ if eq(parameters.includeHelloHttpNode, true) }}:
- template: /eng/ci/templates/official/jobs/process-coldstart.yml@self
parameters:
functionAppName: HelloHttpNode
description: Node Application
os: Linux
runInstances:
items: ${{ split(variables.runInstances, ',') }}
items: ${{ split(variables.effectiveRunInstances, ',') }}

# Merge JIT traces from different function apps and dedupe.
- stage: MergeWindowsJitTraceFiles
Expand Down
2 changes: 1 addition & 1 deletion eng/ci/templates/official/jobs/process-coldstart.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
artifactName: coldstart_${{ parameters.os }}_${{ parameters.functionAppName }}

${{ each r in parameters.runInstances.items }}:
latencies${{ r }}: $[stageDependencies.Run${{ parameters.os }}.${{ parameters.functionAppName }}_${{ r }}.outputs['Record.coldStartLatency']]
latencies${{ r }}: $[stageDependencies.Run${{ parameters.os }}.${{ parameters.functionAppName }}_Instance${{ r }}.outputs['Record.coldStartLatency']]

templateContext:
outputParentDirectory: $(Build.ArtifactStagingDirectory)
Expand Down
2 changes: 1 addition & 1 deletion eng/ci/templates/official/jobs/run-coldstart.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ parameters:
default: false

jobs:
- job: ${{ parameters.functionAppName }}_${{ parameters.instanceId }}
- job: ${{ parameters.functionAppName }}_Instance${{ replace(parameters.instanceId, ' ', '') }}
displayName: ${{ parameters.description }} ${{ parameters.instanceId }}
pool:
name: 1es-pool-azfunc-benchmarking
Expand Down