diff --git a/eng/pipelines/templates/jobs/perf.yml b/eng/pipelines/templates/jobs/perf.yml index f3e04360fa16..3c44dbd4f00a 100644 --- a/eng/pipelines/templates/jobs/perf.yml +++ b/eng/pipelines/templates/jobs/perf.yml @@ -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 @@ -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 }} diff --git a/sdk/eventhub/event-hubs/perf-tests.yml b/sdk/eventhub/event-hubs/perf-tests.yml new file mode 100644 index 000000000000..d0c34fe68339 --- /dev/null +++ b/sdk/eventhub/event-hubs/perf-tests.yml @@ -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 diff --git a/sdk/eventhub/event-hubs/perf.yml b/sdk/eventhub/event-hubs/perf.yml index 517147f5118a..a81e856931f4 100644 --- a/sdk/eventhub/event-hubs/perf.yml +++ b/sdk/eventhub/event-hubs/perf.yml @@ -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 @@ -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 }} diff --git a/sdk/keyvault/keyvault-secrets/perf-tests.yml b/sdk/keyvault/keyvault-secrets/perf-tests.yml new file mode 100644 index 000000000000..ca6b0ebfbe84 --- /dev/null +++ b/sdk/keyvault/keyvault-secrets/perf-tests.yml @@ -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 diff --git a/sdk/servicebus/service-bus/perf-tests.yml b/sdk/servicebus/service-bus/perf-tests.yml new file mode 100644 index 000000000000..bcf864e99e5f --- /dev/null +++ b/sdk/servicebus/service-bus/perf-tests.yml @@ -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 diff --git a/sdk/servicebus/service-bus/perf.yml b/sdk/servicebus/service-bus/perf.yml index 4c46e8b5a89b..d0cd68df9236 100644 --- a/sdk/servicebus/service-bus/perf.yml +++ b/sdk/servicebus/service-bus/perf.yml @@ -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 }} diff --git a/sdk/storage/storage-blob/perf-tests.yml b/sdk/storage/storage-blob/perf-tests.yml new file mode 100644 index 000000000000..3e0b0a3f24ad --- /dev/null +++ b/sdk/storage/storage-blob/perf-tests.yml @@ -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 diff --git a/sdk/storage/storage-blob/perf.yml b/sdk/storage/storage-blob/perf.yml index 60375bb44636..40bdde147203 100644 --- a/sdk/storage/storage-blob/perf.yml +++ b/sdk/storage/storage-blob/perf.yml @@ -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 @@ -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 }} diff --git a/sdk/storage/storage-file-datalake/perf-tests.yml b/sdk/storage/storage-file-datalake/perf-tests.yml new file mode 100644 index 000000000000..7e5fd165772e --- /dev/null +++ b/sdk/storage/storage-file-datalake/perf-tests.yml @@ -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 diff --git a/sdk/storage/storage-file-datalake/perf.yml b/sdk/storage/storage-file-datalake/perf.yml index 211c5ed52bcc..17a23019da7c 100644 --- a/sdk/storage/storage-file-datalake/perf.yml +++ b/sdk/storage/storage-file-datalake/perf.yml @@ -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 @@ -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 }} diff --git a/sdk/storage/storage-file-share/perf-tests.yml b/sdk/storage/storage-file-share/perf-tests.yml new file mode 100644 index 000000000000..5e7a75351486 --- /dev/null +++ b/sdk/storage/storage-file-share/perf-tests.yml @@ -0,0 +1,38 @@ +Service: storage-file-share + +Project: sdk/storage/perf-tests/storage-file-share + +PrimaryPackage: '@azure/storage-file-share' + +PackageVersions: +- '@azure/storage-file-share': 12.12.0 + '@azure/core-auth': 1.4.0 + '@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/abort-controller': 1.1.0 + '@azure/logger': 1.0.3 +- '@azure/storage-file-share': source + '@azure/core-auth': source + '@azure/core-http': 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: StorageFileShareDownloadTest + 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: StorageFileShareUploadTest + Arguments: *sizes diff --git a/sdk/storage/storage-file-share/perf.yml b/sdk/storage/storage-file-share/perf.yml index 2bee623b48b6..9a7ccb2fa9c8 100644 --- a/sdk/storage/storage-file-share/perf.yml +++ b/sdk/storage/storage-file-share/perf.yml @@ -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 @@ -31,7 +35,7 @@ extends: parameters: OperatingSystems: ${{ parameters.OperatingSystems }} ServiceDirectory: storage/storage-file-share - Services: "^storage-file-share$" + LanguageVersion: ${{ parameters.LanguageVersion }} PackageVersions: ${{ parameters.PackageVersions }} Tests: ${{ parameters.Tests }} Arguments: ${{ parameters.Arguments }}