Skip to content

Commit

Permalink
[Perf] Refactor tests.yml into one file per package per language (Azu…
Browse files Browse the repository at this point in the history
  • Loading branch information
mikeharder authored Feb 10, 2023
1 parent 2590579 commit ffe09dd
Show file tree
Hide file tree
Showing 12 changed files with 303 additions and 41 deletions.
10 changes: 5 additions & 5 deletions eng/pipelines/templates/jobs/perf.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ parameters:
- name: OperatingSystems
type: string
default: 'Linux'
- name: ServiceDirectory
- name: LanguageVersion
type: string
default: ''
- name: Services
default: '18'
- name: ServiceDirectory
type: string
default: ''
- name: PackageVersions
Expand Down Expand Up @@ -34,12 +34,12 @@ extends:
- template: /eng/pipelines/templates/variables/globals.yml
OperatingSystems: ${{ parameters.OperatingSystems }}
Language: JS
LanguageVersion: ${{ parameters.LanguageVersion }}
InstallLanguageSteps:
- template: /eng/pipelines/templates/steps/use-node-version.yml
parameters:
NodeVersion: 18.x
NodeVersion: ${{ parameters.LanguageVersion }}.x
ServiceDirectory: ${{ parameters.ServiceDirectory }}
Services: ${{ parameters.Services }}
PackageVersions: ${{ parameters.PackageVersions }}
Tests: ${{ parameters.Tests }}
Arguments: ${{ parameters.Arguments }}
Expand Down
36 changes: 36 additions & 0 deletions sdk/eventhub/event-hubs/perf-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
Service: eventhubs

Project: sdk/eventhub/perf-tests/event-hubs

PrimaryPackage: '@azure/event-hubs'

PackageVersions:
- '@azure/event-hubs': 5.8.0
'@azure/core-amqp': 3.2.0
'@azure/core-auth': 1.4.0
'@azure/core-http': 2.3.1
'@azure/core-rest-pipeline': 1.10.0
'@azure/core-tracing': 1.0.1
'@azure/core-util': 1.1.1
'@azure/abort-controller': 1.1.0
'@azure/logger': 1.0.3
- '@azure/event-hubs': source
'@azure/core-amqp': source
'@azure/core-auth': source
'@azure/core-http': source
'@azure/core-rest-pipeline': source
'@azure/core-tracing': source
'@azure/core-util': source
'@azure/abort-controller': source
'@azure/logger': source

Tests:
- Test: send
Class: SendTest
Arguments:
- --event-size 1024 --batch-size 100 --parallel 64

- Test: subscribe
Class: SubscribeTest
Arguments:
- --event-size 1024 --max-batch-size 100 --events 1000000
7 changes: 6 additions & 1 deletion sdk/eventhub/event-hubs/perf.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ parameters:
displayName: OperatingSystems (list of operating systems to run)
type: string
default: 'Linux'
- name: LanguageVersion
displayName: LanguageVersion (14, 16, 18)
type: string
default: '18'
- name: PackageVersions
displayName: PackageVersions (regex of package versions to run)
type: string
Expand All @@ -27,8 +31,9 @@ parameters:
extends:
template: /eng/pipelines/templates/jobs/perf.yml
parameters:
OperatingSystems: ${{ parameters.OperatingSystems }}
ServiceDirectory: eventhub/event-hubs
Services: "^(eventhubs)$"
LanguageVersion: ${{ parameters.LanguageVersion }}
PackageVersions: ${{ parameters.PackageVersions }}
Tests: ${{ parameters.Tests }}
Arguments: ${{ parameters.Arguments }}
Expand Down
21 changes: 21 additions & 0 deletions sdk/keyvault/keyvault-secrets/perf-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
Service: keyvault-secrets

Project: sdk/keyvault/perf-tests/keyvault-secrets

PrimaryPackage: '@azure/storage-file-datalake'

PackageVersions:
- '@azure/keyvault-secrets': 4.3.0
- '@azure/keyvault-secrets': source

Tests:
- Test: get-secret
Class: GetSecretTest
Arguments:
- --parallel 64

- Test: list-secrets
Class: ListSecretsTest
Arguments:
- --count 5 --parallel 64
- --count 500 --parallel 32
47 changes: 47 additions & 0 deletions sdk/servicebus/service-bus/perf-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
Service: servicebus

Project: sdk/servicebus/perf-tests/service-bus

PrimaryPackage: '@azure/service-bus'

PackageVersions:
- '@azure/service-bus': 7.7.3
'@azure/core-amqp': 3.2.1
'@azure/core-auth': 1.4.0
'@azure/core-client': 1.6.1
'@azure/core-http': 2.3.1
'@azure/core-paging': 1.4.0
'@azure/core-rest-pipeline': 1.10.0
'@azure/core-tracing': 1.0.1
'@azure/core-util': 1.1.1
'@azure/core-xml': 1.3.0
'@azure/abort-controller': 1.1.0
'@azure/logger': 1.0.3
- '@azure/service-bus': source
'@azure/core-amqp': source
'@azure/core-auth': source
'@azure/core-client': source
'@azure/core-http': source
'@azure/core-paging': source
'@azure/core-rest-pipeline': source
'@azure/core-tracing': source
'@azure/core-util': source
'@azure/core-xml': source
'@azure/abort-controller': source
'@azure/logger': source

Tests:
- Test: send-event-batch
Class: BatchSendTest
Arguments:
- --size 10240 --batch-size 10

- Test: subscribe
Class: SubscribeTest
Arguments:
- --message-size 2000 --messages 10000 --mcc 1000

- Test: receive-batch
Class: BatchReceiveTest
Arguments:
- --number-of-messages 10000 --message-size 2000 --max-message-count 50
68 changes: 36 additions & 32 deletions sdk/servicebus/service-bus/perf.yml
Original file line number Diff line number Diff line change
@@ -1,37 +1,41 @@
parameters:
- name: operatingSystems
displayName: OperatingSystems (list of operating systems to run)
type: string
default: 'Linux'
- name: packageVersions
displayName: PackageVersions (regex of package versions to run)
type: string
default: '7|source'
- name: tests
displayName: Tests (regex of tests to run)
type: string
default: '^(send-event-batch|subscribe|receive-batch)$'
- name: arguments
displayName: Arguments (regex of arguments to run)
type: string
default: '.*'
- name: iterations
displayName: Iterations (times to run each test)
type: number
default: '5'
- name: additionalArguments
displayName: AdditionalArguments (passed to PerfAutomation)
type: string
default: ' '
- name: OperatingSystems
displayName: OperatingSystems (list of operating systems to run)
type: string
default: 'Linux'
- name: LanguageVersion
displayName: LanguageVersion (14, 16, 18)
type: string
default: '18'
- name: PackageVersions
displayName: PackageVersions (regex of package versions to run)
type: string
default: '7|source'
- name: Tests
displayName: Tests (regex of tests to run)
type: string
default: '^(send-event-batch|subscribe|receive-batch)$'
- name: Arguments
displayName: Arguments (regex of arguments to run)
type: string
default: '.*'
- name: Iterations
displayName: Iterations (times to run each test)
type: number
default: '5'
- name: AdditionalArguments
displayName: AdditionalArguments (passed to PerfAutomation)
type: string
default: ' '

extends:
template: /eng/pipelines/templates/jobs/perf.yml
parameters:
operatingSystems: ${{ parameters.operatingSystems }}
serviceDirectory: servicebus/service-bus
services: "^servicebus$"
packageVersions: ${{ parameters.packageVersions }}
tests: ${{ parameters.tests }}
arguments: ${{ parameters.arguments }}
iterations: ${{ parameters.iterations }}
additionalArguments: ${{ parameters.additionalArguments }}
OperatingSystems: ${{ parameters.operatingSystems }}
ServiceDirectory: servicebus/service-bus
LanguageVersion: ${{ parameters.LanguageVersion }}
PackageVersions: ${{ parameters.packageVersions }}
Tests: ${{ parameters.tests }}
Arguments: ${{ parameters.arguments }}
Iterations: ${{ parameters.iterations }}
AdditionalArguments: ${{ parameters.additionalArguments }}
57 changes: 57 additions & 0 deletions sdk/storage/storage-blob/perf-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
Service: storage-blob

Project: sdk/storage/perf-tests/storage-blob

PrimaryPackage: '@azure/storage-blob'

PackageVersions:
- '@azure/storage-blob': 12.12.0
'@azure/core-auth': 1.4.0
'@azure/core-http': 2.3.1
'@azure/core-lro': 2.4.0
'@azure/core-paging': 1.4.0
'@azure/core-rest-pipeline': 1.10.0
'@azure/core-tracing': 1.0.1
'@azure/core-util': 1.1.1
'@azure/abort-controller': 1.1.0
'@azure/logger': 1.0.3
- '@azure/storage-blob': source
'@azure/core-auth': source
'@azure/core-http': source
'@azure/core-lro': source
'@azure/core-paging': source
'@azure/core-rest-pipeline': source
'@azure/core-tracing': source
'@azure/core-util': source
'@azure/abort-controller': source
'@azure/logger': source

Tests:
- Test: download
Class: StorageBlobDownloadTest
Arguments:
# TODO: Remove before merging
- --size 1 --warmup 0 --duration 1
- --size 10240 --parallel 64
- --size 10485760 --parallel 32
- --size 1073741824 --parallel 1 --warmup 60 --duration 60
- --size 1073741824 --parallel 8 --warmup 60 --duration 60

- Test: upload
Class: StorageBlobUploadTest
Arguments:
# TODO: Remove before merging
- --size 1 --warmup 0 --duration 1
- --size 10240 --parallel 64
- --size 10485760 --parallel 32
- --size 1073741824 --parallel 1 --warmup 60 --duration 60
- --size 1073741824 --parallel 8 --warmup 60 --duration 60

- Test: list-blobs
Class: StorageBlobListTest
Arguments:
# TODO: Remove before merging
- --count 1 --warmup 0 --duration 1
- --count 5 --parallel 64
- --count 500 --parallel 32
- --count 50000 --parallel 32 --warmup 60 --duration 60
6 changes: 5 additions & 1 deletion sdk/storage/storage-blob/perf.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@ parameters:
# Hang in storage-blob 1GB parallel=8 upload perf tests on Windows (#22146)
# default: 'Linux, Windows'
default: 'Linux'
- name: LanguageVersion
displayName: LanguageVersion (14, 16, 18)
type: string
default: '18'
- name: PackageVersions
displayName: PackageVersions (regex of package versions to run)
type: string
Expand All @@ -31,7 +35,7 @@ extends:
parameters:
OperatingSystems: ${{ parameters.OperatingSystems }}
ServiceDirectory: storage/storage-blob
Services: "^storage-blob$"
LanguageVersion: ${{ parameters.LanguageVersion }}
PackageVersions: ${{ parameters.PackageVersions }}
Tests: ${{ parameters.Tests }}
Arguments: ${{ parameters.Arguments }}
Expand Down
42 changes: 42 additions & 0 deletions sdk/storage/storage-file-datalake/perf-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
Service: storage-file-datalake

Project: sdk/storage/perf-tests/storage-file-datalake

PrimaryPackage: '@azure/storage-file-datalake'

PackageVersions:
- '@azure/storage-file-datalake': 12.11.0
'@azure/storage-blob': 12.12.0
'@azure/core-auth': 1.4.0
'@azure/core-http': 2.3.1
'@azure/core-lro': 2.4.0
'@azure/core-paging': 1.3.0
'@azure/core-rest-pipeline': 1.10.0
'@azure/core-tracing': 1.0.1
'@azure/core-util': 1.1.1
'@azure/abort-controller': 1.1.0
'@azure/logger': 1.0.3
- '@azure/storage-file-datalake': source
'@azure/storage-blob': source
'@azure/core-auth': source
'@azure/core-http': source
'@azure/core-lro': source
'@azure/core-paging': source
'@azure/core-rest-pipeline': source
'@azure/core-tracing': source
'@azure/core-util': source
'@azure/abort-controller': source
'@azure/logger': source

Tests:
- Test: download
Class: StorageDFSReadTest
Arguments: &sizes
- --size 10240 --parallel 64
- --size 10485760 --parallel 32
- --size 1073741824 --parallel 1 --warmup 60 --duration 60
- --size 1073741824 --parallel 8 --warmup 60 --duration 60

- Test: upload
Class: StorageDFSUploadTest
Arguments: *sizes
6 changes: 5 additions & 1 deletion sdk/storage/storage-file-datalake/perf.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ parameters:
displayName: OperatingSystems (list of operating systems to run)
type: string
default: 'Linux, Windows'
- name: LanguageVersion
displayName: LanguageVersion (14, 16, 18)
type: string
default: '18'
- name: PackageVersions
displayName: PackageVersions (regex of package versions to run)
type: string
Expand All @@ -29,7 +33,7 @@ extends:
parameters:
OperatingSystems: ${{ parameters.OperatingSystems }}
ServiceDirectory: storage/storage-file-datalake
Services: "^storage-file-datalake$"
LanguageVersion: ${{ parameters.LanguageVersion }}
PackageVersions: ${{ parameters.PackageVersions }}
Tests: ${{ parameters.Tests }}
Arguments: ${{ parameters.Arguments }}
Expand Down
Loading

0 comments on commit ffe09dd

Please sign in to comment.