@fluidframework/telemetry-utils 2.0.0-rc.1.0.4 → 2.0.0-rc.2.0.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/{.mocharc.js → .mocharc.cjs} +1 -1
- package/CHANGELOG.md +23 -0
- package/{api-extractor-esm.json → api-extractor-cjs.json} +5 -2
- package/api-extractor-lint.json +1 -1
- package/api-extractor.json +1 -1
- package/api-report/telemetry-utils.api.md +10 -33
- package/dist/config.d.ts +2 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +3 -3
- package/dist/config.js.map +1 -1
- package/dist/error.d.ts +2 -2
- package/dist/error.d.ts.map +1 -1
- package/dist/error.js +9 -9
- package/dist/error.js.map +1 -1
- package/dist/errorLogging.d.ts +4 -4
- package/dist/errorLogging.d.ts.map +1 -1
- package/dist/errorLogging.js +19 -60
- package/dist/errorLogging.js.map +1 -1
- package/dist/eventEmitterWithErrorHandling.d.ts +1 -1
- package/dist/eventEmitterWithErrorHandling.js +1 -1
- package/dist/eventEmitterWithErrorHandling.js.map +1 -1
- package/dist/events.d.ts +2 -3
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js.map +1 -1
- package/dist/fluidErrorBase.d.ts +4 -3
- package/dist/fluidErrorBase.d.ts.map +1 -1
- package/dist/fluidErrorBase.js.map +1 -1
- package/dist/index.d.ts +12 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +58 -60
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts +7 -23
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +12 -29
- package/dist/logger.js.map +1 -1
- package/dist/mockLogger.d.ts +1 -1
- package/dist/mockLogger.d.ts.map +1 -1
- package/dist/mockLogger.js +2 -2
- package/dist/mockLogger.js.map +1 -1
- package/dist/package.json +3 -0
- package/dist/sampledTelemetryHelper.d.ts +4 -4
- package/dist/sampledTelemetryHelper.d.ts.map +1 -1
- package/dist/sampledTelemetryHelper.js +1 -1
- package/dist/sampledTelemetryHelper.js.map +1 -1
- package/dist/telemetry-utils-alpha.d.ts +4 -15
- package/dist/telemetry-utils-beta.d.ts +4 -32
- package/dist/telemetry-utils-public.d.ts +4 -32
- package/dist/telemetry-utils-untrimmed.d.ts +11 -50
- package/dist/thresholdCounter.d.ts +1 -1
- package/dist/thresholdCounter.d.ts.map +1 -1
- package/dist/thresholdCounter.js.map +1 -1
- package/dist/tsdoc-metadata.json +1 -1
- package/dist/utils.d.ts +1 -20
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +3 -27
- package/dist/utils.js.map +1 -1
- package/lib/config.d.ts +2 -2
- package/lib/config.d.ts.map +1 -1
- package/lib/config.js +1 -1
- package/lib/config.js.map +1 -1
- package/lib/error.d.ts +2 -2
- package/lib/error.d.ts.map +1 -1
- package/lib/error.js +1 -1
- package/lib/error.js.map +1 -1
- package/lib/errorLogging.d.ts +4 -4
- package/lib/errorLogging.d.ts.map +1 -1
- package/lib/errorLogging.js +15 -56
- package/lib/errorLogging.js.map +1 -1
- package/lib/eventEmitterWithErrorHandling.d.ts +1 -1
- package/lib/eventEmitterWithErrorHandling.js +1 -1
- package/lib/eventEmitterWithErrorHandling.js.map +1 -1
- package/lib/events.d.ts +2 -3
- package/lib/events.d.ts.map +1 -1
- package/lib/events.js.map +1 -1
- package/lib/fluidErrorBase.d.ts +4 -3
- package/lib/fluidErrorBase.d.ts.map +1 -1
- package/lib/fluidErrorBase.js.map +1 -1
- package/lib/index.d.ts +12 -12
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +11 -11
- package/lib/index.js.map +1 -1
- package/lib/logger.d.ts +7 -23
- package/lib/logger.d.ts.map +1 -1
- package/lib/logger.js +3 -19
- package/lib/logger.js.map +1 -1
- package/lib/mockLogger.d.ts +1 -1
- package/lib/mockLogger.d.ts.map +1 -1
- package/lib/mockLogger.js +1 -1
- package/lib/mockLogger.js.map +1 -1
- package/lib/sampledTelemetryHelper.d.ts +4 -4
- package/lib/sampledTelemetryHelper.d.ts.map +1 -1
- package/lib/sampledTelemetryHelper.js +1 -1
- package/lib/sampledTelemetryHelper.js.map +1 -1
- package/lib/{telemetry-utils-alpha.d.mts → telemetry-utils-alpha.d.ts} +4 -15
- package/lib/{telemetry-utils-beta.d.mts → telemetry-utils-beta.d.ts} +4 -32
- package/lib/{telemetry-utils-public.d.mts → telemetry-utils-public.d.ts} +4 -32
- package/lib/{telemetry-utils-untrimmed.d.mts → telemetry-utils-untrimmed.d.ts} +11 -50
- package/lib/test/EventEmitterWithErrorHandling.spec.js +86 -0
- package/lib/test/EventEmitterWithErrorHandling.spec.js.map +1 -0
- package/lib/test/childLogger.spec.js +233 -0
- package/lib/test/childLogger.spec.js.map +1 -0
- package/lib/test/config.spec.js +229 -0
- package/lib/test/config.spec.js.map +1 -0
- package/lib/test/error.spec.js +161 -0
- package/lib/test/error.spec.js.map +1 -0
- package/lib/test/errorLogging.spec.js +801 -0
- package/lib/test/errorLogging.spec.js.map +1 -0
- package/lib/test/errorTypeLoggingTest.spec.js +107 -0
- package/lib/test/errorTypeLoggingTest.spec.js.map +1 -0
- package/lib/test/mockLogger.spec.js +164 -0
- package/lib/test/mockLogger.spec.js.map +1 -0
- package/lib/test/multiSinkLogger.spec.js +84 -0
- package/lib/test/multiSinkLogger.spec.js.map +1 -0
- package/lib/test/performanceEvent.spec.js +86 -0
- package/lib/test/performanceEvent.spec.js.map +1 -0
- package/lib/test/sampledTelemetryHelper.spec.js +169 -0
- package/lib/test/sampledTelemetryHelper.spec.js.map +1 -0
- package/lib/test/telemetryLogger.spec.js +357 -0
- package/lib/test/telemetryLogger.spec.js.map +1 -0
- package/lib/test/thresholdCounter.spec.js +51 -0
- package/lib/test/thresholdCounter.spec.js.map +1 -0
- package/lib/test/types/validateTelemetryUtilsPrevious.generated.js +132 -0
- package/lib/test/types/validateTelemetryUtilsPrevious.generated.js.map +1 -0
- package/lib/test/utils.spec.js +284 -0
- package/lib/test/utils.spec.js.map +1 -0
- package/lib/thresholdCounter.d.ts +1 -1
- package/lib/thresholdCounter.d.ts.map +1 -1
- package/lib/thresholdCounter.js.map +1 -1
- package/lib/utils.d.ts +1 -20
- package/lib/utils.d.ts.map +1 -1
- package/lib/utils.js +1 -24
- package/lib/utils.js.map +1 -1
- package/package.json +75 -26
- package/src/config.ts +2 -2
- package/src/error.ts +2 -2
- package/src/errorLogging.ts +27 -68
- package/src/eventEmitterWithErrorHandling.ts +1 -1
- package/src/events.ts +2 -4
- package/src/fluidErrorBase.ts +4 -3
- package/src/index.ts +12 -13
- package/src/logger.ts +12 -28
- package/src/mockLogger.ts +2 -2
- package/src/sampledTelemetryHelper.ts +10 -11
- package/src/thresholdCounter.ts +1 -1
- package/src/utils.ts +3 -36
- package/tsconfig.cjs.json +7 -0
- package/tsconfig.json +2 -3
- package/tsconfig.esnext.json +0 -7
- /package/{.eslintrc.js → .eslintrc.cjs} +0 -0
|
@@ -3,14 +3,13 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import {
|
|
7
|
-
ITelemetryGenericEvent,
|
|
8
|
-
ITelemetryPerformanceEvent,
|
|
9
|
-
ITelemetryProperties,
|
|
10
|
-
IDisposable,
|
|
11
|
-
} from "@fluidframework/core-interfaces";
|
|
6
|
+
import type { ITelemetryBaseProperties, IDisposable } from "@fluidframework/core-interfaces";
|
|
12
7
|
import { performance } from "@fluid-internal/client-utils";
|
|
13
|
-
import {
|
|
8
|
+
import {
|
|
9
|
+
ITelemetryLoggerExt,
|
|
10
|
+
type ITelemetryGenericEventExt,
|
|
11
|
+
type ITelemetryPerformanceEventExt,
|
|
12
|
+
} from "./telemetryTypes.js";
|
|
14
13
|
|
|
15
14
|
/**
|
|
16
15
|
* @privateRemarks
|
|
@@ -77,15 +76,15 @@ export class SampledTelemetryHelper implements IDisposable {
|
|
|
77
76
|
* properties which should be added to the telemetry event for that bucket. If a bucket being measured does not
|
|
78
77
|
* have an entry in this map, no additional properties will be added to its telemetry events. The following keys are
|
|
79
78
|
* reserved for use by this class: "duration", "count", "totalDuration", "minDuration", "maxDuration". If any of
|
|
80
|
-
* them is specified as a key in one of the
|
|
79
|
+
* them is specified as a key in one of the ITelemetryBaseProperties objects in this map, that key-value pair will be
|
|
81
80
|
* ignored.
|
|
82
81
|
*/
|
|
83
82
|
public constructor(
|
|
84
|
-
private readonly eventBase:
|
|
83
|
+
private readonly eventBase: ITelemetryGenericEventExt,
|
|
85
84
|
private readonly logger: ITelemetryLoggerExt,
|
|
86
85
|
private readonly sampleThreshold: number,
|
|
87
86
|
private readonly includeAggregateMetrics: boolean = false,
|
|
88
|
-
private readonly perBucketProperties = new Map<string,
|
|
87
|
+
private readonly perBucketProperties = new Map<string, ITelemetryBaseProperties>(),
|
|
89
88
|
) {}
|
|
90
89
|
|
|
91
90
|
/**
|
|
@@ -133,7 +132,7 @@ export class SampledTelemetryHelper implements IDisposable {
|
|
|
133
132
|
if (measurements.count !== 0) {
|
|
134
133
|
const bucketProperties = this.perBucketProperties.get(bucket);
|
|
135
134
|
|
|
136
|
-
const telemetryEvent:
|
|
135
|
+
const telemetryEvent: ITelemetryPerformanceEventExt = {
|
|
137
136
|
...this.eventBase,
|
|
138
137
|
...bucketProperties, // If the bucket doesn't exist and this is undefined, things work as expected
|
|
139
138
|
...measurements,
|
package/src/thresholdCounter.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { ITelemetryLoggerExt } from "./telemetryTypes";
|
|
6
|
+
import { ITelemetryLoggerExt } from "./telemetryTypes.js";
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Utility counter which will send event only if the provided value is above a configured threshold.
|
package/src/utils.ts
CHANGED
|
@@ -2,42 +2,9 @@
|
|
|
2
2
|
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
ITelemetryGenericEvent,
|
|
9
|
-
} from "@fluidframework/core-interfaces";
|
|
10
|
-
import { loggerToMonitoringContext } from "./config";
|
|
11
|
-
import { ITelemetryGenericEventExt, ITelemetryLoggerExt } from "./telemetryTypes";
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Like assert, but logs only if the condition is false, rather than throwing
|
|
15
|
-
* @param condition - The condition to attest too
|
|
16
|
-
* @param logger - The logger to log with
|
|
17
|
-
* @param event - The string or event to log
|
|
18
|
-
* @returns The outcome of the condition
|
|
19
|
-
*
|
|
20
|
-
* @internal
|
|
21
|
-
*
|
|
22
|
-
* @deprecated
|
|
23
|
-
* This API will be removed in a future release.
|
|
24
|
-
* No replacement API is intended, but reproducing its behavior should be trivial for anyone who needs it.
|
|
25
|
-
*/
|
|
26
|
-
export function logIfFalse(
|
|
27
|
-
condition: unknown,
|
|
28
|
-
logger: ITelemetryBaseLogger,
|
|
29
|
-
event: string | ITelemetryGenericEvent,
|
|
30
|
-
): condition is true {
|
|
31
|
-
if (condition) {
|
|
32
|
-
return true;
|
|
33
|
-
}
|
|
34
|
-
const newEvent: ITelemetryBaseEvent =
|
|
35
|
-
typeof event === "string"
|
|
36
|
-
? { eventName: event, category: "error" }
|
|
37
|
-
: { category: "error", ...event };
|
|
38
|
-
logger.send(newEvent);
|
|
39
|
-
return false;
|
|
40
|
-
}
|
|
5
|
+
import { ITelemetryBaseEvent } from "@fluidframework/core-interfaces";
|
|
6
|
+
import { loggerToMonitoringContext } from "./config.js";
|
|
7
|
+
import { ITelemetryGenericEventExt, ITelemetryLoggerExt } from "./telemetryTypes.js";
|
|
41
8
|
|
|
42
9
|
/**
|
|
43
10
|
* An object that contains a callback used in conjunction with the {@link createSampledLogger} utility function to provide custom logic for sampling events.
|
package/tsconfig.json
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
{
|
|
2
|
-
"extends": "
|
|
2
|
+
"extends": "../../../common/build/build-common/tsconfig.node16.json",
|
|
3
3
|
"exclude": ["src/test/**/*"],
|
|
4
4
|
"compilerOptions": {
|
|
5
5
|
"rootDir": "./src",
|
|
6
|
-
"outDir": "./
|
|
7
|
-
"composite": true,
|
|
6
|
+
"outDir": "./lib",
|
|
8
7
|
},
|
|
9
8
|
"include": ["src/**/*"],
|
|
10
9
|
}
|
package/tsconfig.esnext.json
DELETED
|
File without changes
|