Skip to content

Commit 2e3fee5

Browse files
[keyvault] Change over to using core-tracing (Azure#13949)
Removing the createSpan from keyvault-common (each package now has a simple version derived from core-tracing).
1 parent f88317f commit 2e3fee5

File tree

22 files changed

+344
-561
lines changed

22 files changed

+344
-561
lines changed

sdk/keyvault/keyvault-admin/src/accessControlClient.ts

Lines changed: 15 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ import {
4242
} from "./accessControlModels";
4343

4444
import { SDK_VERSION, LATEST_API_VERSION } from "./constants";
45-
import { createSpan, setParentSpan } from "../../keyvault-common/src";
45+
import { createSpan } from "./tracing";
4646
import { mappings } from "./mappings";
4747
import { logger } from "./log";
4848

@@ -146,7 +146,7 @@ export class KeyVaultAccessControlClient {
146146
principalId: string,
147147
options?: CreateRoleAssignmentOptions
148148
): Promise<KeyVaultRoleAssignment> {
149-
const span = createSpan("createRoleAssignment", options);
149+
const { span, updatedOptions } = createSpan("createRoleAssignment", options);
150150

151151
if (!(roleScope && name && roleDefinitionId && principalId)) {
152152
throw new Error(
@@ -166,7 +166,7 @@ export class KeyVaultAccessControlClient {
166166
principalId
167167
}
168168
},
169-
setParentSpan(span, options)
169+
updatedOptions
170170
);
171171
} finally {
172172
span.end();
@@ -195,15 +195,15 @@ export class KeyVaultAccessControlClient {
195195
name: string,
196196
options?: DeleteRoleAssignmentOptions
197197
): Promise<KeyVaultRoleAssignment> {
198-
const span = createSpan("deleteRoleAssignment", options);
198+
const { span, updatedOptions } = createSpan("deleteRoleAssignment", options);
199199

200200
let response: RoleAssignmentsDeleteResponse;
201201
try {
202202
response = await this.client.roleAssignments.delete(
203203
this.vaultUrl,
204204
roleScope,
205205
name,
206-
setParentSpan(span, options)
206+
updatedOptions
207207
);
208208
} finally {
209209
span.end();
@@ -232,15 +232,15 @@ export class KeyVaultAccessControlClient {
232232
name: string,
233233
options?: GetRoleAssignmentOptions
234234
): Promise<KeyVaultRoleAssignment> {
235-
const span = createSpan("getRoleAssignment", options);
235+
const { span, updatedOptions } = createSpan("getRoleAssignment", options);
236236

237237
let response: RoleAssignmentsDeleteResponse;
238238
try {
239239
response = await this.client.roleAssignments.get(
240240
this.vaultUrl,
241241
roleScope,
242242
name,
243-
setParentSpan(span, options)
243+
updatedOptions
244244
);
245245
} finally {
246246
span.end();
@@ -322,11 +322,7 @@ export class KeyVaultAccessControlClient {
322322
roleScope: KeyVaultRoleScope,
323323
options: ListRoleAssignmentsOptions = {}
324324
): PagedAsyncIterableIterator<KeyVaultRoleAssignment> {
325-
const span = createSpan("listRoleAssignments", options);
326-
const updatedOptions: ListRoleAssignmentsOptions = {
327-
...options,
328-
...setParentSpan(span, options)
329-
};
325+
const { span, updatedOptions } = createSpan("listRoleAssignments", options);
330326

331327
const iter = this.listRoleAssignmentsAll(roleScope, updatedOptions);
332328

@@ -416,11 +412,7 @@ export class KeyVaultAccessControlClient {
416412
roleScope: KeyVaultRoleScope,
417413
options: ListRoleDefinitionsOptions = {}
418414
): PagedAsyncIterableIterator<KeyVaultRoleDefinition> {
419-
const span = createSpan("listRoleDefinitions", options);
420-
const updatedOptions: ListRoleDefinitionsOptions = {
421-
...options,
422-
...setParentSpan(span, options)
423-
};
415+
const { span, updatedOptions } = createSpan("listRoleDefinitions", options);
424416

425417
const iter = this.listRoleDefinitionsAll(roleScope, updatedOptions);
426418

@@ -455,15 +447,15 @@ export class KeyVaultAccessControlClient {
455447
name: string,
456448
options: GetRoleDefinitionOptions = {}
457449
): Promise<KeyVaultRoleDefinition> {
458-
const span = createSpan("getRoleDefinition", options);
450+
const { span, updatedOptions } = createSpan("getRoleDefinition", options);
459451

460452
let response: RoleDefinitionsGetResponse;
461453
try {
462454
response = await this.client.roleDefinitions.get(
463455
this.vaultUrl,
464456
roleScope,
465457
name,
466-
setParentSpan(span, options)
458+
updatedOptions
467459
);
468460
} finally {
469461
span.end();
@@ -495,7 +487,7 @@ export class KeyVaultAccessControlClient {
495487
description?: string,
496488
options: UpsertRoleDefinitionOptions = {}
497489
): Promise<KeyVaultRoleDefinition> {
498-
const span = createSpan("upsertRoleDefinition", options);
490+
const { span, updatedOptions } = createSpan("upsertRoleDefinition", options);
499491

500492
let response: RoleDefinitionsCreateOrUpdateResponse;
501493
try {
@@ -512,7 +504,7 @@ export class KeyVaultAccessControlClient {
512504
roleType: "CustomRole"
513505
}
514506
},
515-
setParentSpan(span, options)
507+
updatedOptions
516508
);
517509
} finally {
518510
span.end();
@@ -540,15 +532,15 @@ export class KeyVaultAccessControlClient {
540532
name: string,
541533
options: DeleteRoleDefinitionOptions = {}
542534
): Promise<KeyVaultRoleDefinition> {
543-
const span = createSpan("deleteRoleDefinition", options);
535+
const { span, updatedOptions } = createSpan("deleteRoleDefinition", options);
544536

545537
let response: RoleDefinitionsDeleteResponse;
546538
try {
547539
response = await this.client.roleDefinitions.delete(
548540
this.vaultUrl,
549541
roleScope,
550542
name,
551-
setParentSpan(span, options)
543+
updatedOptions
552544
);
553545
} finally {
554546
span.end();

sdk/keyvault/keyvault-admin/src/lro/backup/operation.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import {
1010
KeyVaultClientFullBackupResponse,
1111
KeyVaultClientFullBackupStatusResponse
1212
} from "../../generated/models";
13-
import { createSpan, setParentSpan } from "../../../../keyvault-common/src";
13+
import { createSpan } from "../../tracing";
1414
import { BackupResult, BeginBackupOptions } from "../../backupClientModels";
1515
import {
1616
KeyVaultAdminPollOperation,
@@ -58,9 +58,9 @@ export class BackupPollOperation extends KeyVaultAdminPollOperation<
5858
private async fullBackup(
5959
options: KeyVaultClientFullBackupOptionalParams
6060
): Promise<KeyVaultClientFullBackupResponse> {
61-
const span = createSpan("generatedClient.fullBackup", options);
61+
const { span, updatedOptions } = createSpan("generatedClient.fullBackup", options);
6262
try {
63-
return await this.client.fullBackup(this.vaultUrl, setParentSpan(span, options));
63+
return await this.client.fullBackup(this.vaultUrl, updatedOptions);
6464
} finally {
6565
span.end();
6666
}
@@ -73,9 +73,9 @@ export class BackupPollOperation extends KeyVaultAdminPollOperation<
7373
jobId: string,
7474
options: BeginBackupOptions
7575
): Promise<KeyVaultClientFullBackupStatusResponse> {
76-
const span = createSpan("generatedClient.fullBackupStatus", options);
76+
const { span, updatedOptions } = createSpan("generatedClient.fullBackupStatus", options);
7777
try {
78-
return await this.client.fullBackupStatus(this.vaultUrl, jobId, setParentSpan(span, options));
78+
return await this.client.fullBackupStatus(this.vaultUrl, jobId, updatedOptions);
7979
} finally {
8080
span.end();
8181
}

sdk/keyvault/keyvault-admin/src/lro/restore/operation.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import {
99
KeyVaultClientRestoreStatusResponse,
1010
RestoreOperation
1111
} from "../../generated/models";
12-
import { createSpan, setParentSpan } from "../../../../keyvault-common/src";
12+
import { createSpan } from "../../tracing";
1313
import { KeyVaultClientFullRestoreOperationResponse } from "../../generated/models";
1414
import {
1515
KeyVaultAdminPollOperation,
@@ -65,9 +65,9 @@ export class RestorePollOperation extends KeyVaultAdminPollOperation<
6565
private async fullRestore(
6666
options: KeyVaultClientFullRestoreOperationOptionalParams
6767
): Promise<KeyVaultClientFullRestoreOperationResponse> {
68-
const span = createSpan("generatedClient.fullRestore", options);
68+
const { span, updatedOptions } = createSpan("generatedClient.fullRestore", options);
6969
try {
70-
return await this.client.fullRestoreOperation(this.vaultUrl, setParentSpan(span, options));
70+
return await this.client.fullRestoreOperation(this.vaultUrl, updatedOptions);
7171
} finally {
7272
span.end();
7373
}
@@ -80,9 +80,9 @@ export class RestorePollOperation extends KeyVaultAdminPollOperation<
8080
jobId: string,
8181
options: OperationOptions
8282
): Promise<KeyVaultClientRestoreStatusResponse> {
83-
const span = createSpan("generatedClient.restoreStatus", options);
83+
const { span, updatedOptions } = createSpan("generatedClient.restoreStatus", options);
8484
try {
85-
return await this.client.restoreStatus(this.vaultUrl, jobId, setParentSpan(span, options));
85+
return await this.client.restoreStatus(this.vaultUrl, jobId, updatedOptions);
8686
} finally {
8787
span.end();
8888
}

sdk/keyvault/keyvault-admin/src/lro/selectiveRestore/operation.ts

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,15 @@
22
// Licensed under the MIT license.
33

44
import { AbortSignalLike } from "@azure/abort-controller";
5-
import {
6-
OperationOptions,
7-
operationOptionsToRequestOptionsBase,
8-
RequestOptionsBase
9-
} from "@azure/core-http";
5+
import { OperationOptions, RequestOptionsBase } from "@azure/core-http";
106
import { KeyVaultClient } from "../../generated/keyVaultClient";
117
import {
128
KeyVaultClientRestoreStatusResponse,
139
KeyVaultClientSelectiveKeyRestoreOperationOptionalParams,
1410
KeyVaultClientSelectiveKeyRestoreOperationResponse,
1511
RestoreOperation
1612
} from "../../generated/models";
17-
import { createSpan, setParentSpan } from "../../../../keyvault-common/src";
13+
import { createSpan } from "../../tracing";
1814
import {
1915
KeyVaultAdminPollOperation,
2016
KeyVaultAdminPollOperationState
@@ -73,14 +69,9 @@ export class SelectiveRestorePollOperation extends KeyVaultAdminPollOperation<
7369
keyName: string,
7470
options: KeyVaultClientSelectiveKeyRestoreOperationOptionalParams
7571
): Promise<KeyVaultClientSelectiveKeyRestoreOperationResponse> {
76-
const requestOptions = operationOptionsToRequestOptionsBase(options);
77-
const span = createSpan("generatedClient.selectiveRestore", requestOptions);
72+
const { span, updatedOptions } = createSpan("generatedClient.selectiveRestore", options);
7873
try {
79-
return await this.client.selectiveKeyRestoreOperation(
80-
this.vaultUrl,
81-
keyName,
82-
setParentSpan(span, requestOptions)
83-
);
74+
return await this.client.selectiveKeyRestoreOperation(this.vaultUrl, keyName, updatedOptions);
8475
} finally {
8576
span.end();
8677
}
@@ -93,10 +84,9 @@ export class SelectiveRestorePollOperation extends KeyVaultAdminPollOperation<
9384
jobId: string,
9485
options: OperationOptions
9586
): Promise<KeyVaultClientRestoreStatusResponse> {
96-
const requestOptions = operationOptionsToRequestOptionsBase(options);
97-
const span = createSpan("generatedClient.restoreStatus", requestOptions);
87+
const { span, updatedOptions } = createSpan("generatedClient.restoreStatus", options);
9888
try {
99-
return await this.client.restoreStatus(this.vaultUrl, jobId, options);
89+
return await this.client.restoreStatus(this.vaultUrl, jobId, updatedOptions);
10090
} finally {
10191
span.end();
10292
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
// Copyright (c) Microsoft Corporation.
2+
// Licensed under the MIT license.
3+
4+
import { createSpanFunction, OperationTracingOptions } from "@azure/core-tracing";
5+
import { Span } from "@opentelemetry/api";
6+
7+
/*
8+
* @internal
9+
*/
10+
export const createSpan: <T extends {
11+
tracingOptions?: OperationTracingOptions | undefined;
12+
}>(
13+
operationName: string,
14+
operationOptions: T | undefined
15+
) => {
16+
span: Span;
17+
updatedOptions: T;
18+
} = createSpanFunction({
19+
packagePrefix: "AdminClient",
20+
namespace: "Microsoft.KeyVault"
21+
});

0 commit comments

Comments
 (0)