@fluidframework/telemetry-utils 2.0.0-internal.7.2.2 → 2.0.0-internal.7.4.0
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/CHANGELOG.md +19 -0
- package/README.md +1 -2
- package/api-extractor-lint.json +13 -0
- package/api-extractor.json +3 -3
- package/api-report/telemetry-utils.api.md +66 -57
- package/dist/config.d.ts +37 -10
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +30 -0
- package/dist/config.js.map +1 -1
- package/dist/error.d.ts +12 -0
- package/dist/error.d.ts.map +1 -1
- package/dist/error.js +18 -1
- package/dist/error.js.map +1 -1
- package/dist/errorLogging.d.ts +7 -2
- package/dist/errorLogging.d.ts.map +1 -1
- package/dist/errorLogging.js +7 -2
- package/dist/errorLogging.js.map +1 -1
- package/dist/eventEmitterWithErrorHandling.d.ts +6 -0
- package/dist/eventEmitterWithErrorHandling.d.ts.map +1 -1
- package/dist/eventEmitterWithErrorHandling.js +6 -0
- package/dist/eventEmitterWithErrorHandling.js.map +1 -1
- package/dist/events.d.ts +16 -0
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +16 -0
- package/dist/events.js.map +1 -1
- package/dist/fluidErrorBase.d.ts +8 -0
- package/dist/fluidErrorBase.d.ts.map +1 -1
- package/dist/fluidErrorBase.js +6 -0
- package/dist/fluidErrorBase.js.map +1 -1
- package/dist/index.d.ts +20 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts +117 -17
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +82 -12
- package/dist/logger.js.map +1 -1
- package/dist/mockLogger.d.ts +2 -0
- package/dist/mockLogger.d.ts.map +1 -1
- package/dist/mockLogger.js +2 -0
- package/dist/mockLogger.js.map +1 -1
- package/dist/sampledTelemetryHelper.d.ts +7 -3
- package/dist/sampledTelemetryHelper.d.ts.map +1 -1
- package/dist/sampledTelemetryHelper.js +7 -3
- package/dist/sampledTelemetryHelper.js.map +1 -1
- package/dist/telemetry-utils-alpha.d.ts +270 -0
- package/dist/telemetry-utils-beta.d.ts +205 -0
- package/dist/telemetry-utils-public.d.ts +205 -0
- package/dist/telemetry-utils-untrimmed.d.ts +1123 -0
- package/dist/telemetryTypes.d.ts +27 -8
- package/dist/telemetryTypes.d.ts.map +1 -1
- package/dist/telemetryTypes.js.map +1 -1
- package/dist/thresholdCounter.d.ts +3 -2
- package/dist/thresholdCounter.d.ts.map +1 -1
- package/dist/thresholdCounter.js +3 -2
- package/dist/thresholdCounter.js.map +1 -1
- package/dist/tsdoc-metadata.json +1 -1
- package/dist/utils.d.ts +6 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +6 -0
- package/dist/utils.js.map +1 -1
- package/lib/config.d.ts +37 -10
- package/lib/config.d.ts.map +1 -1
- package/lib/config.js +30 -0
- package/lib/config.js.map +1 -1
- package/lib/error.d.ts +12 -0
- package/lib/error.d.ts.map +1 -1
- package/lib/error.js +16 -0
- package/lib/error.js.map +1 -1
- package/lib/errorLogging.d.ts +7 -2
- package/lib/errorLogging.d.ts.map +1 -1
- package/lib/errorLogging.js +7 -2
- package/lib/errorLogging.js.map +1 -1
- package/lib/eventEmitterWithErrorHandling.d.ts +6 -0
- package/lib/eventEmitterWithErrorHandling.d.ts.map +1 -1
- package/lib/eventEmitterWithErrorHandling.js +6 -0
- package/lib/eventEmitterWithErrorHandling.js.map +1 -1
- package/lib/events.d.ts +16 -0
- package/lib/events.d.ts.map +1 -1
- package/lib/events.js +16 -0
- package/lib/events.js.map +1 -1
- package/lib/fluidErrorBase.d.ts +8 -0
- package/lib/fluidErrorBase.d.ts.map +1 -1
- package/lib/fluidErrorBase.js +6 -0
- package/lib/fluidErrorBase.js.map +1 -1
- package/lib/index.d.ts +20 -3
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/logger.d.ts +117 -17
- package/lib/logger.d.ts.map +1 -1
- package/lib/logger.js +82 -12
- package/lib/logger.js.map +1 -1
- package/lib/mockLogger.d.ts +2 -0
- package/lib/mockLogger.d.ts.map +1 -1
- package/lib/mockLogger.js +2 -0
- package/lib/mockLogger.js.map +1 -1
- package/lib/sampledTelemetryHelper.d.ts +7 -3
- package/lib/sampledTelemetryHelper.d.ts.map +1 -1
- package/lib/sampledTelemetryHelper.js +7 -3
- package/lib/sampledTelemetryHelper.js.map +1 -1
- package/lib/telemetry-utils-alpha.d.ts +270 -0
- package/lib/telemetry-utils-beta.d.ts +205 -0
- package/lib/telemetry-utils-public.d.ts +205 -0
- package/lib/telemetry-utils-untrimmed.d.ts +1123 -0
- package/lib/telemetryTypes.d.ts +27 -8
- package/lib/telemetryTypes.d.ts.map +1 -1
- package/lib/telemetryTypes.js.map +1 -1
- package/lib/thresholdCounter.d.ts +3 -2
- package/lib/thresholdCounter.d.ts.map +1 -1
- package/lib/thresholdCounter.js +3 -2
- package/lib/thresholdCounter.js.map +1 -1
- package/lib/utils.d.ts +6 -0
- package/lib/utils.d.ts.map +1 -1
- package/lib/utils.js +6 -0
- package/lib/utils.js.map +1 -1
- package/package.json +36 -17
- package/src/config.ts +41 -12
- package/src/error.ts +21 -0
- package/src/errorLogging.ts +7 -2
- package/src/eventEmitterWithErrorHandling.ts +6 -0
- package/src/events.ts +18 -0
- package/src/fluidErrorBase.ts +8 -0
- package/src/index.ts +21 -2
- package/src/logger.ts +125 -17
- package/src/mockLogger.ts +2 -0
- package/src/sampledTelemetryHelper.ts +7 -3
- package/src/telemetryTypes.ts +27 -8
- package/src/thresholdCounter.ts +3 -2
- package/src/utils.ts +6 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# @fluidframework/telemetry-utils
|
|
2
2
|
|
|
3
|
+
## 2.0.0-internal.7.4.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- telemetry-utils: Deprecate ConfigTypes and IConfigProviderBase ([#18597](https://github.com/microsoft/FluidFramework/issues/18597)) [39b9ff57c0](https://github.com/microsoft/FluidFramework/commits/39b9ff57c0184b72f0e3f9425922dda944995265)
|
|
8
|
+
|
|
9
|
+
The types `ConfigTypes` and `IConfigProviderBase` have been deprecated in the @fluidframework/telemetry-utils package.
|
|
10
|
+
The types can now be found in the @fluidframework/core-interfaces package. Please replace any uses with the types from
|
|
11
|
+
@fluidframework/core-interfaces.
|
|
12
|
+
|
|
13
|
+
- telemetry-utils: Deprecated logIfFalse ([#18047](https://github.com/microsoft/FluidFramework/issues/18047)) [57614ffdc6](https://github.com/microsoft/FluidFramework/commits/57614ffdc6e3fbd22ddbe5ed589c75d3d195aa48)
|
|
14
|
+
|
|
15
|
+
This functionality was not intended for export and will be removed in a future release.
|
|
16
|
+
No replacement API is offered because the logic is trivial to reproduce as needed.
|
|
17
|
+
|
|
18
|
+
## 2.0.0-internal.7.3.0
|
|
19
|
+
|
|
20
|
+
Dependency updates only.
|
|
21
|
+
|
|
3
22
|
## 2.0.0-internal.7.2.0
|
|
4
23
|
|
|
5
24
|
Dependency updates only.
|
package/README.md
CHANGED
|
@@ -63,8 +63,7 @@ Thank you!
|
|
|
63
63
|
|
|
64
64
|
This project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.
|
|
65
65
|
|
|
66
|
-
Use of these trademarks or logos must follow Microsoft's [Trademark & Brand
|
|
67
|
-
Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).
|
|
66
|
+
Use of these trademarks or logos must follow Microsoft's [Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).
|
|
68
67
|
|
|
69
68
|
Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.
|
|
70
69
|
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
|
|
3
|
+
"extends": "../../../common/build/build-common/api-extractor-lint.json",
|
|
4
|
+
"messages": {
|
|
5
|
+
"extractorMessageReporting": {
|
|
6
|
+
// TODO: remove once base config has this enabled as an error
|
|
7
|
+
"ae-incompatible-release-tags": {
|
|
8
|
+
"logLevel": "error",
|
|
9
|
+
"addToApiReportFile": false
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
}
|
package/api-extractor.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
|
|
3
|
-
"extends": "
|
|
3
|
+
"extends": "../../../common/build/build-common/api-extractor-base.json",
|
|
4
4
|
"messages": {
|
|
5
5
|
"extractorMessageReporting": {
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
// TODO: Add missing documentation and remove this rule override
|
|
7
|
+
"ae-undocumented": {
|
|
8
8
|
"logLevel": "none"
|
|
9
9
|
}
|
|
10
10
|
}
|
|
@@ -4,8 +4,11 @@
|
|
|
4
4
|
|
|
5
5
|
```ts
|
|
6
6
|
|
|
7
|
+
/// <reference types="node" />
|
|
8
|
+
|
|
7
9
|
import { EventEmitter } from 'events';
|
|
8
10
|
import { EventEmitterEventType } from '@fluid-internal/client-utils';
|
|
11
|
+
import { IConfigProviderBase as IConfigProviderBase_2 } from '@fluidframework/core-interfaces';
|
|
9
12
|
import { IDisposable } from '@fluidframework/core-interfaces';
|
|
10
13
|
import { IErrorBase } from '@fluidframework/core-interfaces';
|
|
11
14
|
import { IEvent } from '@fluidframework/core-interfaces';
|
|
@@ -27,29 +30,24 @@ import { TelemetryBaseEventPropertyType } from '@fluidframework/core-interfaces'
|
|
|
27
30
|
import { TelemetryEventPropertyType } from '@fluidframework/core-interfaces';
|
|
28
31
|
import { TypedEventEmitter } from '@fluid-internal/client-utils';
|
|
29
32
|
|
|
30
|
-
// @
|
|
33
|
+
// @internal @deprecated
|
|
31
34
|
export type ConfigTypes = string | number | boolean | number[] | string[] | boolean[] | undefined;
|
|
32
35
|
|
|
33
|
-
// @
|
|
36
|
+
// @internal (undocumented)
|
|
34
37
|
export const connectedEventName = "connected";
|
|
35
38
|
|
|
36
|
-
// @
|
|
39
|
+
// @internal
|
|
37
40
|
export function createChildLogger(props?: {
|
|
38
41
|
logger?: ITelemetryBaseLogger;
|
|
39
42
|
namespace?: string;
|
|
40
43
|
properties?: ITelemetryLoggerPropertyBags;
|
|
41
44
|
}): ITelemetryLoggerExt;
|
|
42
45
|
|
|
43
|
-
// @
|
|
46
|
+
// @internal
|
|
44
47
|
export function createChildMonitoringContext(props: Parameters<typeof createChildLogger>[0]): MonitoringContext;
|
|
45
48
|
|
|
46
|
-
// @
|
|
47
|
-
export function createMultiSinkLogger(props:
|
|
48
|
-
namespace?: string;
|
|
49
|
-
properties?: ITelemetryLoggerPropertyBags;
|
|
50
|
-
loggers?: (ITelemetryBaseLogger | undefined)[];
|
|
51
|
-
tryInheritProperties?: true;
|
|
52
|
-
}): ITelemetryLoggerExt;
|
|
49
|
+
// @internal
|
|
50
|
+
export function createMultiSinkLogger(props: MultiSinkLoggerProperties): ITelemetryLoggerExt;
|
|
53
51
|
|
|
54
52
|
// @internal
|
|
55
53
|
export function createSampledLogger(logger: ITelemetryLoggerExt, eventSampler?: IEventSampler): ISampledTelemetryLogger;
|
|
@@ -72,17 +70,17 @@ export class DataProcessingError extends LoggingError implements IErrorBase, IFl
|
|
|
72
70
|
static wrapIfUnrecognized(originalError: unknown, dataProcessingCodepath: string, messageLike?: Partial<Pick<ISequencedDocumentMessage, "clientId" | "sequenceNumber" | "clientSequenceNumber" | "referenceSequenceNumber" | "minimumSequenceNumber" | "timestamp">>): IFluidErrorBase;
|
|
73
71
|
}
|
|
74
72
|
|
|
75
|
-
// @
|
|
73
|
+
// @internal (undocumented)
|
|
76
74
|
export const disconnectedEventName = "disconnected";
|
|
77
75
|
|
|
78
|
-
// @
|
|
76
|
+
// @alpha
|
|
79
77
|
export class EventEmitterWithErrorHandling<TEvent extends IEvent = IEvent> extends TypedEventEmitter<TEvent> {
|
|
80
78
|
constructor(errorHandler: (eventName: EventEmitterEventType, error: any) => void);
|
|
81
79
|
// (undocumented)
|
|
82
80
|
emit(event: EventEmitterEventType, ...args: unknown[]): boolean;
|
|
83
81
|
}
|
|
84
82
|
|
|
85
|
-
// @
|
|
83
|
+
// @internal
|
|
86
84
|
export const eventNamespaceSeparator: ":";
|
|
87
85
|
|
|
88
86
|
// @internal
|
|
@@ -92,7 +90,7 @@ export function extractLogSafeErrorProperties(error: unknown, sanitizeStack: boo
|
|
|
92
90
|
stack?: string | undefined;
|
|
93
91
|
};
|
|
94
92
|
|
|
95
|
-
// @
|
|
93
|
+
// @internal
|
|
96
94
|
export const extractSafePropertiesFromMessage: (messageLike: Partial<Pick<ISequencedDocumentMessage, "clientId" | "sequenceNumber" | "clientSequenceNumber" | "referenceSequenceNumber" | "minimumSequenceNumber" | "timestamp">>) => {
|
|
97
95
|
messageClientId: string | undefined;
|
|
98
96
|
messageSequenceNumber: number | undefined;
|
|
@@ -102,7 +100,7 @@ export const extractSafePropertiesFromMessage: (messageLike: Partial<Pick<ISeque
|
|
|
102
100
|
messageTimestamp: number | undefined;
|
|
103
101
|
};
|
|
104
102
|
|
|
105
|
-
// @
|
|
103
|
+
// @internal (undocumented)
|
|
106
104
|
export function formatTick(tick: number): number;
|
|
107
105
|
|
|
108
106
|
// @internal
|
|
@@ -123,13 +121,13 @@ export class GenericError extends LoggingError implements IGenericError, IFluidE
|
|
|
123
121
|
// @internal
|
|
124
122
|
export const getCircularReplacer: () => (key: string, value: unknown) => any;
|
|
125
123
|
|
|
126
|
-
// @
|
|
124
|
+
// @internal
|
|
127
125
|
export const hasErrorInstanceId: (x: unknown) => x is {
|
|
128
126
|
errorInstanceId: string;
|
|
129
127
|
};
|
|
130
128
|
|
|
131
|
-
// @
|
|
132
|
-
export interface IConfigProvider extends
|
|
129
|
+
// @internal
|
|
130
|
+
export interface IConfigProvider extends IConfigProviderBase_2 {
|
|
133
131
|
// (undocumented)
|
|
134
132
|
getBoolean(name: string): boolean | undefined;
|
|
135
133
|
// (undocumented)
|
|
@@ -144,7 +142,7 @@ export interface IConfigProvider extends IConfigProviderBase {
|
|
|
144
142
|
getStringArray(name: string): string[] | undefined;
|
|
145
143
|
}
|
|
146
144
|
|
|
147
|
-
// @
|
|
145
|
+
// @internal @deprecated
|
|
148
146
|
export interface IConfigProviderBase {
|
|
149
147
|
// (undocumented)
|
|
150
148
|
getRawConfig(name: string): ConfigTypes;
|
|
@@ -161,7 +159,7 @@ export interface IFluidErrorAnnotations {
|
|
|
161
159
|
props?: ITelemetryBaseProperties;
|
|
162
160
|
}
|
|
163
161
|
|
|
164
|
-
// @
|
|
162
|
+
// @internal
|
|
165
163
|
export interface IFluidErrorBase extends Error {
|
|
166
164
|
addTelemetryProperties: (props: ITelemetryProperties) => void;
|
|
167
165
|
readonly errorInstanceId: string;
|
|
@@ -172,7 +170,7 @@ export interface IFluidErrorBase extends Error {
|
|
|
172
170
|
readonly stack?: string;
|
|
173
171
|
}
|
|
174
172
|
|
|
175
|
-
// @
|
|
173
|
+
// @internal
|
|
176
174
|
export interface IPerformanceEventMarkers {
|
|
177
175
|
// (undocumented)
|
|
178
176
|
cancel?: "generic" | "error";
|
|
@@ -190,19 +188,19 @@ export interface ISampledTelemetryLogger extends ITelemetryLoggerExt {
|
|
|
190
188
|
// @internal
|
|
191
189
|
export function isExternalError(error: unknown): boolean;
|
|
192
190
|
|
|
193
|
-
// @
|
|
191
|
+
// @internal
|
|
194
192
|
export function isFluidError(error: unknown): error is IFluidErrorBase;
|
|
195
193
|
|
|
196
|
-
// @
|
|
194
|
+
// @internal
|
|
197
195
|
export const isILoggingError: (x: unknown) => x is ILoggingError;
|
|
198
196
|
|
|
199
|
-
// @
|
|
197
|
+
// @internal
|
|
200
198
|
export function isTaggedTelemetryPropertyValue(x: Tagged<TelemetryEventPropertyTypeExt> | TelemetryEventPropertyTypeExt): x is Tagged<TelemetryEventPropertyTypeExt>;
|
|
201
199
|
|
|
202
|
-
// @
|
|
200
|
+
// @internal
|
|
203
201
|
export function isValidLegacyError(error: unknown): error is Omit<IFluidErrorBase, "errorInstanceId">;
|
|
204
202
|
|
|
205
|
-
// @
|
|
203
|
+
// @internal @deprecated
|
|
206
204
|
export interface ITaggedTelemetryPropertyTypeExt {
|
|
207
205
|
// (undocumented)
|
|
208
206
|
tag: string;
|
|
@@ -210,13 +208,13 @@ export interface ITaggedTelemetryPropertyTypeExt {
|
|
|
210
208
|
value: TelemetryEventPropertyTypeExt;
|
|
211
209
|
}
|
|
212
210
|
|
|
213
|
-
// @
|
|
211
|
+
// @alpha
|
|
214
212
|
export interface ITelemetryErrorEventExt extends ITelemetryPropertiesExt {
|
|
215
213
|
// (undocumented)
|
|
216
214
|
eventName: string;
|
|
217
215
|
}
|
|
218
216
|
|
|
219
|
-
// @
|
|
217
|
+
// @internal
|
|
220
218
|
export interface ITelemetryEventExt extends ITelemetryPropertiesExt {
|
|
221
219
|
// (undocumented)
|
|
222
220
|
category: string;
|
|
@@ -224,7 +222,7 @@ export interface ITelemetryEventExt extends ITelemetryPropertiesExt {
|
|
|
224
222
|
eventName: string;
|
|
225
223
|
}
|
|
226
224
|
|
|
227
|
-
// @
|
|
225
|
+
// @alpha
|
|
228
226
|
export interface ITelemetryGenericEventExt extends ITelemetryPropertiesExt {
|
|
229
227
|
// (undocumented)
|
|
230
228
|
category?: TelemetryEventCategory;
|
|
@@ -232,20 +230,20 @@ export interface ITelemetryGenericEventExt extends ITelemetryPropertiesExt {
|
|
|
232
230
|
eventName: string;
|
|
233
231
|
}
|
|
234
232
|
|
|
235
|
-
// @
|
|
233
|
+
// @alpha
|
|
236
234
|
export interface ITelemetryLoggerExt extends ITelemetryBaseLogger {
|
|
237
235
|
sendErrorEvent(event: ITelemetryErrorEventExt, error?: unknown): void;
|
|
238
236
|
sendPerformanceEvent(event: ITelemetryPerformanceEventExt, error?: unknown, logLevel?: typeof LogLevel.verbose | typeof LogLevel.default): void;
|
|
239
237
|
sendTelemetryEvent(event: ITelemetryGenericEventExt, error?: unknown, logLevel?: typeof LogLevel.verbose | typeof LogLevel.default): void;
|
|
240
238
|
}
|
|
241
239
|
|
|
242
|
-
// @
|
|
240
|
+
// @internal (undocumented)
|
|
243
241
|
export interface ITelemetryLoggerPropertyBag {
|
|
244
242
|
// (undocumented)
|
|
245
243
|
[index: string]: TelemetryEventPropertyTypes | (() => TelemetryEventPropertyTypes);
|
|
246
244
|
}
|
|
247
245
|
|
|
248
|
-
// @
|
|
246
|
+
// @internal (undocumented)
|
|
249
247
|
export interface ITelemetryLoggerPropertyBags {
|
|
250
248
|
// (undocumented)
|
|
251
249
|
all?: ITelemetryLoggerPropertyBag;
|
|
@@ -253,19 +251,19 @@ export interface ITelemetryLoggerPropertyBags {
|
|
|
253
251
|
error?: ITelemetryLoggerPropertyBag;
|
|
254
252
|
}
|
|
255
253
|
|
|
256
|
-
// @
|
|
254
|
+
// @alpha
|
|
257
255
|
export interface ITelemetryPerformanceEventExt extends ITelemetryGenericEventExt {
|
|
258
256
|
// (undocumented)
|
|
259
257
|
duration?: number;
|
|
260
258
|
}
|
|
261
259
|
|
|
262
|
-
// @
|
|
260
|
+
// @alpha
|
|
263
261
|
export interface ITelemetryPropertiesExt {
|
|
264
262
|
// (undocumented)
|
|
265
263
|
[index: string]: TelemetryEventPropertyTypeExt | Tagged<TelemetryEventPropertyTypeExt>;
|
|
266
264
|
}
|
|
267
265
|
|
|
268
|
-
// @
|
|
266
|
+
// @internal
|
|
269
267
|
export function loggerToMonitoringContext<L extends ITelemetryBaseLogger = ITelemetryLoggerExt>(logger: L): MonitoringContext<L>;
|
|
270
268
|
|
|
271
269
|
// @internal
|
|
@@ -280,13 +278,13 @@ export class LoggingError extends Error implements ILoggingError, Omit<IFluidErr
|
|
|
280
278
|
static typeCheck(object: unknown): object is LoggingError;
|
|
281
279
|
}
|
|
282
280
|
|
|
283
|
-
// @
|
|
281
|
+
// @internal @deprecated
|
|
284
282
|
export function logIfFalse(condition: unknown, logger: ITelemetryBaseLogger, event: string | ITelemetryGenericEvent): condition is true;
|
|
285
283
|
|
|
286
|
-
// @
|
|
287
|
-
export function mixinMonitoringContext<L extends ITelemetryBaseLogger = ITelemetryLoggerExt>(logger: L, ...configs: (
|
|
284
|
+
// @internal
|
|
285
|
+
export function mixinMonitoringContext<L extends ITelemetryBaseLogger = ITelemetryLoggerExt>(logger: L, ...configs: (IConfigProviderBase_2 | undefined)[]): MonitoringContext<L>;
|
|
288
286
|
|
|
289
|
-
// @
|
|
287
|
+
// @internal
|
|
290
288
|
export class MockLogger implements ITelemetryBaseLogger {
|
|
291
289
|
constructor(minLogLevel?: LogLevel | undefined);
|
|
292
290
|
assertMatch(expectedEvents: Omit<ITelemetryBaseEvent, "category">[], message?: string, inlineDetailsProp?: boolean): void;
|
|
@@ -308,7 +306,7 @@ export class MockLogger implements ITelemetryBaseLogger {
|
|
|
308
306
|
toTelemetryLogger(): ITelemetryLoggerExt;
|
|
309
307
|
}
|
|
310
308
|
|
|
311
|
-
// @
|
|
309
|
+
// @internal
|
|
312
310
|
export interface MonitoringContext<L extends ITelemetryBaseLogger = ITelemetryLoggerExt> {
|
|
313
311
|
// (undocumented)
|
|
314
312
|
config: IConfigProvider;
|
|
@@ -316,19 +314,27 @@ export interface MonitoringContext<L extends ITelemetryBaseLogger = ITelemetryLo
|
|
|
316
314
|
logger: L;
|
|
317
315
|
}
|
|
318
316
|
|
|
317
|
+
// @internal
|
|
318
|
+
export interface MultiSinkLoggerProperties {
|
|
319
|
+
loggers?: (ITelemetryBaseLogger | undefined)[];
|
|
320
|
+
namespace?: string;
|
|
321
|
+
properties?: ITelemetryLoggerPropertyBags;
|
|
322
|
+
tryInheritProperties?: true;
|
|
323
|
+
}
|
|
324
|
+
|
|
319
325
|
// @internal
|
|
320
326
|
export const NORMALIZED_ERROR_TYPE = "genericError";
|
|
321
327
|
|
|
322
328
|
// @internal
|
|
323
329
|
export function normalizeError(error: unknown, annotations?: IFluidErrorAnnotations): IFluidErrorBase;
|
|
324
330
|
|
|
325
|
-
// @
|
|
331
|
+
// @internal
|
|
326
332
|
export function numberFromString(str: string | null | undefined): string | number | undefined;
|
|
327
333
|
|
|
328
334
|
// @internal
|
|
329
335
|
export function overwriteStack(error: IFluidErrorBase | LoggingError, stack: string): void;
|
|
330
336
|
|
|
331
|
-
// @
|
|
337
|
+
// @internal
|
|
332
338
|
export class PerformanceEvent {
|
|
333
339
|
protected constructor(logger: ITelemetryLoggerExt, event: ITelemetryGenericEvent, markers?: IPerformanceEventMarkers, recordHeapSize?: boolean, emitLogs?: boolean);
|
|
334
340
|
// (undocumented)
|
|
@@ -345,13 +351,13 @@ export class PerformanceEvent {
|
|
|
345
351
|
static timedExecAsync<T>(logger: ITelemetryLoggerExt, event: ITelemetryGenericEvent, callback: (event: PerformanceEvent) => Promise<T>, markers?: IPerformanceEventMarkers, recordHeapSize?: boolean, sampleThreshold?: number): Promise<T>;
|
|
346
352
|
}
|
|
347
353
|
|
|
348
|
-
// @
|
|
354
|
+
// @internal
|
|
349
355
|
export function raiseConnectedEvent(logger: ITelemetryLoggerExt, emitter: EventEmitter, connected: boolean, clientId?: string, disconnectedReason?: string): void;
|
|
350
356
|
|
|
351
|
-
// @
|
|
357
|
+
// @internal (undocumented)
|
|
352
358
|
export function safeRaiseEvent(emitter: EventEmitter, logger: ITelemetryLoggerExt, event: string, ...args: unknown[]): void;
|
|
353
359
|
|
|
354
|
-
// @
|
|
360
|
+
// @internal
|
|
355
361
|
export class SampledTelemetryHelper implements IDisposable {
|
|
356
362
|
constructor(eventBase: ITelemetryGenericEvent, logger: ITelemetryLoggerExt, sampleThreshold: number, includeAggregateMetrics?: boolean, perBucketProperties?: Map<string, ITelemetryProperties>);
|
|
357
363
|
// (undocumented)
|
|
@@ -361,10 +367,10 @@ export class SampledTelemetryHelper implements IDisposable {
|
|
|
361
367
|
measure<T>(codeToMeasure: () => T, bucket?: string): T;
|
|
362
368
|
}
|
|
363
369
|
|
|
364
|
-
// @
|
|
365
|
-
export const sessionStorageConfigProvider: Lazy<
|
|
370
|
+
// @internal
|
|
371
|
+
export const sessionStorageConfigProvider: Lazy<IConfigProviderBase_2>;
|
|
366
372
|
|
|
367
|
-
// @
|
|
373
|
+
// @internal
|
|
368
374
|
export const tagCodeArtifacts: <T extends Record<string, TelemetryEventPropertyType | (() => TelemetryBaseEventPropertyType)>>(values: T) => { [P in keyof T]: (T[P] extends () => TelemetryBaseEventPropertyType ? () => {
|
|
369
375
|
value: ReturnType<T[P]>;
|
|
370
376
|
tag: TelemetryDataTag.CodeArtifact;
|
|
@@ -373,7 +379,7 @@ export const tagCodeArtifacts: <T extends Record<string, TelemetryEventPropertyT
|
|
|
373
379
|
tag: TelemetryDataTag.CodeArtifact;
|
|
374
380
|
}) | (T[P] extends undefined ? undefined : never); };
|
|
375
381
|
|
|
376
|
-
// @
|
|
382
|
+
// @internal
|
|
377
383
|
export const tagData: <T extends TelemetryDataTag, V extends Record<string, TelemetryEventPropertyType | (() => TelemetryBaseEventPropertyType)>>(tag: T, values: V) => { [P in keyof V]: (V[P] extends () => TelemetryBaseEventPropertyType ? () => {
|
|
378
384
|
value: ReturnType<V[P]>;
|
|
379
385
|
tag: T;
|
|
@@ -382,32 +388,32 @@ export const tagData: <T extends TelemetryDataTag, V extends Record<string, Tele
|
|
|
382
388
|
tag: T;
|
|
383
389
|
}) | (V[P] extends undefined ? undefined : never); };
|
|
384
390
|
|
|
385
|
-
// @
|
|
391
|
+
// @internal @deprecated (undocumented)
|
|
386
392
|
export class TaggedLoggerAdapter implements ITelemetryBaseLogger {
|
|
387
393
|
constructor(logger: ITelemetryBaseLogger);
|
|
388
394
|
// (undocumented)
|
|
389
395
|
send(eventWithTagsMaybe: ITelemetryBaseEvent): void;
|
|
390
396
|
}
|
|
391
397
|
|
|
392
|
-
// @
|
|
398
|
+
// @internal
|
|
393
399
|
export enum TelemetryDataTag {
|
|
394
400
|
CodeArtifact = "CodeArtifact",
|
|
395
401
|
UserData = "UserData"
|
|
396
402
|
}
|
|
397
403
|
|
|
398
|
-
// @
|
|
404
|
+
// @alpha
|
|
399
405
|
export type TelemetryEventCategory = "generic" | "error" | "performance";
|
|
400
406
|
|
|
401
|
-
// @
|
|
407
|
+
// @alpha
|
|
402
408
|
export type TelemetryEventPropertyTypeExt = string | number | boolean | undefined | (string | number | boolean)[] | {
|
|
403
409
|
[key: string]: // Flat objects can have the same properties as the event itself
|
|
404
410
|
string | number | boolean | undefined | (string | number | boolean)[];
|
|
405
411
|
};
|
|
406
412
|
|
|
407
|
-
// @
|
|
413
|
+
// @internal (undocumented)
|
|
408
414
|
export type TelemetryEventPropertyTypes = ITelemetryBaseProperties[string];
|
|
409
415
|
|
|
410
|
-
// @
|
|
416
|
+
// @internal @deprecated
|
|
411
417
|
export class TelemetryNullLogger implements ITelemetryLoggerExt {
|
|
412
418
|
// (undocumented)
|
|
413
419
|
send(event: ITelemetryBaseEvent): void;
|
|
@@ -419,7 +425,7 @@ export class TelemetryNullLogger implements ITelemetryLoggerExt {
|
|
|
419
425
|
sendTelemetryEvent(event: ITelemetryGenericEvent, error?: unknown): void;
|
|
420
426
|
}
|
|
421
427
|
|
|
422
|
-
// @
|
|
428
|
+
// @internal
|
|
423
429
|
export class ThresholdCounter {
|
|
424
430
|
constructor(threshold: number, logger: ITelemetryLoggerExt, thresholdMultiple?: number);
|
|
425
431
|
send(eventName: string, value: number): void;
|
|
@@ -433,6 +439,9 @@ export class UsageError extends LoggingError implements IUsageError, IFluidError
|
|
|
433
439
|
readonly errorType: "usageError";
|
|
434
440
|
}
|
|
435
441
|
|
|
442
|
+
// @internal
|
|
443
|
+
export function validatePrecondition(condition: boolean, message: string, props?: ITelemetryBaseProperties): asserts condition;
|
|
444
|
+
|
|
436
445
|
// @internal
|
|
437
446
|
export function wrapError<T extends LoggingError>(innerError: unknown, newErrorFn: (message: string) => T): T;
|
|
438
447
|
|
package/dist/config.d.ts
CHANGED
|
@@ -2,19 +2,14 @@
|
|
|
2
2
|
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
|
-
import { ITelemetryBaseLogger } from "@fluidframework/core-interfaces";
|
|
5
|
+
import { ITelemetryBaseLogger, IConfigProviderBase, ConfigTypes } from "@fluidframework/core-interfaces";
|
|
6
6
|
import { Lazy } from "@fluidframework/core-utils";
|
|
7
7
|
import { createChildLogger } from "./logger";
|
|
8
8
|
import { ITelemetryLoggerExt } from "./telemetryTypes";
|
|
9
|
-
export type ConfigTypes = string | number | boolean | number[] | string[] | boolean[] | undefined;
|
|
10
9
|
/**
|
|
11
|
-
*
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
getRawConfig(name: string): ConfigTypes;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Explicitly typed interface for reading configurations
|
|
10
|
+
* Explicitly typed interface for reading configurations.
|
|
11
|
+
*
|
|
12
|
+
* @internal
|
|
18
13
|
*/
|
|
19
14
|
export interface IConfigProvider extends IConfigProviderBase {
|
|
20
15
|
getBoolean(name: string): boolean | undefined;
|
|
@@ -28,6 +23,8 @@ export interface IConfigProvider extends IConfigProviderBase {
|
|
|
28
23
|
* Creates a base configuration provider based on `sessionStorage`
|
|
29
24
|
*
|
|
30
25
|
* @returns A lazy initialized base configuration provider with `sessionStorage` as the underlying config store
|
|
26
|
+
*
|
|
27
|
+
* @internal
|
|
31
28
|
*/
|
|
32
29
|
export declare const sessionStorageConfigProvider: Lazy<IConfigProviderBase>;
|
|
33
30
|
/**
|
|
@@ -56,14 +53,44 @@ export declare class CachedConfigProvider implements IConfigProvider {
|
|
|
56
53
|
private getCacheEntry;
|
|
57
54
|
}
|
|
58
55
|
/**
|
|
59
|
-
* A type containing both a telemetry logger and a configuration provider
|
|
56
|
+
* A type containing both a telemetry logger and a configuration provider.
|
|
57
|
+
*
|
|
58
|
+
* @internal
|
|
60
59
|
*/
|
|
61
60
|
export interface MonitoringContext<L extends ITelemetryBaseLogger = ITelemetryLoggerExt> {
|
|
62
61
|
config: IConfigProvider;
|
|
63
62
|
logger: L;
|
|
64
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* Determines whether or not the provided object is a {@link MonitoringContext}.
|
|
66
|
+
* @remarks Can be used for type-narrowing.
|
|
67
|
+
*
|
|
68
|
+
* @internal
|
|
69
|
+
*/
|
|
65
70
|
export declare function loggerIsMonitoringContext<L extends ITelemetryBaseLogger = ITelemetryLoggerExt>(obj: L): obj is L & MonitoringContext<L>;
|
|
71
|
+
/**
|
|
72
|
+
* Creates a {@link MonitoringContext} from the provided logger, if it isn't already one.
|
|
73
|
+
*
|
|
74
|
+
* @internal
|
|
75
|
+
*/
|
|
66
76
|
export declare function loggerToMonitoringContext<L extends ITelemetryBaseLogger = ITelemetryLoggerExt>(logger: L): MonitoringContext<L>;
|
|
77
|
+
/**
|
|
78
|
+
* Creates a {@link MonitoringContext} from the provided logger.
|
|
79
|
+
*
|
|
80
|
+
* @remarks
|
|
81
|
+
* Assumes that the provided logger is not itself already a {@link MonitoringContext}, and will throw an error if it is.
|
|
82
|
+
* If you are unsure, use {@link loggerToMonitoringContext} instead.
|
|
83
|
+
*
|
|
84
|
+
* @throws If the provided logger is already a {@link MonitoringContext}.
|
|
85
|
+
*
|
|
86
|
+
* @internal
|
|
87
|
+
*/
|
|
67
88
|
export declare function mixinMonitoringContext<L extends ITelemetryBaseLogger = ITelemetryLoggerExt>(logger: L, ...configs: (IConfigProviderBase | undefined)[]): MonitoringContext<L>;
|
|
89
|
+
/**
|
|
90
|
+
* Creates a child logger with a {@link MonitoringContext}.
|
|
91
|
+
*
|
|
92
|
+
* @see {@link loggerToMonitoringContext}
|
|
93
|
+
* @internal
|
|
94
|
+
*/
|
|
68
95
|
export declare function createChildMonitoringContext(props: Parameters<typeof createChildLogger>[0]): MonitoringContext;
|
|
69
96
|
//# sourceMappingURL=config.d.ts.map
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/config.js
CHANGED
|
@@ -7,6 +7,8 @@ const logger_1 = require("./logger");
|
|
|
7
7
|
* Creates a base configuration provider based on `sessionStorage`
|
|
8
8
|
*
|
|
9
9
|
* @returns A lazy initialized base configuration provider with `sessionStorage` as the underlying config store
|
|
10
|
+
*
|
|
11
|
+
* @internal
|
|
10
12
|
*/
|
|
11
13
|
exports.sessionStorageConfigProvider = new core_utils_1.Lazy(() => (0, exports.inMemoryConfigProvider)(safeSessionStorage()));
|
|
12
14
|
const NullConfigProvider = {
|
|
@@ -191,11 +193,22 @@ class CachedConfigProvider {
|
|
|
191
193
|
}
|
|
192
194
|
}
|
|
193
195
|
exports.CachedConfigProvider = CachedConfigProvider;
|
|
196
|
+
/**
|
|
197
|
+
* Determines whether or not the provided object is a {@link MonitoringContext}.
|
|
198
|
+
* @remarks Can be used for type-narrowing.
|
|
199
|
+
*
|
|
200
|
+
* @internal
|
|
201
|
+
*/
|
|
194
202
|
function loggerIsMonitoringContext(obj) {
|
|
195
203
|
const maybeConfig = obj;
|
|
196
204
|
return isConfigProviderBase(maybeConfig?.config) && maybeConfig?.logger !== undefined;
|
|
197
205
|
}
|
|
198
206
|
exports.loggerIsMonitoringContext = loggerIsMonitoringContext;
|
|
207
|
+
/**
|
|
208
|
+
* Creates a {@link MonitoringContext} from the provided logger, if it isn't already one.
|
|
209
|
+
*
|
|
210
|
+
* @internal
|
|
211
|
+
*/
|
|
199
212
|
function loggerToMonitoringContext(logger) {
|
|
200
213
|
if (loggerIsMonitoringContext(logger)) {
|
|
201
214
|
return logger;
|
|
@@ -203,6 +216,17 @@ function loggerToMonitoringContext(logger) {
|
|
|
203
216
|
return mixinMonitoringContext(logger, exports.sessionStorageConfigProvider.value);
|
|
204
217
|
}
|
|
205
218
|
exports.loggerToMonitoringContext = loggerToMonitoringContext;
|
|
219
|
+
/**
|
|
220
|
+
* Creates a {@link MonitoringContext} from the provided logger.
|
|
221
|
+
*
|
|
222
|
+
* @remarks
|
|
223
|
+
* Assumes that the provided logger is not itself already a {@link MonitoringContext}, and will throw an error if it is.
|
|
224
|
+
* If you are unsure, use {@link loggerToMonitoringContext} instead.
|
|
225
|
+
*
|
|
226
|
+
* @throws If the provided logger is already a {@link MonitoringContext}.
|
|
227
|
+
*
|
|
228
|
+
* @internal
|
|
229
|
+
*/
|
|
206
230
|
function mixinMonitoringContext(logger, ...configs) {
|
|
207
231
|
if (loggerIsMonitoringContext(logger)) {
|
|
208
232
|
throw new Error("Logger is already a monitoring context");
|
|
@@ -225,6 +249,12 @@ function isConfigProviderBase(obj) {
|
|
|
225
249
|
const maybeConfig = obj;
|
|
226
250
|
return typeof maybeConfig?.getRawConfig === "function";
|
|
227
251
|
}
|
|
252
|
+
/**
|
|
253
|
+
* Creates a child logger with a {@link MonitoringContext}.
|
|
254
|
+
*
|
|
255
|
+
* @see {@link loggerToMonitoringContext}
|
|
256
|
+
* @internal
|
|
257
|
+
*/
|
|
228
258
|
function createChildMonitoringContext(props) {
|
|
229
259
|
return loggerToMonitoringContext((0, logger_1.createChildLogger)(props));
|
|
230
260
|
}
|