@fluidframework/telemetry-utils 2.0.0-dev-rc.5.0.0.271717 → 2.0.0-dev-rc.5.0.0.272251
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/.eslintrc.cjs +1 -1
- package/api-extractor/api-extractor-lint-bundle.json +5 -0
- package/api-extractor/api-extractor-lint-legacy.cjs.json +5 -0
- package/api-extractor/api-extractor-lint-legacy.esm.json +5 -0
- package/api-extractor/api-extractor-lint-public.cjs.json +5 -0
- package/api-extractor/api-extractor-lint-public.esm.json +5 -0
- package/api-report/telemetry-utils.alpha.api.md +13 -28
- package/api-report/telemetry-utils.beta.api.md +7 -7
- package/api-report/telemetry-utils.public.api.md +7 -7
- package/dist/config.d.ts +2 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/error.d.ts +5 -5
- package/dist/error.d.ts.map +1 -1
- package/dist/error.js.map +1 -1
- package/dist/errorLogging.d.ts +1 -1
- package/dist/errorLogging.d.ts.map +1 -1
- package/dist/errorLogging.js +21 -8
- package/dist/errorLogging.js.map +1 -1
- package/dist/eventEmitterWithErrorHandling.d.ts +2 -2
- package/dist/eventEmitterWithErrorHandling.d.ts.map +1 -1
- package/dist/eventEmitterWithErrorHandling.js.map +1 -1
- package/dist/index.d.ts +6 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts +3 -5
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js.map +1 -1
- package/dist/mockLogger.d.ts +15 -7
- package/dist/mockLogger.d.ts.map +1 -1
- package/dist/mockLogger.js +16 -9
- package/dist/mockLogger.js.map +1 -1
- package/dist/sampledTelemetryHelper.d.ts +6 -2
- package/dist/sampledTelemetryHelper.d.ts.map +1 -1
- package/dist/sampledTelemetryHelper.js +10 -2
- package/dist/sampledTelemetryHelper.js.map +1 -1
- package/dist/telemetryTypes.d.ts +32 -18
- package/dist/telemetryTypes.d.ts.map +1 -1
- package/dist/telemetryTypes.js.map +1 -1
- package/dist/thresholdCounter.d.ts +1 -1
- package/dist/thresholdCounter.d.ts.map +1 -1
- package/dist/thresholdCounter.js.map +1 -1
- package/dist/utils.d.ts +1 -1
- package/dist/utils.d.ts.map +1 -1
- 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.map +1 -1
- package/lib/error.d.ts +5 -5
- package/lib/error.d.ts.map +1 -1
- package/lib/error.js.map +1 -1
- package/lib/errorLogging.d.ts +1 -1
- package/lib/errorLogging.d.ts.map +1 -1
- package/lib/errorLogging.js +21 -8
- package/lib/errorLogging.js.map +1 -1
- package/lib/eventEmitterWithErrorHandling.d.ts +2 -2
- package/lib/eventEmitterWithErrorHandling.d.ts.map +1 -1
- package/lib/eventEmitterWithErrorHandling.js.map +1 -1
- package/lib/index.d.ts +6 -6
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/logger.d.ts +3 -5
- package/lib/logger.d.ts.map +1 -1
- package/lib/logger.js.map +1 -1
- package/lib/mockLogger.d.ts +15 -7
- package/lib/mockLogger.d.ts.map +1 -1
- package/lib/mockLogger.js +16 -9
- package/lib/mockLogger.js.map +1 -1
- package/lib/sampledTelemetryHelper.d.ts +6 -2
- package/lib/sampledTelemetryHelper.d.ts.map +1 -1
- package/lib/sampledTelemetryHelper.js +10 -2
- package/lib/sampledTelemetryHelper.js.map +1 -1
- package/lib/telemetryTypes.d.ts +32 -18
- package/lib/telemetryTypes.d.ts.map +1 -1
- package/lib/telemetryTypes.js.map +1 -1
- 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 -1
- package/lib/utils.d.ts.map +1 -1
- package/lib/utils.js.map +1 -1
- package/package.json +16 -7
- package/src/config.ts +10 -10
- package/src/error.ts +13 -13
- package/src/errorLogging.ts +27 -14
- package/src/eventEmitterWithErrorHandling.ts +3 -3
- package/src/index.ts +11 -11
- package/src/logger.ts +11 -10
- package/src/mockLogger.ts +34 -20
- package/src/sampledTelemetryHelper.ts +15 -5
- package/src/telemetryTypes.ts +38 -19
- package/src/thresholdCounter.ts +1 -1
- package/src/utils.ts +2 -2
- package/tsdoc.json +4 -0
package/src/logger.ts
CHANGED
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
|
|
6
6
|
import { performance } from "@fluid-internal/client-utils";
|
|
7
7
|
import {
|
|
8
|
-
ITelemetryBaseEvent,
|
|
9
|
-
ITelemetryBaseLogger,
|
|
8
|
+
type ITelemetryBaseEvent,
|
|
9
|
+
type ITelemetryBaseLogger,
|
|
10
10
|
LogLevel,
|
|
11
|
-
Tagged,
|
|
12
|
-
TelemetryBaseEventPropertyType,
|
|
11
|
+
type Tagged,
|
|
12
|
+
type TelemetryBaseEventPropertyType,
|
|
13
13
|
} from "@fluidframework/core-interfaces";
|
|
14
14
|
|
|
15
15
|
import {
|
|
@@ -23,8 +23,8 @@ import {
|
|
|
23
23
|
isILoggingError,
|
|
24
24
|
isTaggedTelemetryPropertyValue,
|
|
25
25
|
} from "./errorLogging.js";
|
|
26
|
-
import {
|
|
27
|
-
|
|
26
|
+
import type {
|
|
27
|
+
ITelemetryErrorEventExt,
|
|
28
28
|
ITelemetryEventExt,
|
|
29
29
|
ITelemetryGenericEventExt,
|
|
30
30
|
ITelemetryLoggerExt,
|
|
@@ -60,9 +60,10 @@ export type TelemetryEventPropertyTypes = ITelemetryPropertiesExt[string];
|
|
|
60
60
|
/**
|
|
61
61
|
* @alpha
|
|
62
62
|
*/
|
|
63
|
-
export
|
|
64
|
-
|
|
65
|
-
|
|
63
|
+
export type ITelemetryLoggerPropertyBag = Record<
|
|
64
|
+
string,
|
|
65
|
+
TelemetryEventPropertyTypes | (() => TelemetryEventPropertyTypes)
|
|
66
|
+
>;
|
|
66
67
|
|
|
67
68
|
/**
|
|
68
69
|
* @alpha
|
|
@@ -533,7 +534,7 @@ export class MultiSinkLogger extends TelemetryLogger {
|
|
|
533
534
|
* @param loggers - The list of loggers to use as sinks
|
|
534
535
|
* @param tryInheritProperties - Will attempted to copy those loggers properties to this loggers if they are of a known type e.g. one from this package
|
|
535
536
|
*/
|
|
536
|
-
constructor(
|
|
537
|
+
public constructor(
|
|
537
538
|
namespace?: string,
|
|
538
539
|
properties?: ITelemetryLoggerPropertyBags,
|
|
539
540
|
loggers: ITelemetryBaseLogger[] = [],
|
package/src/mockLogger.ts
CHANGED
|
@@ -4,36 +4,51 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import {
|
|
7
|
-
ITelemetryBaseEvent,
|
|
8
|
-
ITelemetryBaseLogger,
|
|
7
|
+
type ITelemetryBaseEvent,
|
|
8
|
+
type ITelemetryBaseLogger,
|
|
9
9
|
LogLevel,
|
|
10
10
|
} from "@fluidframework/core-interfaces";
|
|
11
11
|
import { assert } from "@fluidframework/core-utils/internal";
|
|
12
12
|
|
|
13
13
|
import { createChildLogger } from "./logger.js";
|
|
14
|
-
import { ITelemetryLoggerExt, ITelemetryPropertiesExt } from "./telemetryTypes.js";
|
|
14
|
+
import type { ITelemetryLoggerExt, ITelemetryPropertiesExt } from "./telemetryTypes.js";
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
|
-
*
|
|
18
|
-
*
|
|
17
|
+
* Mock {@link @fluidframework/core-interfaces#ITelemetryBaseLogger} implementation.
|
|
18
|
+
*
|
|
19
|
+
* Records events sent to it, and then can walk back over those events, searching for a set of expected events to
|
|
20
|
+
* match against the logged events.
|
|
19
21
|
*
|
|
20
22
|
* @alpha
|
|
21
23
|
*/
|
|
22
24
|
export class MockLogger implements ITelemetryBaseLogger {
|
|
23
|
-
|
|
25
|
+
// TODO: don't expose mutability to external consumers
|
|
26
|
+
public events: ITelemetryBaseEvent[] = [];
|
|
24
27
|
|
|
25
|
-
|
|
28
|
+
/**
|
|
29
|
+
* {@inheritDoc @fluidframework/core-interfaces#ITelemetryBaseLogger.minLogLevel}
|
|
30
|
+
*/
|
|
31
|
+
public readonly minLogLevel: LogLevel;
|
|
32
|
+
|
|
33
|
+
public constructor(minLogLevel?: LogLevel) {
|
|
34
|
+
this.minLogLevel = minLogLevel ?? LogLevel.default;
|
|
35
|
+
}
|
|
26
36
|
|
|
27
|
-
clear(): void {
|
|
37
|
+
public clear(): void {
|
|
28
38
|
this.events = [];
|
|
29
39
|
}
|
|
30
40
|
|
|
31
|
-
toTelemetryLogger(): ITelemetryLoggerExt {
|
|
41
|
+
public toTelemetryLogger(): ITelemetryLoggerExt {
|
|
32
42
|
return createChildLogger({ logger: this });
|
|
33
43
|
}
|
|
34
44
|
|
|
35
|
-
|
|
36
|
-
|
|
45
|
+
/**
|
|
46
|
+
* {@inheritDoc @fluidframework/core-interfaces#ITelemetryBaseLogger.send}
|
|
47
|
+
*/
|
|
48
|
+
public send(event: ITelemetryBaseEvent, logLevel?: LogLevel): void {
|
|
49
|
+
if (logLevel ?? LogLevel.default >= this.minLogLevel) {
|
|
50
|
+
this.events.push(event);
|
|
51
|
+
}
|
|
37
52
|
}
|
|
38
53
|
|
|
39
54
|
/**
|
|
@@ -44,7 +59,7 @@ export class MockLogger implements ITelemetryBaseLogger {
|
|
|
44
59
|
* These event objects may be subsets of the logged events.
|
|
45
60
|
* Note: category is omitted from the type because it's usually uninteresting and tedious to type.
|
|
46
61
|
*/
|
|
47
|
-
matchEvents(
|
|
62
|
+
public matchEvents(
|
|
48
63
|
expectedEvents: Omit<ITelemetryBaseEvent, "category">[],
|
|
49
64
|
inlineDetailsProp: boolean = false,
|
|
50
65
|
): boolean {
|
|
@@ -60,7 +75,7 @@ export class MockLogger implements ITelemetryBaseLogger {
|
|
|
60
75
|
/**
|
|
61
76
|
* Asserts that matchEvents is true, and prints the actual/expected output if not.
|
|
62
77
|
*/
|
|
63
|
-
assertMatch(
|
|
78
|
+
public assertMatch(
|
|
64
79
|
expectedEvents: Omit<ITelemetryBaseEvent, "category">[],
|
|
65
80
|
message?: string,
|
|
66
81
|
inlineDetailsProp: boolean = false,
|
|
@@ -85,7 +100,7 @@ ${JSON.stringify(actualEvents)}`);
|
|
|
85
100
|
* Note: category is omitted from the type because it's usually uninteresting and tedious to type.
|
|
86
101
|
* @returns if any of the expected events is found.
|
|
87
102
|
*/
|
|
88
|
-
matchAnyEvent(
|
|
103
|
+
public matchAnyEvent(
|
|
89
104
|
expectedEvents: Omit<ITelemetryBaseEvent, "category">[],
|
|
90
105
|
inlineDetailsProp: boolean = false,
|
|
91
106
|
): boolean {
|
|
@@ -99,7 +114,7 @@ ${JSON.stringify(actualEvents)}`);
|
|
|
99
114
|
/**
|
|
100
115
|
* Asserts that matchAnyEvent is true, and prints the actual/expected output if not.
|
|
101
116
|
*/
|
|
102
|
-
assertMatchAny(
|
|
117
|
+
public assertMatchAny(
|
|
103
118
|
expectedEvents: Omit<ITelemetryBaseEvent, "category">[],
|
|
104
119
|
message?: string,
|
|
105
120
|
inlineDetailsProp: boolean = false,
|
|
@@ -123,7 +138,7 @@ ${JSON.stringify(actualEvents)}`);
|
|
|
123
138
|
* These event objects may be subsets of the logged events.
|
|
124
139
|
* Note: category is omitted from the type because it's usually uninteresting and tedious to type.
|
|
125
140
|
*/
|
|
126
|
-
matchEventStrict(
|
|
141
|
+
public matchEventStrict(
|
|
127
142
|
expectedEvents: Omit<ITelemetryBaseEvent, "category">[],
|
|
128
143
|
inlineDetailsProp: boolean = false,
|
|
129
144
|
): boolean {
|
|
@@ -136,7 +151,7 @@ ${JSON.stringify(actualEvents)}`);
|
|
|
136
151
|
/**
|
|
137
152
|
* Asserts that matchEvents is true, and prints the actual/expected output if not
|
|
138
153
|
*/
|
|
139
|
-
assertMatchStrict(
|
|
154
|
+
public assertMatchStrict(
|
|
140
155
|
expectedEvents: Omit<ITelemetryBaseEvent, "category">[],
|
|
141
156
|
message?: string,
|
|
142
157
|
inlineDetailsProp: boolean = false,
|
|
@@ -155,7 +170,7 @@ ${JSON.stringify(actualEvents)}`);
|
|
|
155
170
|
/**
|
|
156
171
|
* Asserts that matchAnyEvent is false for the given events, and prints the actual/expected output if not
|
|
157
172
|
*/
|
|
158
|
-
assertMatchNone(
|
|
173
|
+
public assertMatchNone(
|
|
159
174
|
disallowedEvents: Omit<ITelemetryBaseEvent, "category">[],
|
|
160
175
|
message?: string,
|
|
161
176
|
inlineDetailsProp: boolean = false,
|
|
@@ -187,7 +202,7 @@ ${JSON.stringify(actualEvents)}`);
|
|
|
187
202
|
}
|
|
188
203
|
|
|
189
204
|
// Remove the events so far; next call will just compare subsequent events from here
|
|
190
|
-
this.
|
|
205
|
+
this.clear();
|
|
191
206
|
|
|
192
207
|
// Return the count of matched events.
|
|
193
208
|
return iExpectedEvent;
|
|
@@ -208,7 +223,6 @@ ${JSON.stringify(actualEvents)}`);
|
|
|
208
223
|
if (inlineDetailsProp && details !== undefined) {
|
|
209
224
|
assert(
|
|
210
225
|
typeof details === "string",
|
|
211
|
-
// eslint-disable-next-line unicorn/numeric-separators-style
|
|
212
226
|
0x6c9 /* Details should a JSON stringified string if inlineDetailsProp is true */,
|
|
213
227
|
);
|
|
214
228
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
import { performance } from "@fluid-internal/client-utils";
|
|
7
7
|
import type { IDisposable, ITelemetryBaseProperties } from "@fluidframework/core-interfaces";
|
|
8
8
|
|
|
9
|
-
import {
|
|
10
|
-
|
|
9
|
+
import type {
|
|
10
|
+
ITelemetryGenericEventExt,
|
|
11
11
|
ITelemetryLoggerExt,
|
|
12
|
-
|
|
12
|
+
ITelemetryPerformanceEventExt,
|
|
13
13
|
} from "./telemetryTypes.js";
|
|
14
14
|
|
|
15
15
|
/**
|
|
@@ -58,7 +58,14 @@ interface Measurements {
|
|
|
58
58
|
* @internal
|
|
59
59
|
*/
|
|
60
60
|
export class SampledTelemetryHelper implements IDisposable {
|
|
61
|
-
|
|
61
|
+
private _disposed: boolean = false;
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* {@inheritDoc @fluidframework/core-interfaces#IDisposable.disposed}
|
|
65
|
+
*/
|
|
66
|
+
public get disposed(): boolean {
|
|
67
|
+
return this._disposed;
|
|
68
|
+
}
|
|
62
69
|
|
|
63
70
|
private readonly measurementsMap = new Map<string, Measurements>();
|
|
64
71
|
|
|
@@ -145,6 +152,9 @@ export class SampledTelemetryHelper implements IDisposable {
|
|
|
145
152
|
}
|
|
146
153
|
|
|
147
154
|
public dispose(error?: Error | undefined): void {
|
|
148
|
-
for (const [k] of this.measurementsMap.entries())
|
|
155
|
+
for (const [k] of this.measurementsMap.entries()) {
|
|
156
|
+
this.flushBucket(k);
|
|
157
|
+
}
|
|
158
|
+
this._disposed = true;
|
|
149
159
|
}
|
|
150
160
|
}
|
package/src/telemetryTypes.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { ITelemetryBaseLogger, LogLevel, Tagged } from "@fluidframework/core-interfaces";
|
|
6
|
+
import type { ITelemetryBaseLogger, LogLevel, Tagged } from "@fluidframework/core-interfaces";
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* The categories FF uses when instrumenting the code.
|
|
@@ -31,10 +31,7 @@ export type TelemetryEventPropertyTypeExt =
|
|
|
31
31
|
| boolean
|
|
32
32
|
| undefined
|
|
33
33
|
| (string | number | boolean)[]
|
|
34
|
-
|
|
|
35
|
-
[key: string]: // Flat objects can have the same properties as the event itself
|
|
36
|
-
string | number | boolean | undefined | (string | number | boolean)[];
|
|
37
|
-
};
|
|
34
|
+
| Record<string, string | number | boolean | undefined | (string | number | boolean)[]>;
|
|
38
35
|
|
|
39
36
|
/**
|
|
40
37
|
* A property to be logged to telemetry containing both the value and a tag. Tags are generic strings that can be used
|
|
@@ -53,9 +50,10 @@ export interface ITaggedTelemetryPropertyTypeExt {
|
|
|
53
50
|
* JSON-serializable properties, which will be logged with telemetry.
|
|
54
51
|
* @alpha
|
|
55
52
|
*/
|
|
56
|
-
export
|
|
57
|
-
|
|
58
|
-
|
|
53
|
+
export type ITelemetryPropertiesExt = Record<
|
|
54
|
+
string,
|
|
55
|
+
TelemetryEventPropertyTypeExt | Tagged<TelemetryEventPropertyTypeExt>
|
|
56
|
+
>;
|
|
59
57
|
|
|
60
58
|
/**
|
|
61
59
|
* Interface for logging telemetry statements.
|
|
@@ -66,7 +64,14 @@ export interface ITelemetryPropertiesExt {
|
|
|
66
64
|
* @internal
|
|
67
65
|
*/
|
|
68
66
|
export interface ITelemetryEventExt extends ITelemetryPropertiesExt {
|
|
67
|
+
/**
|
|
68
|
+
* {@inheritDoc @fluidframework/core-interfaces#ITelemetryBaseEvent.category}
|
|
69
|
+
*/
|
|
69
70
|
category: string;
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* {@inheritDoc @fluidframework/core-interfaces#ITelemetryBaseEvent.eventName}
|
|
74
|
+
*/
|
|
70
75
|
eventName: string;
|
|
71
76
|
}
|
|
72
77
|
|
|
@@ -76,7 +81,15 @@ export interface ITelemetryEventExt extends ITelemetryPropertiesExt {
|
|
|
76
81
|
* @alpha
|
|
77
82
|
*/
|
|
78
83
|
export interface ITelemetryGenericEventExt extends ITelemetryPropertiesExt {
|
|
84
|
+
/**
|
|
85
|
+
* {@inheritDoc @fluidframework/core-interfaces#ITelemetryBaseEvent.eventName}
|
|
86
|
+
*/
|
|
79
87
|
eventName: string;
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Optional event {@link @fluidframework/core-interfaces#ITelemetryBaseEvent.category}.
|
|
91
|
+
* @defaultValue "generic"
|
|
92
|
+
*/
|
|
80
93
|
category?: TelemetryEventCategory;
|
|
81
94
|
}
|
|
82
95
|
|
|
@@ -86,6 +99,9 @@ export interface ITelemetryGenericEventExt extends ITelemetryPropertiesExt {
|
|
|
86
99
|
* @alpha
|
|
87
100
|
*/
|
|
88
101
|
export interface ITelemetryErrorEventExt extends ITelemetryPropertiesExt {
|
|
102
|
+
/**
|
|
103
|
+
* {@inheritDoc @fluidframework/core-interfaces#ITelemetryBaseEvent.eventName}
|
|
104
|
+
*/
|
|
89
105
|
eventName: string;
|
|
90
106
|
}
|
|
91
107
|
|
|
@@ -95,7 +111,10 @@ export interface ITelemetryErrorEventExt extends ITelemetryPropertiesExt {
|
|
|
95
111
|
* @alpha
|
|
96
112
|
*/
|
|
97
113
|
export interface ITelemetryPerformanceEventExt extends ITelemetryGenericEventExt {
|
|
98
|
-
|
|
114
|
+
/**
|
|
115
|
+
* Duration of event (optional)
|
|
116
|
+
*/
|
|
117
|
+
duration?: number;
|
|
99
118
|
}
|
|
100
119
|
|
|
101
120
|
/**
|
|
@@ -108,10 +127,10 @@ export interface ITelemetryPerformanceEventExt extends ITelemetryGenericEventExt
|
|
|
108
127
|
*/
|
|
109
128
|
export interface ITelemetryLoggerExt extends ITelemetryBaseLogger {
|
|
110
129
|
/**
|
|
111
|
-
* Send information telemetry event
|
|
112
|
-
* @param event - Event to send
|
|
113
|
-
* @param error -
|
|
114
|
-
* @param logLevel -
|
|
130
|
+
* Send an information telemetry event.
|
|
131
|
+
* @param event - Event to send.
|
|
132
|
+
* @param error - Optional error object to log.
|
|
133
|
+
* @param logLevel - Optional level of the log. Default: {@link @fluidframework/core-interfaces#LogLevel.default}.
|
|
115
134
|
*/
|
|
116
135
|
sendTelemetryEvent(
|
|
117
136
|
event: ITelemetryGenericEventExt,
|
|
@@ -120,17 +139,17 @@ export interface ITelemetryLoggerExt extends ITelemetryBaseLogger {
|
|
|
120
139
|
): void;
|
|
121
140
|
|
|
122
141
|
/**
|
|
123
|
-
* Send error telemetry event
|
|
124
|
-
* @param event - Event to send
|
|
125
|
-
* @param error -
|
|
142
|
+
* Send an error telemetry event.
|
|
143
|
+
* @param event - Event to send.
|
|
144
|
+
* @param error - Optional error object to log.
|
|
126
145
|
*/
|
|
127
146
|
sendErrorEvent(event: ITelemetryErrorEventExt, error?: unknown): void;
|
|
128
147
|
|
|
129
148
|
/**
|
|
130
|
-
* Send performance telemetry event
|
|
149
|
+
* Send a performance telemetry event.
|
|
131
150
|
* @param event - Event to send
|
|
132
|
-
* @param error -
|
|
133
|
-
* @param logLevel -
|
|
151
|
+
* @param error - Optional error object to log.
|
|
152
|
+
* @param logLevel - Optional level of the log. Default: {@link @fluidframework/core-interfaces#LogLevel.default}.
|
|
134
153
|
*/
|
|
135
154
|
sendPerformanceEvent(
|
|
136
155
|
event: ITelemetryPerformanceEventExt,
|
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.js";
|
|
6
|
+
import type { 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
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { ITelemetryBaseEvent } from "@fluidframework/core-interfaces";
|
|
6
|
+
import type { ITelemetryBaseEvent } from "@fluidframework/core-interfaces";
|
|
7
7
|
|
|
8
8
|
import { loggerToMonitoringContext } from "./config.js";
|
|
9
|
-
import { ITelemetryGenericEventExt, ITelemetryLoggerExt } from "./telemetryTypes.js";
|
|
9
|
+
import type { ITelemetryGenericEventExt, ITelemetryLoggerExt } from "./telemetryTypes.js";
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* An object that contains a callback used in conjunction with the {@link createSampledLogger} utility function to provide custom logic for sampling events.
|
package/tsdoc.json
ADDED