Skip to content

Commit 9b6d695

Browse files
authored
Key Vault Keys performance pipeline (Azure#2576)
1 parent f70b9b8 commit 9b6d695

File tree

5 files changed

+92
-9
lines changed

5 files changed

+92
-9
lines changed

eng/pipelines/templates/jobs/perf.yml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,6 @@ extends:
3838
- template: /eng/pipelines/templates/steps/use-rust.yml@self
3939
parameters:
4040
Toolchain: stable
41-
- template: /eng/common/testproxy/test-proxy-tool.yml
42-
parameters:
43-
runProxy: true
44-
rootFolder: '$(Build.SourcesDirectory)/sdk/${{parameters.ServiceDirectory}}'
45-
templateFolder: '$(Build.SourcesDirectory)/sdk/${{parameters.ServiceDirectory}}'
4641

4742
ServiceDirectory: ${{ parameters.ServiceDirectory }}
4843
PackageVersions: ${{ parameters.PackageVersions }}

sdk/keyvault/azure_security_keyvault_keys/benches/benchmarks.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use azure_identity::DefaultAzureCredential;
1+
use azure_core_test::credentials;
22
use azure_security_keyvault_keys::{
33
models::{CreateKeyParameters, CurveName, Key, KeyType},
44
KeyClient,
@@ -21,7 +21,7 @@ fn key_operations_benchmark(c: &mut Criterion) {
2121
async fn setup_key_client() -> (KeyClient, CreateKeyParameters) {
2222
let keyvault_url: String =
2323
std::env::var(ENV_NAME).unwrap_or_else(|e| panic!("{} not set: {}", ENV_NAME, e));
24-
let credential = DefaultAzureCredential::new().unwrap();
24+
let credential = credentials::from_env(None).unwrap();
2525
let client: KeyClient = KeyClient::new(&keyvault_url, credential.clone(), None).unwrap();
2626
let body = CreateKeyParameters {
2727
kty: Some(KeyType::EC),
@@ -61,7 +61,7 @@ fn key_operations_benchmark(c: &mut Criterion) {
6161
b.to_async(&rt).iter(|| async {
6262
create_key(KEY_NAME, &client, body.clone())
6363
.await
64-
.unwrap_or_else(|e| panic!("Failed to create key {}", e));
64+
.unwrap_or_else(|e| panic!("Failed to create key {:?}", e));
6565
black_box(());
6666
});
6767
});
@@ -71,7 +71,7 @@ fn key_operations_benchmark(c: &mut Criterion) {
7171
b.to_async(&rt).iter(|| async {
7272
get_key(KEY_NAME, &client)
7373
.await
74-
.unwrap_or_else(|e| panic!("Failed to get key {}", e));
74+
.unwrap_or_else(|e| panic!("Failed to get key {:?}", e));
7575
black_box(());
7676
});
7777
});
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
// Copyright (c) Microsoft Corporation. All rights reserved.
2+
// Licensed under the MIT License.
3+
4+
param baseName string = resourceGroup().name
5+
param tenantId string
6+
param testApplicationOid string
7+
param location string = resourceGroup().location
8+
@allowed(['standard', 'premium'])
9+
param keyVaultSku string = 'premium'
10+
11+
var kvAdminDefinitionId = '00482a5a-887f-4fb3-b363-3b7fe8e74483'
12+
var kvAdminAssignmentName = guid(resourceGroup().id, kvAdminDefinitionId, testApplicationOid)
13+
14+
resource kv 'Microsoft.KeyVault/vaults@2023-07-01' = {
15+
name: baseName
16+
location: location
17+
properties: {
18+
sku: {
19+
family: 'A'
20+
name: keyVaultSku
21+
}
22+
tenantId: tenantId
23+
enableRbacAuthorization: true
24+
softDeleteRetentionInDays: 7
25+
}
26+
}
27+
28+
resource kvAdmin 'Microsoft.Authorization/roleAssignments@2022-04-01' = {
29+
name: kvAdminAssignmentName
30+
properties: {
31+
roleDefinitionId: resourceId('Microsoft.Authorization/roleDefinitions', kvAdminDefinitionId)
32+
principalId: testApplicationOid
33+
}
34+
}
35+
36+
output AZURE_KEYVAULT_URL string = kv.properties.vaultUri
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
Service: azure_security_keyvault_keys
2+
3+
Project: azure_security_keyvault_keys
4+
5+
PackageVersions:
6+
- azure_security_keyvault_keys: source
7+
8+
Tests:
9+
- Test: get_key
10+
Class: get_key
11+
Arguments:
12+
- --sync
13+
14+
- Test: create_key
15+
Class: create_key
16+
Arguments:
17+
- --sync
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
parameters:
2+
- name: PackageVersions
3+
displayName: PackageVersions (regex of package versions to run)
4+
type: string
5+
default: 'source'
6+
- name: Tests
7+
displayName: Tests (regex of tests to run)
8+
type: string
9+
default: '.*'
10+
- name: Arguments
11+
displayName: Arguments (regex of arguments to run)
12+
type: string
13+
default: '.*'
14+
- name: Iterations
15+
displayName: Iterations (times to run each test)
16+
type: number
17+
default: 1
18+
- name: Profile
19+
type: boolean
20+
default: false
21+
- name: AdditionalArguments
22+
displayName: AdditionalArguments (passed to PerfAutomation)
23+
type: string
24+
default: ' '
25+
26+
extends:
27+
template: /eng/pipelines/templates/jobs/perf.yml@self
28+
parameters:
29+
ServiceDirectory: keyvault/azure_security_keyvault_keys
30+
PackageVersions: ${{ parameters.PackageVersions }}
31+
Tests: ${{ parameters.Tests }}
32+
Arguments: ${{ parameters.Arguments }}
33+
Iterations: ${{ parameters.Iterations }}
34+
AdditionalArguments: ${{ parameters.AdditionalArguments }}
35+
Profile: ${{ parameters.Profile }}

0 commit comments

Comments
 (0)