@azure/msal-common 14.13.1 → 14.14.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/account/AccountInfo.d.ts +66 -66
- package/dist/account/AccountInfo.mjs +77 -77
- package/dist/account/AuthToken.d.ts +17 -17
- package/dist/account/AuthToken.mjs +58 -58
- package/dist/account/CcsCredential.d.ts +9 -9
- package/dist/account/CcsCredential.mjs +8 -8
- package/dist/account/ClientCredentials.d.ts +19 -19
- package/dist/account/ClientInfo.d.ts +18 -18
- package/dist/account/ClientInfo.mjs +37 -37
- package/dist/account/TokenClaims.d.ts +83 -83
- package/dist/account/TokenClaims.mjs +20 -20
- package/dist/authority/Authority.d.ts +254 -254
- package/dist/authority/Authority.mjs +836 -836
- package/dist/authority/AuthorityFactory.d.ts +18 -18
- package/dist/authority/AuthorityFactory.mjs +28 -28
- package/dist/authority/AuthorityMetadata.d.ts +43 -43
- package/dist/authority/AuthorityMetadata.mjs +137 -137
- package/dist/authority/AuthorityOptions.d.ts +27 -27
- package/dist/authority/AuthorityOptions.mjs +18 -18
- package/dist/authority/AuthorityType.d.ts +10 -10
- package/dist/authority/AuthorityType.mjs +13 -13
- package/dist/authority/AzureRegion.d.ts +1 -1
- package/dist/authority/AzureRegionConfiguration.d.ts +5 -5
- package/dist/authority/CloudDiscoveryMetadata.d.ts +5 -5
- package/dist/authority/CloudInstanceDiscoveryErrorResponse.d.ts +13 -13
- package/dist/authority/CloudInstanceDiscoveryErrorResponse.mjs +8 -8
- package/dist/authority/CloudInstanceDiscoveryResponse.d.ts +9 -9
- package/dist/authority/CloudInstanceDiscoveryResponse.mjs +8 -8
- package/dist/authority/ImdsOptions.d.ts +5 -5
- package/dist/authority/OIDCOptions.d.ts +8 -8
- package/dist/authority/OpenIdConfigResponse.d.ts +11 -11
- package/dist/authority/OpenIdConfigResponse.mjs +10 -10
- package/dist/authority/ProtocolMode.d.ts +8 -8
- package/dist/authority/ProtocolMode.mjs +11 -11
- package/dist/authority/RegionDiscovery.d.ts +32 -32
- package/dist/authority/RegionDiscovery.mjs +106 -106
- package/dist/authority/RegionDiscoveryMetadata.d.ts +6 -6
- package/dist/broker/nativeBroker/INativeBrokerPlugin.d.ts +15 -15
- package/dist/cache/CacheManager.d.ts +497 -497
- package/dist/cache/CacheManager.mjs +1249 -1249
- package/dist/cache/entities/AccessTokenEntity.d.ts +25 -25
- package/dist/cache/entities/AccountEntity.d.ts +106 -106
- package/dist/cache/entities/AccountEntity.mjs +240 -240
- package/dist/cache/entities/AppMetadataEntity.d.ts +11 -11
- package/dist/cache/entities/AuthorityMetadataEntity.d.ts +15 -15
- package/dist/cache/entities/CacheRecord.d.ts +13 -13
- package/dist/cache/entities/CredentialEntity.d.ts +30 -30
- package/dist/cache/entities/IdTokenEntity.d.ts +8 -8
- package/dist/cache/entities/RefreshTokenEntity.d.ts +7 -7
- package/dist/cache/entities/ServerTelemetryEntity.d.ts +6 -5
- package/dist/cache/entities/ServerTelemetryEntity.d.ts.map +1 -1
- package/dist/cache/entities/ThrottlingEntity.d.ts +7 -7
- package/dist/cache/interface/ICacheManager.d.ts +166 -166
- package/dist/cache/interface/ICachePlugin.d.ts +5 -5
- package/dist/cache/interface/ISerializableTokenCache.d.ts +4 -4
- package/dist/cache/persistence/TokenCacheContext.d.ts +23 -23
- package/dist/cache/persistence/TokenCacheContext.mjs +25 -25
- package/dist/cache/utils/CacheHelpers.d.ts +94 -94
- package/dist/cache/utils/CacheHelpers.mjs +324 -324
- package/dist/cache/utils/CacheTypes.d.ts +69 -69
- package/dist/client/AuthorizationCodeClient.d.ts +74 -74
- package/dist/client/AuthorizationCodeClient.mjs +420 -420
- package/dist/client/BaseClient.d.ts +51 -51
- package/dist/client/BaseClient.mjs +100 -100
- package/dist/client/RefreshTokenClient.d.ts +35 -35
- package/dist/client/RefreshTokenClient.mjs +211 -211
- package/dist/client/SilentFlowClient.d.ts +27 -27
- package/dist/client/SilentFlowClient.mjs +133 -133
- package/dist/config/AppTokenProvider.d.ts +38 -38
- package/dist/config/ClientConfiguration.d.ts +150 -150
- package/dist/config/ClientConfiguration.mjs +95 -95
- package/dist/constants/AADServerParamKeys.d.ts +53 -52
- package/dist/constants/AADServerParamKeys.d.ts.map +1 -1
- package/dist/constants/AADServerParamKeys.mjs +59 -58
- package/dist/constants/AADServerParamKeys.mjs.map +1 -1
- package/dist/crypto/ICrypto.d.ts +68 -68
- package/dist/crypto/ICrypto.mjs +36 -36
- package/dist/crypto/IGuidGenerator.d.ts +4 -4
- package/dist/crypto/JoseHeader.d.ts +22 -22
- package/dist/crypto/JoseHeader.mjs +37 -37
- package/dist/crypto/PopTokenGenerator.d.ts +59 -59
- package/dist/crypto/PopTokenGenerator.mjs +81 -81
- package/dist/crypto/SignedHttpRequest.d.ts +15 -15
- package/dist/error/AuthError.d.ts +44 -44
- package/dist/error/AuthError.mjs +46 -46
- package/dist/error/AuthErrorCodes.d.ts +5 -5
- package/dist/error/AuthErrorCodes.mjs +9 -9
- package/dist/error/CacheError.d.ts +20 -20
- package/dist/error/CacheError.mjs +24 -24
- package/dist/error/CacheErrorCodes.d.ts +2 -2
- package/dist/error/CacheErrorCodes.mjs +6 -6
- package/dist/error/ClientAuthError.d.ts +237 -237
- package/dist/error/ClientAuthError.mjs +249 -249
- package/dist/error/ClientAuthErrorCodes.d.ts +44 -44
- package/dist/error/ClientAuthErrorCodes.mjs +48 -48
- package/dist/error/ClientConfigurationError.d.ts +128 -128
- package/dist/error/ClientConfigurationError.mjs +135 -135
- package/dist/error/ClientConfigurationErrorCodes.d.ts +22 -22
- package/dist/error/ClientConfigurationErrorCodes.mjs +26 -26
- package/dist/error/InteractionRequiredAuthError.d.ts +65 -65
- package/dist/error/InteractionRequiredAuthError.mjs +85 -85
- package/dist/error/InteractionRequiredAuthErrorCodes.d.ts +7 -7
- package/dist/error/InteractionRequiredAuthErrorCodes.mjs +13 -13
- package/dist/error/JoseHeaderError.d.ts +15 -15
- package/dist/error/JoseHeaderError.mjs +22 -22
- package/dist/error/JoseHeaderErrorCodes.d.ts +2 -2
- package/dist/error/JoseHeaderErrorCodes.mjs +6 -6
- package/dist/error/ServerError.d.ts +15 -15
- package/dist/error/ServerError.mjs +16 -16
- package/dist/index.cjs +8664 -8599
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +107 -107
- package/dist/index.mjs +1 -1
- package/dist/logger/Logger.d.ts +95 -95
- package/dist/logger/Logger.mjs +188 -188
- package/dist/network/INetworkModule.d.ts +29 -29
- package/dist/network/INetworkModule.mjs +12 -12
- package/dist/network/NetworkManager.d.ts +33 -33
- package/dist/network/NetworkManager.mjs +34 -34
- package/dist/network/RequestThumbprint.d.ts +18 -18
- package/dist/network/ThrottlingUtils.d.ts +42 -42
- package/dist/network/ThrottlingUtils.mjs +95 -95
- package/dist/packageMetadata.d.ts +2 -2
- package/dist/packageMetadata.mjs +4 -4
- package/dist/request/AuthenticationHeaderParser.d.ts +19 -19
- package/dist/request/AuthenticationHeaderParser.mjs +55 -55
- package/dist/request/BaseAuthRequest.d.ts +47 -47
- package/dist/request/CommonAuthorizationCodeRequest.d.ts +27 -27
- package/dist/request/CommonAuthorizationUrlRequest.d.ts +50 -50
- package/dist/request/CommonClientCredentialRequest.d.ts +17 -17
- package/dist/request/CommonDeviceCodeRequest.d.ts +21 -21
- package/dist/request/CommonEndSessionRequest.d.ts +21 -21
- package/dist/request/CommonOnBehalfOfRequest.d.ts +13 -13
- package/dist/request/CommonRefreshTokenRequest.d.ts +22 -22
- package/dist/request/CommonSilentFlowRequest.d.ts +27 -27
- package/dist/request/CommonUsernamePasswordRequest.d.ts +17 -17
- package/dist/request/NativeRequest.d.ts +19 -19
- package/dist/request/NativeSignOutRequest.d.ts +5 -5
- package/dist/request/RequestParameterBuilder.d.ts +217 -217
- package/dist/request/RequestParameterBuilder.mjs +382 -382
- package/dist/request/RequestValidator.d.ts +27 -27
- package/dist/request/RequestValidator.mjs +64 -64
- package/dist/request/ScopeSet.d.ts +88 -88
- package/dist/request/ScopeSet.mjs +197 -197
- package/dist/request/StoreInCache.d.ts +8 -8
- package/dist/response/AuthenticationResult.d.ts +41 -41
- package/dist/response/AuthorizationCodePayload.d.ts +13 -13
- package/dist/response/DeviceCodeResponse.d.ts +25 -25
- package/dist/response/ExternalTokenResponse.d.ts +15 -15
- package/dist/response/IMDSBadResponse.d.ts +4 -4
- package/dist/response/ResponseHandler.d.ts +69 -69
- package/dist/response/ResponseHandler.mjs +374 -374
- package/dist/response/ServerAuthorizationCodeResponse.d.ts +26 -26
- package/dist/response/ServerAuthorizationTokenResponse.d.ts +47 -47
- package/dist/telemetry/performance/IPerformanceClient.d.ts +57 -57
- package/dist/telemetry/performance/IPerformanceMeasurement.d.ts +5 -5
- package/dist/telemetry/performance/PerformanceClient.d.ts +242 -242
- package/dist/telemetry/performance/PerformanceClient.mjs +587 -587
- package/dist/telemetry/performance/PerformanceEvent.d.ts +515 -505
- package/dist/telemetry/performance/PerformanceEvent.d.ts.map +1 -1
- package/dist/telemetry/performance/PerformanceEvent.mjs +484 -480
- package/dist/telemetry/performance/PerformanceEvent.mjs.map +1 -1
- package/dist/telemetry/performance/StubPerformanceClient.d.ts +24 -24
- package/dist/telemetry/performance/StubPerformanceClient.mjs +76 -76
- package/dist/telemetry/server/ServerTelemetryManager.d.ts +78 -66
- package/dist/telemetry/server/ServerTelemetryManager.d.ts.map +1 -1
- package/dist/telemetry/server/ServerTelemetryManager.mjs +260 -201
- package/dist/telemetry/server/ServerTelemetryManager.mjs.map +1 -1
- package/dist/telemetry/server/ServerTelemetryRequest.d.ts +8 -8
- package/dist/url/IUri.d.ts +12 -12
- package/dist/url/UrlString.d.ts +48 -48
- package/dist/url/UrlString.mjs +161 -161
- package/dist/utils/ClientAssertionUtils.d.ts +2 -2
- package/dist/utils/ClientAssertionUtils.mjs +16 -16
- package/dist/utils/Constants.d.ts +309 -309
- package/dist/utils/Constants.mjs +322 -322
- package/dist/utils/FunctionWrappers.d.ts +27 -27
- package/dist/utils/FunctionWrappers.mjs +94 -94
- package/dist/utils/MsalTypes.d.ts +6 -6
- package/dist/utils/ProtocolUtils.d.ts +42 -42
- package/dist/utils/ProtocolUtils.mjs +69 -69
- package/dist/utils/StringUtils.d.ts +40 -40
- package/dist/utils/StringUtils.mjs +95 -95
- package/dist/utils/TimeUtils.d.ts +25 -25
- package/dist/utils/TimeUtils.mjs +43 -43
- package/dist/utils/UrlUtils.d.ts +10 -10
- package/dist/utils/UrlUtils.mjs +44 -44
- package/package.json +1 -1
- package/src/cache/entities/ServerTelemetryEntity.ts +1 -0
- package/src/constants/AADServerParamKeys.ts +1 -0
- package/src/packageMetadata.ts +1 -1
- package/src/telemetry/performance/PerformanceEvent.ts +12 -0
- package/src/telemetry/server/ServerTelemetryManager.ts +95 -1
|
@@ -1,243 +1,243 @@
|
|
|
1
|
-
import { ApplicationTelemetry } from "../../config/ClientConfiguration";
|
|
2
|
-
import { Logger } from "../../logger/Logger";
|
|
3
|
-
import { InProgressPerformanceEvent, IPerformanceClient, PerformanceCallbackFunction, QueueMeasurement } from "./IPerformanceClient";
|
|
4
|
-
import { PerformanceEvent, PerformanceEventContext, PerformanceEvents, PerformanceEventStackedContext } from "./PerformanceEvent";
|
|
5
|
-
import { IPerformanceMeasurement } from "./IPerformanceMeasurement";
|
|
6
|
-
export interface PreQueueEvent {
|
|
7
|
-
name: PerformanceEvents;
|
|
8
|
-
time: number;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Starts context by adding payload to the stack
|
|
12
|
-
* @param event {PerformanceEvent}
|
|
13
|
-
* @param abbreviations {Map<string, string>} event name abbreviations
|
|
14
|
-
* @param stack {?PerformanceEventStackedContext[]} stack
|
|
15
|
-
*/
|
|
16
|
-
export declare function startContext(event: PerformanceEvent, abbreviations: Map<string, string>, stack?: PerformanceEventStackedContext[]): void;
|
|
17
|
-
/**
|
|
18
|
-
* Ends context by removing payload from the stack and returning parent or self, if stack is empty, payload
|
|
19
|
-
*
|
|
20
|
-
* @param event {PerformanceEvent}
|
|
21
|
-
* @param abbreviations {Map<string, string>} event name abbreviations
|
|
22
|
-
* @param stack {?PerformanceEventStackedContext[]} stack
|
|
23
|
-
* @param error {?unknown} error
|
|
24
|
-
*/
|
|
25
|
-
export declare function endContext(event: PerformanceEvent, abbreviations: Map<string, string>, stack?: PerformanceEventStackedContext[], error?: unknown): PerformanceEventContext | undefined;
|
|
26
|
-
/**
|
|
27
|
-
* Adds error name and stack trace to the telemetry event
|
|
28
|
-
* @param error {Error}
|
|
29
|
-
* @param logger {Logger}
|
|
30
|
-
* @param event {PerformanceEvent}
|
|
31
|
-
* @param stackMaxSize {number} max error stack size to capture
|
|
32
|
-
*/
|
|
33
|
-
export declare function addError(error: unknown, logger: Logger, event: PerformanceEvent, stackMaxSize?: number): void;
|
|
34
|
-
/**
|
|
35
|
-
* Compacts error stack into array by fetching N first entries
|
|
36
|
-
* @param stack {string} error stack
|
|
37
|
-
* @param stackMaxSize {number} max error stack size to capture
|
|
38
|
-
* @returns {string[]}
|
|
39
|
-
*/
|
|
40
|
-
export declare function compactStack(stack: string, stackMaxSize: number): string[];
|
|
41
|
-
/**
|
|
42
|
-
* Compacts error stack line by shortening file path
|
|
43
|
-
* Example: https://localhost/msal-common/src/authority/Authority.js:100:1 -> Authority.js:100:1
|
|
44
|
-
* @param line {string} stack line
|
|
45
|
-
* @returns {string}
|
|
46
|
-
*/
|
|
47
|
-
export declare function compactStackLine(line: string): string;
|
|
48
|
-
export declare abstract class PerformanceClient implements IPerformanceClient {
|
|
49
|
-
protected authority: string;
|
|
50
|
-
protected libraryName: string;
|
|
51
|
-
protected libraryVersion: string;
|
|
52
|
-
protected applicationTelemetry: ApplicationTelemetry;
|
|
53
|
-
protected clientId: string;
|
|
54
|
-
protected logger: Logger;
|
|
55
|
-
protected callbacks: Map<string, PerformanceCallbackFunction>;
|
|
56
|
-
/**
|
|
57
|
-
* Multiple events with the same correlation id.
|
|
58
|
-
* @protected
|
|
59
|
-
* @type {Map<string, PerformanceEvent>}
|
|
60
|
-
*/
|
|
61
|
-
protected eventsByCorrelationId: Map<string, PerformanceEvent>;
|
|
62
|
-
/**
|
|
63
|
-
* Map of pre-queue times by correlation Id
|
|
64
|
-
*
|
|
65
|
-
* @protected
|
|
66
|
-
* @type {Map<string, PreQueueEvent>}
|
|
67
|
-
*/
|
|
68
|
-
protected preQueueTimeByCorrelationId: Map<string, PreQueueEvent>;
|
|
69
|
-
/**
|
|
70
|
-
* Map of queue measurements by correlation Id
|
|
71
|
-
*
|
|
72
|
-
* @protected
|
|
73
|
-
* @type {Map<string, Array<QueueMeasurement>>}
|
|
74
|
-
*/
|
|
75
|
-
protected queueMeasurements: Map<string, Array<QueueMeasurement>>;
|
|
76
|
-
protected intFields: Set<string>;
|
|
77
|
-
/**
|
|
78
|
-
* Map of stacked events by correlation id.
|
|
79
|
-
*
|
|
80
|
-
* @protected
|
|
81
|
-
*/
|
|
82
|
-
protected eventStack: Map<string, PerformanceEventStackedContext[]>;
|
|
83
|
-
/**
|
|
84
|
-
* Event name abbreviations
|
|
85
|
-
*
|
|
86
|
-
* @protected
|
|
87
|
-
*/
|
|
88
|
-
protected abbreviations: Map<string, string>;
|
|
89
|
-
/**
|
|
90
|
-
* Creates an instance of PerformanceClient,
|
|
91
|
-
* an abstract class containing core performance telemetry logic.
|
|
92
|
-
*
|
|
93
|
-
* @constructor
|
|
94
|
-
* @param {string} clientId Client ID of the application
|
|
95
|
-
* @param {string} authority Authority used by the application
|
|
96
|
-
* @param {Logger} logger Logger used by the application
|
|
97
|
-
* @param {string} libraryName Name of the library
|
|
98
|
-
* @param {string} libraryVersion Version of the library
|
|
99
|
-
* @param {ApplicationTelemetry} applicationTelemetry application name and version
|
|
100
|
-
* @param {Set<String>} intFields integer fields to be truncated
|
|
101
|
-
* @param {Map<string, string>} abbreviations event name abbreviations
|
|
102
|
-
*/
|
|
103
|
-
constructor(clientId: string, authority: string, logger: Logger, libraryName: string, libraryVersion: string, applicationTelemetry: ApplicationTelemetry, intFields?: Set<string>, abbreviations?: Map<string, string>);
|
|
104
|
-
/**
|
|
105
|
-
* Generates and returns a unique id, typically a guid.
|
|
106
|
-
*
|
|
107
|
-
* @abstract
|
|
108
|
-
* @returns {string}
|
|
109
|
-
*/
|
|
110
|
-
abstract generateId(): string;
|
|
111
|
-
/**
|
|
112
|
-
* Starts and returns an platform-specific implementation of IPerformanceMeasurement.
|
|
113
|
-
* Note: this function can be changed to abstract at the next major version bump.
|
|
114
|
-
*
|
|
115
|
-
* @param {string} measureName
|
|
116
|
-
* @param {string} correlationId
|
|
117
|
-
* @returns {IPerformanceMeasurement}
|
|
118
|
-
* @deprecated This method will be removed in the next major version
|
|
119
|
-
*/
|
|
120
|
-
startPerformanceMeasurement(measureName: string, // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
121
|
-
correlationId: string): IPerformanceMeasurement;
|
|
122
|
-
/**
|
|
123
|
-
* Sets pre-queue time by correlation Id
|
|
124
|
-
*
|
|
125
|
-
* @abstract
|
|
126
|
-
* @param {PerformanceEvents} eventName
|
|
127
|
-
* @param {string} correlationId
|
|
128
|
-
* @returns
|
|
129
|
-
*/
|
|
130
|
-
abstract setPreQueueTime(eventName: PerformanceEvents, correlationId?: string): void;
|
|
131
|
-
/**
|
|
132
|
-
* Gets map of pre-queue times by correlation Id
|
|
133
|
-
*
|
|
134
|
-
* @param {PerformanceEvents} eventName
|
|
135
|
-
* @param {string} correlationId
|
|
136
|
-
* @returns {number}
|
|
137
|
-
*/
|
|
138
|
-
getPreQueueTime(eventName: string, correlationId: string): number | void;
|
|
139
|
-
/**
|
|
140
|
-
* Calculates the difference between current time and time when function was queued.
|
|
141
|
-
* Note: It is possible to have 0 as the queue time if the current time and the queued time was the same.
|
|
142
|
-
*
|
|
143
|
-
* @param {number} preQueueTime
|
|
144
|
-
* @param {number} currentTime
|
|
145
|
-
* @returns {number}
|
|
146
|
-
*/
|
|
147
|
-
calculateQueuedTime(preQueueTime: number, currentTime: number): number;
|
|
148
|
-
/**
|
|
149
|
-
* Adds queue measurement time to QueueMeasurements array for given correlation ID.
|
|
150
|
-
*
|
|
151
|
-
* @param {PerformanceEvents} eventName
|
|
152
|
-
* @param {?string} correlationId
|
|
153
|
-
* @param {?number} queueTime
|
|
154
|
-
* @param {?boolean} manuallyCompleted - indicator for manually completed queue measurements
|
|
155
|
-
* @returns
|
|
156
|
-
*/
|
|
157
|
-
addQueueMeasurement(eventName: string, correlationId?: string, queueTime?: number, manuallyCompleted?: boolean): void;
|
|
158
|
-
/**
|
|
159
|
-
* Starts measuring performance for a given operation. Returns a function that should be used to end the measurement.
|
|
160
|
-
*
|
|
161
|
-
* @param {PerformanceEvents} measureName
|
|
162
|
-
* @param {?string} [correlationId]
|
|
163
|
-
* @returns {InProgressPerformanceEvent}
|
|
164
|
-
*/
|
|
165
|
-
startMeasurement(measureName: string, correlationId?: string): InProgressPerformanceEvent;
|
|
166
|
-
/**
|
|
167
|
-
* Stops measuring the performance for an operation. Should only be called directly by PerformanceClient classes,
|
|
168
|
-
* as consumers should instead use the function returned by startMeasurement.
|
|
169
|
-
* Adds a new field named as "[event name]DurationMs" for sub-measurements, completes and emits an event
|
|
170
|
-
* otherwise.
|
|
171
|
-
*
|
|
172
|
-
* @param {PerformanceEvent} event
|
|
173
|
-
* @param {unknown} error
|
|
174
|
-
* @returns {(PerformanceEvent | null)}
|
|
175
|
-
*/
|
|
176
|
-
endMeasurement(event: PerformanceEvent, error?: unknown): PerformanceEvent | null;
|
|
177
|
-
/**
|
|
178
|
-
* Saves extra information to be emitted when the measurements are flushed
|
|
179
|
-
* @param fields
|
|
180
|
-
* @param correlationId
|
|
181
|
-
*/
|
|
182
|
-
addFields(fields: {
|
|
183
|
-
[key: string]: {} | undefined;
|
|
184
|
-
}, correlationId: string): void;
|
|
185
|
-
/**
|
|
186
|
-
* Increment counters to be emitted when the measurements are flushed
|
|
187
|
-
* @param fields {string[]}
|
|
188
|
-
* @param correlationId {string} correlation identifier
|
|
189
|
-
*/
|
|
190
|
-
incrementFields(fields: {
|
|
191
|
-
[key: string]: number | undefined;
|
|
192
|
-
}, correlationId: string): void;
|
|
193
|
-
/**
|
|
194
|
-
* Upserts event into event cache.
|
|
195
|
-
* First key is the correlation id, second key is the event id.
|
|
196
|
-
* Allows for events to be grouped by correlation id,
|
|
197
|
-
* and to easily allow for properties on them to be updated.
|
|
198
|
-
*
|
|
199
|
-
* @private
|
|
200
|
-
* @param {PerformanceEvent} event
|
|
201
|
-
*/
|
|
202
|
-
protected cacheEventByCorrelationId(event: PerformanceEvent): void;
|
|
203
|
-
private getQueueInfo;
|
|
204
|
-
/**
|
|
205
|
-
* Removes measurements and aux data for a given correlation id.
|
|
206
|
-
*
|
|
207
|
-
* @param {string} correlationId
|
|
208
|
-
*/
|
|
209
|
-
discardMeasurements(correlationId: string): void;
|
|
210
|
-
/**
|
|
211
|
-
* Registers a callback function to receive performance events.
|
|
212
|
-
*
|
|
213
|
-
* @param {PerformanceCallbackFunction} callback
|
|
214
|
-
* @returns {string}
|
|
215
|
-
*/
|
|
216
|
-
addPerformanceCallback(callback: PerformanceCallbackFunction): string;
|
|
217
|
-
/**
|
|
218
|
-
* Removes a callback registered with addPerformanceCallback.
|
|
219
|
-
*
|
|
220
|
-
* @param {string} callbackId
|
|
221
|
-
* @returns {boolean}
|
|
222
|
-
*/
|
|
223
|
-
removePerformanceCallback(callbackId: string): boolean;
|
|
224
|
-
/**
|
|
225
|
-
* Emits events to all registered callbacks.
|
|
226
|
-
*
|
|
227
|
-
* @param {PerformanceEvent[]} events
|
|
228
|
-
* @param {?string} [correlationId]
|
|
229
|
-
*/
|
|
230
|
-
emitEvents(events: PerformanceEvent[], correlationId: string): void;
|
|
231
|
-
/**
|
|
232
|
-
* Enforce truncation of integral fields in performance event.
|
|
233
|
-
* @param {PerformanceEvent} event performance event to update.
|
|
234
|
-
*/
|
|
235
|
-
private truncateIntegralFields;
|
|
236
|
-
/**
|
|
237
|
-
* Returns event duration in milliseconds
|
|
238
|
-
* @param startTimeMs {number}
|
|
239
|
-
* @returns {number}
|
|
240
|
-
*/
|
|
241
|
-
private getDurationMs;
|
|
242
|
-
}
|
|
1
|
+
import { ApplicationTelemetry } from "../../config/ClientConfiguration";
|
|
2
|
+
import { Logger } from "../../logger/Logger";
|
|
3
|
+
import { InProgressPerformanceEvent, IPerformanceClient, PerformanceCallbackFunction, QueueMeasurement } from "./IPerformanceClient";
|
|
4
|
+
import { PerformanceEvent, PerformanceEventContext, PerformanceEvents, PerformanceEventStackedContext } from "./PerformanceEvent";
|
|
5
|
+
import { IPerformanceMeasurement } from "./IPerformanceMeasurement";
|
|
6
|
+
export interface PreQueueEvent {
|
|
7
|
+
name: PerformanceEvents;
|
|
8
|
+
time: number;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Starts context by adding payload to the stack
|
|
12
|
+
* @param event {PerformanceEvent}
|
|
13
|
+
* @param abbreviations {Map<string, string>} event name abbreviations
|
|
14
|
+
* @param stack {?PerformanceEventStackedContext[]} stack
|
|
15
|
+
*/
|
|
16
|
+
export declare function startContext(event: PerformanceEvent, abbreviations: Map<string, string>, stack?: PerformanceEventStackedContext[]): void;
|
|
17
|
+
/**
|
|
18
|
+
* Ends context by removing payload from the stack and returning parent or self, if stack is empty, payload
|
|
19
|
+
*
|
|
20
|
+
* @param event {PerformanceEvent}
|
|
21
|
+
* @param abbreviations {Map<string, string>} event name abbreviations
|
|
22
|
+
* @param stack {?PerformanceEventStackedContext[]} stack
|
|
23
|
+
* @param error {?unknown} error
|
|
24
|
+
*/
|
|
25
|
+
export declare function endContext(event: PerformanceEvent, abbreviations: Map<string, string>, stack?: PerformanceEventStackedContext[], error?: unknown): PerformanceEventContext | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* Adds error name and stack trace to the telemetry event
|
|
28
|
+
* @param error {Error}
|
|
29
|
+
* @param logger {Logger}
|
|
30
|
+
* @param event {PerformanceEvent}
|
|
31
|
+
* @param stackMaxSize {number} max error stack size to capture
|
|
32
|
+
*/
|
|
33
|
+
export declare function addError(error: unknown, logger: Logger, event: PerformanceEvent, stackMaxSize?: number): void;
|
|
34
|
+
/**
|
|
35
|
+
* Compacts error stack into array by fetching N first entries
|
|
36
|
+
* @param stack {string} error stack
|
|
37
|
+
* @param stackMaxSize {number} max error stack size to capture
|
|
38
|
+
* @returns {string[]}
|
|
39
|
+
*/
|
|
40
|
+
export declare function compactStack(stack: string, stackMaxSize: number): string[];
|
|
41
|
+
/**
|
|
42
|
+
* Compacts error stack line by shortening file path
|
|
43
|
+
* Example: https://localhost/msal-common/src/authority/Authority.js:100:1 -> Authority.js:100:1
|
|
44
|
+
* @param line {string} stack line
|
|
45
|
+
* @returns {string}
|
|
46
|
+
*/
|
|
47
|
+
export declare function compactStackLine(line: string): string;
|
|
48
|
+
export declare abstract class PerformanceClient implements IPerformanceClient {
|
|
49
|
+
protected authority: string;
|
|
50
|
+
protected libraryName: string;
|
|
51
|
+
protected libraryVersion: string;
|
|
52
|
+
protected applicationTelemetry: ApplicationTelemetry;
|
|
53
|
+
protected clientId: string;
|
|
54
|
+
protected logger: Logger;
|
|
55
|
+
protected callbacks: Map<string, PerformanceCallbackFunction>;
|
|
56
|
+
/**
|
|
57
|
+
* Multiple events with the same correlation id.
|
|
58
|
+
* @protected
|
|
59
|
+
* @type {Map<string, PerformanceEvent>}
|
|
60
|
+
*/
|
|
61
|
+
protected eventsByCorrelationId: Map<string, PerformanceEvent>;
|
|
62
|
+
/**
|
|
63
|
+
* Map of pre-queue times by correlation Id
|
|
64
|
+
*
|
|
65
|
+
* @protected
|
|
66
|
+
* @type {Map<string, PreQueueEvent>}
|
|
67
|
+
*/
|
|
68
|
+
protected preQueueTimeByCorrelationId: Map<string, PreQueueEvent>;
|
|
69
|
+
/**
|
|
70
|
+
* Map of queue measurements by correlation Id
|
|
71
|
+
*
|
|
72
|
+
* @protected
|
|
73
|
+
* @type {Map<string, Array<QueueMeasurement>>}
|
|
74
|
+
*/
|
|
75
|
+
protected queueMeasurements: Map<string, Array<QueueMeasurement>>;
|
|
76
|
+
protected intFields: Set<string>;
|
|
77
|
+
/**
|
|
78
|
+
* Map of stacked events by correlation id.
|
|
79
|
+
*
|
|
80
|
+
* @protected
|
|
81
|
+
*/
|
|
82
|
+
protected eventStack: Map<string, PerformanceEventStackedContext[]>;
|
|
83
|
+
/**
|
|
84
|
+
* Event name abbreviations
|
|
85
|
+
*
|
|
86
|
+
* @protected
|
|
87
|
+
*/
|
|
88
|
+
protected abbreviations: Map<string, string>;
|
|
89
|
+
/**
|
|
90
|
+
* Creates an instance of PerformanceClient,
|
|
91
|
+
* an abstract class containing core performance telemetry logic.
|
|
92
|
+
*
|
|
93
|
+
* @constructor
|
|
94
|
+
* @param {string} clientId Client ID of the application
|
|
95
|
+
* @param {string} authority Authority used by the application
|
|
96
|
+
* @param {Logger} logger Logger used by the application
|
|
97
|
+
* @param {string} libraryName Name of the library
|
|
98
|
+
* @param {string} libraryVersion Version of the library
|
|
99
|
+
* @param {ApplicationTelemetry} applicationTelemetry application name and version
|
|
100
|
+
* @param {Set<String>} intFields integer fields to be truncated
|
|
101
|
+
* @param {Map<string, string>} abbreviations event name abbreviations
|
|
102
|
+
*/
|
|
103
|
+
constructor(clientId: string, authority: string, logger: Logger, libraryName: string, libraryVersion: string, applicationTelemetry: ApplicationTelemetry, intFields?: Set<string>, abbreviations?: Map<string, string>);
|
|
104
|
+
/**
|
|
105
|
+
* Generates and returns a unique id, typically a guid.
|
|
106
|
+
*
|
|
107
|
+
* @abstract
|
|
108
|
+
* @returns {string}
|
|
109
|
+
*/
|
|
110
|
+
abstract generateId(): string;
|
|
111
|
+
/**
|
|
112
|
+
* Starts and returns an platform-specific implementation of IPerformanceMeasurement.
|
|
113
|
+
* Note: this function can be changed to abstract at the next major version bump.
|
|
114
|
+
*
|
|
115
|
+
* @param {string} measureName
|
|
116
|
+
* @param {string} correlationId
|
|
117
|
+
* @returns {IPerformanceMeasurement}
|
|
118
|
+
* @deprecated This method will be removed in the next major version
|
|
119
|
+
*/
|
|
120
|
+
startPerformanceMeasurement(measureName: string, // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
121
|
+
correlationId: string): IPerformanceMeasurement;
|
|
122
|
+
/**
|
|
123
|
+
* Sets pre-queue time by correlation Id
|
|
124
|
+
*
|
|
125
|
+
* @abstract
|
|
126
|
+
* @param {PerformanceEvents} eventName
|
|
127
|
+
* @param {string} correlationId
|
|
128
|
+
* @returns
|
|
129
|
+
*/
|
|
130
|
+
abstract setPreQueueTime(eventName: PerformanceEvents, correlationId?: string): void;
|
|
131
|
+
/**
|
|
132
|
+
* Gets map of pre-queue times by correlation Id
|
|
133
|
+
*
|
|
134
|
+
* @param {PerformanceEvents} eventName
|
|
135
|
+
* @param {string} correlationId
|
|
136
|
+
* @returns {number}
|
|
137
|
+
*/
|
|
138
|
+
getPreQueueTime(eventName: string, correlationId: string): number | void;
|
|
139
|
+
/**
|
|
140
|
+
* Calculates the difference between current time and time when function was queued.
|
|
141
|
+
* Note: It is possible to have 0 as the queue time if the current time and the queued time was the same.
|
|
142
|
+
*
|
|
143
|
+
* @param {number} preQueueTime
|
|
144
|
+
* @param {number} currentTime
|
|
145
|
+
* @returns {number}
|
|
146
|
+
*/
|
|
147
|
+
calculateQueuedTime(preQueueTime: number, currentTime: number): number;
|
|
148
|
+
/**
|
|
149
|
+
* Adds queue measurement time to QueueMeasurements array for given correlation ID.
|
|
150
|
+
*
|
|
151
|
+
* @param {PerformanceEvents} eventName
|
|
152
|
+
* @param {?string} correlationId
|
|
153
|
+
* @param {?number} queueTime
|
|
154
|
+
* @param {?boolean} manuallyCompleted - indicator for manually completed queue measurements
|
|
155
|
+
* @returns
|
|
156
|
+
*/
|
|
157
|
+
addQueueMeasurement(eventName: string, correlationId?: string, queueTime?: number, manuallyCompleted?: boolean): void;
|
|
158
|
+
/**
|
|
159
|
+
* Starts measuring performance for a given operation. Returns a function that should be used to end the measurement.
|
|
160
|
+
*
|
|
161
|
+
* @param {PerformanceEvents} measureName
|
|
162
|
+
* @param {?string} [correlationId]
|
|
163
|
+
* @returns {InProgressPerformanceEvent}
|
|
164
|
+
*/
|
|
165
|
+
startMeasurement(measureName: string, correlationId?: string): InProgressPerformanceEvent;
|
|
166
|
+
/**
|
|
167
|
+
* Stops measuring the performance for an operation. Should only be called directly by PerformanceClient classes,
|
|
168
|
+
* as consumers should instead use the function returned by startMeasurement.
|
|
169
|
+
* Adds a new field named as "[event name]DurationMs" for sub-measurements, completes and emits an event
|
|
170
|
+
* otherwise.
|
|
171
|
+
*
|
|
172
|
+
* @param {PerformanceEvent} event
|
|
173
|
+
* @param {unknown} error
|
|
174
|
+
* @returns {(PerformanceEvent | null)}
|
|
175
|
+
*/
|
|
176
|
+
endMeasurement(event: PerformanceEvent, error?: unknown): PerformanceEvent | null;
|
|
177
|
+
/**
|
|
178
|
+
* Saves extra information to be emitted when the measurements are flushed
|
|
179
|
+
* @param fields
|
|
180
|
+
* @param correlationId
|
|
181
|
+
*/
|
|
182
|
+
addFields(fields: {
|
|
183
|
+
[key: string]: {} | undefined;
|
|
184
|
+
}, correlationId: string): void;
|
|
185
|
+
/**
|
|
186
|
+
* Increment counters to be emitted when the measurements are flushed
|
|
187
|
+
* @param fields {string[]}
|
|
188
|
+
* @param correlationId {string} correlation identifier
|
|
189
|
+
*/
|
|
190
|
+
incrementFields(fields: {
|
|
191
|
+
[key: string]: number | undefined;
|
|
192
|
+
}, correlationId: string): void;
|
|
193
|
+
/**
|
|
194
|
+
* Upserts event into event cache.
|
|
195
|
+
* First key is the correlation id, second key is the event id.
|
|
196
|
+
* Allows for events to be grouped by correlation id,
|
|
197
|
+
* and to easily allow for properties on them to be updated.
|
|
198
|
+
*
|
|
199
|
+
* @private
|
|
200
|
+
* @param {PerformanceEvent} event
|
|
201
|
+
*/
|
|
202
|
+
protected cacheEventByCorrelationId(event: PerformanceEvent): void;
|
|
203
|
+
private getQueueInfo;
|
|
204
|
+
/**
|
|
205
|
+
* Removes measurements and aux data for a given correlation id.
|
|
206
|
+
*
|
|
207
|
+
* @param {string} correlationId
|
|
208
|
+
*/
|
|
209
|
+
discardMeasurements(correlationId: string): void;
|
|
210
|
+
/**
|
|
211
|
+
* Registers a callback function to receive performance events.
|
|
212
|
+
*
|
|
213
|
+
* @param {PerformanceCallbackFunction} callback
|
|
214
|
+
* @returns {string}
|
|
215
|
+
*/
|
|
216
|
+
addPerformanceCallback(callback: PerformanceCallbackFunction): string;
|
|
217
|
+
/**
|
|
218
|
+
* Removes a callback registered with addPerformanceCallback.
|
|
219
|
+
*
|
|
220
|
+
* @param {string} callbackId
|
|
221
|
+
* @returns {boolean}
|
|
222
|
+
*/
|
|
223
|
+
removePerformanceCallback(callbackId: string): boolean;
|
|
224
|
+
/**
|
|
225
|
+
* Emits events to all registered callbacks.
|
|
226
|
+
*
|
|
227
|
+
* @param {PerformanceEvent[]} events
|
|
228
|
+
* @param {?string} [correlationId]
|
|
229
|
+
*/
|
|
230
|
+
emitEvents(events: PerformanceEvent[], correlationId: string): void;
|
|
231
|
+
/**
|
|
232
|
+
* Enforce truncation of integral fields in performance event.
|
|
233
|
+
* @param {PerformanceEvent} event performance event to update.
|
|
234
|
+
*/
|
|
235
|
+
private truncateIntegralFields;
|
|
236
|
+
/**
|
|
237
|
+
* Returns event duration in milliseconds
|
|
238
|
+
* @param startTimeMs {number}
|
|
239
|
+
* @returns {number}
|
|
240
|
+
*/
|
|
241
|
+
private getDurationMs;
|
|
242
|
+
}
|
|
243
243
|
//# sourceMappingURL=PerformanceClient.d.ts.map
|