@fluidframework/telemetry-utils
Advanced tools
Comparing version 2.0.0-rc.3.0.3 to 2.0.0-rc.4.0.0
@@ -196,3 +196,3 @@ ## API Report File for "@fluidframework/telemetry-utils" | ||
// @public | ||
// @alpha | ||
export interface ITelemetryErrorEventExt extends ITelemetryPropertiesExt { | ||
@@ -211,3 +211,3 @@ // (undocumented) | ||
// @public | ||
// @alpha | ||
export interface ITelemetryGenericEventExt extends ITelemetryPropertiesExt { | ||
@@ -220,3 +220,3 @@ // (undocumented) | ||
// @public | ||
// @alpha | ||
export interface ITelemetryLoggerExt extends ITelemetryBaseLogger { | ||
@@ -242,3 +242,3 @@ sendErrorEvent(event: ITelemetryErrorEventExt, error?: unknown): void; | ||
// @public | ||
// @alpha | ||
export interface ITelemetryPerformanceEventExt extends ITelemetryGenericEventExt { | ||
@@ -249,3 +249,3 @@ // (undocumented) | ||
// @public | ||
// @alpha | ||
export interface ITelemetryPropertiesExt { | ||
@@ -326,3 +326,3 @@ // (undocumented) | ||
export class PerformanceEvent { | ||
protected constructor(logger: ITelemetryLoggerExt, event: ITelemetryGenericEventExt, markers?: IPerformanceEventMarkers, recordHeapSize?: boolean, emitLogs?: boolean); | ||
protected constructor(logger: ITelemetryLoggerExt, event: ITelemetryGenericEventExt, markers?: IPerformanceEventMarkers, emitLogs?: boolean); | ||
// (undocumented) | ||
@@ -337,5 +337,5 @@ cancel(props?: ITelemetryPropertiesExt, error?: unknown): void; | ||
reportProgress(props?: ITelemetryPropertiesExt, eventNameSuffix?: string): void; | ||
static start(logger: ITelemetryLoggerExt, event: ITelemetryGenericEventExt, markers?: IPerformanceEventMarkers, recordHeapSize?: boolean, emitLogs?: boolean): PerformanceEvent; | ||
static start(logger: ITelemetryLoggerExt, event: ITelemetryGenericEventExt, markers?: IPerformanceEventMarkers, emitLogs?: boolean): PerformanceEvent; | ||
static timedExec<T>(logger: ITelemetryLoggerExt, event: ITelemetryGenericEventExt, callback: (event: PerformanceEvent) => T, markers?: IPerformanceEventMarkers, sampleThreshold?: number): T; | ||
static timedExecAsync<T>(logger: ITelemetryLoggerExt, event: ITelemetryGenericEventExt, callback: (event: PerformanceEvent) => Promise<T>, markers?: IPerformanceEventMarkers, recordHeapSize?: boolean, sampleThreshold?: number): Promise<T>; | ||
static timedExecAsync<T>(logger: ITelemetryLoggerExt, event: ITelemetryGenericEventExt, callback: (event: PerformanceEvent) => Promise<T>, markers?: IPerformanceEventMarkers, sampleThreshold?: number): Promise<T>; | ||
} | ||
@@ -392,6 +392,6 @@ | ||
// @public | ||
// @alpha | ||
export type TelemetryEventCategory = "generic" | "error" | "performance"; | ||
// @public | ||
// @alpha | ||
export type TelemetryEventPropertyTypeExt = string | number | boolean | undefined | (string | number | boolean)[] | { | ||
@@ -403,3 +403,3 @@ [key: string]: // Flat objects can have the same properties as the event itself | ||
// @alpha (undocumented) | ||
export type TelemetryEventPropertyTypes = ITelemetryBaseProperties[string]; | ||
export type TelemetryEventPropertyTypes = ITelemetryPropertiesExt[string]; | ||
@@ -406,0 +406,0 @@ // @internal |
# @fluidframework/telemetry-utils | ||
## 2.0.0-rc.4.0.0 | ||
### Major Changes | ||
- telemetry-utils: Internal telemetry types removed from public API surface [96872186d0](https://github.com/microsoft/FluidFramework/commit/96872186d0d0f245c1fece7d19b3743e501679b6) | ||
We have updated the tags for the following telemetry-related types in the FluidFramework: TelemetryEventCategory, TelemetryEventPropertyTypeExt, ITelemetryPropertiesExt, ITelemetryGenericEventExt, ITelemetryErrorEventExt, ITelemetryPerformanceEventExt, ITelemetryLoggerExt. For developers using any of these types, the primary action required is to transition to using the corresponding "base" type. For example, replace ITelemetryPerformanceEventExt with ITelemetryBaseEvent from @core-interfaces. | ||
## 2.0.0-rc.3.0.0 | ||
@@ -4,0 +12,0 @@ |
@@ -12,18 +12,16 @@ /*! | ||
export { | ||
// public APIs | ||
// @alpha APIs | ||
EventEmitterWithErrorHandling, | ||
ITelemetryErrorEventExt, | ||
ITelemetryGenericEventExt, | ||
ITelemetryLoggerExt, | ||
ITelemetryLoggerPropertyBag, | ||
ITelemetryLoggerPropertyBags, | ||
ITelemetryPerformanceEventExt, | ||
ITelemetryPropertiesExt, | ||
MockLogger, | ||
TelemetryEventCategory, | ||
TelemetryEventPropertyTypeExt, | ||
// alpha APIs | ||
EventEmitterWithErrorHandling, | ||
ITelemetryLoggerPropertyBag, | ||
ITelemetryLoggerPropertyBags, | ||
MockLogger, | ||
TelemetryEventPropertyTypeExt, | ||
TelemetryEventPropertyTypes, | ||
createChildLogger | ||
} from "./index.js"; |
@@ -5,11 +5,4 @@ /*! | ||
*/ | ||
import { IsomorphicPerformance } from "@fluid-internal/client-utils"; | ||
import { ITelemetryBaseEvent, ITelemetryBaseLogger, ITelemetryBaseProperties, LogLevel, Tagged, TelemetryBaseEventPropertyType } from "@fluidframework/core-interfaces"; | ||
import { ITelemetryBaseEvent, ITelemetryBaseLogger, LogLevel, Tagged, TelemetryBaseEventPropertyType } from "@fluidframework/core-interfaces"; | ||
import { type ITelemetryErrorEventExt, ITelemetryGenericEventExt, ITelemetryLoggerExt, ITelemetryPerformanceEventExt, ITelemetryPropertiesExt, TelemetryEventCategory, TelemetryEventPropertyTypeExt } from "./telemetryTypes.js"; | ||
export interface Memory { | ||
usedJSHeapSize: number; | ||
} | ||
export interface PerformanceWithMemory extends IsomorphicPerformance { | ||
readonly memory: Memory; | ||
} | ||
/** | ||
@@ -35,3 +28,3 @@ * Broad classifications to be applied to individual properties as they're prepared to be logged to telemetry. | ||
*/ | ||
export type TelemetryEventPropertyTypes = ITelemetryBaseProperties[string]; | ||
export type TelemetryEventPropertyTypes = ITelemetryPropertiesExt[string]; | ||
/** | ||
@@ -273,3 +266,2 @@ * @alpha | ||
private readonly markers; | ||
private readonly recordHeapSize; | ||
private readonly emitLogs; | ||
@@ -286,3 +278,3 @@ /** | ||
*/ | ||
static start(logger: ITelemetryLoggerExt, event: ITelemetryGenericEventExt, markers?: IPerformanceEventMarkers, recordHeapSize?: boolean, emitLogs?: boolean): PerformanceEvent; | ||
static start(logger: ITelemetryLoggerExt, event: ITelemetryGenericEventExt, markers?: IPerformanceEventMarkers, emitLogs?: boolean): PerformanceEvent; | ||
/** | ||
@@ -320,3 +312,3 @@ * Measure a synchronous task | ||
*/ | ||
static timedExecAsync<T>(logger: ITelemetryLoggerExt, event: ITelemetryGenericEventExt, callback: (event: PerformanceEvent) => Promise<T>, markers?: IPerformanceEventMarkers, recordHeapSize?: boolean, sampleThreshold?: number): Promise<T>; | ||
static timedExecAsync<T>(logger: ITelemetryLoggerExt, event: ITelemetryGenericEventExt, callback: (event: PerformanceEvent) => Promise<T>, markers?: IPerformanceEventMarkers, sampleThreshold?: number): Promise<T>; | ||
get duration(): number; | ||
@@ -326,4 +318,3 @@ private event?; | ||
private startMark?; | ||
private startMemoryCollection; | ||
protected constructor(logger: ITelemetryLoggerExt, event: ITelemetryGenericEventExt, markers?: IPerformanceEventMarkers, recordHeapSize?: boolean, emitLogs?: boolean); | ||
protected constructor(logger: ITelemetryLoggerExt, event: ITelemetryGenericEventExt, markers?: IPerformanceEventMarkers, emitLogs?: boolean); | ||
reportProgress(props?: ITelemetryPropertiesExt, eventNameSuffix?: string): void; | ||
@@ -330,0 +321,0 @@ private autoEnd; |
@@ -446,4 +446,4 @@ "use strict"; | ||
*/ | ||
static start(logger, event, markers, recordHeapSize = false, emitLogs = true) { | ||
return new PerformanceEvent(logger, event, markers, recordHeapSize, emitLogs); | ||
static start(logger, event, markers, emitLogs = true) { | ||
return new PerformanceEvent(logger, event, markers, emitLogs); | ||
} | ||
@@ -466,4 +466,3 @@ /** | ||
static timedExec(logger, event, callback, markers, sampleThreshold = 1) { | ||
const perfEvent = PerformanceEvent.start(logger, event, markers, undefined, // recordHeapSize | ||
PerformanceEvent.shouldReport(event, sampleThreshold)); | ||
const perfEvent = PerformanceEvent.start(logger, event, markers, PerformanceEvent.shouldReport(event, sampleThreshold)); | ||
try { | ||
@@ -495,4 +494,4 @@ const ret = callback(perfEvent); | ||
*/ | ||
static async timedExecAsync(logger, event, callback, markers, recordHeapSize, sampleThreshold = 1) { | ||
const perfEvent = PerformanceEvent.start(logger, event, markers, recordHeapSize, PerformanceEvent.shouldReport(event, sampleThreshold)); | ||
static async timedExecAsync(logger, event, callback, markers, sampleThreshold = 1) { | ||
const perfEvent = PerformanceEvent.start(logger, event, markers, PerformanceEvent.shouldReport(event, sampleThreshold)); | ||
try { | ||
@@ -511,9 +510,7 @@ const ret = await callback(perfEvent); | ||
} | ||
constructor(logger, event, markers = { end: true, cancel: "generic" }, recordHeapSize = false, emitLogs = true) { | ||
constructor(logger, event, markers = { end: true, cancel: "generic" }, emitLogs = true) { | ||
this.logger = logger; | ||
this.markers = markers; | ||
this.recordHeapSize = recordHeapSize; | ||
this.emitLogs = emitLogs; | ||
this.startTime = client_utils_1.performance.now(); | ||
this.startMemoryCollection = 0; | ||
this.event = { ...event }; | ||
@@ -575,15 +572,3 @@ if (this.markers.start) { | ||
event.duration = this.duration; | ||
if (this.startMemoryCollection) { | ||
const currentMemory = client_utils_1.performance?.memory | ||
?.usedJSHeapSize; | ||
const differenceInKBytes = Math.floor((currentMemory - this.startMemoryCollection) / 1024); | ||
if (differenceInKBytes > 0) { | ||
event.usedJSHeapSize = differenceInKBytes; | ||
} | ||
} | ||
} | ||
else if (this.recordHeapSize) { | ||
this.startMemoryCollection = client_utils_1.performance?.memory | ||
?.usedJSHeapSize; | ||
} | ||
this.logger.sendPerformanceEvent(event, error); | ||
@@ -675,3 +660,3 @@ } | ||
.filter((e) => e[1] !== undefined) | ||
// eslint-disable-next-line unicorn/no-array-reduce, unicorn/prefer-object-from-entries | ||
// eslint-disable-next-line unicorn/no-array-reduce | ||
.reduce((pv, cv) => { | ||
@@ -678,0 +663,0 @@ const [key, value] = cv; |
@@ -11,11 +11,3 @@ /*! | ||
export { | ||
// public APIs | ||
ITelemetryErrorEventExt, | ||
ITelemetryGenericEventExt, | ||
ITelemetryLoggerExt, | ||
ITelemetryPerformanceEventExt, | ||
ITelemetryPropertiesExt, | ||
TelemetryEventCategory, | ||
TelemetryEventPropertyTypeExt | ||
} from "./index.js"; | ||
export {} | ||
@@ -14,3 +14,3 @@ /*! | ||
* performance - Includes duration, and often has _start, _end, or _cancel suffixes for activity tracking | ||
* @public | ||
* @alpha | ||
*/ | ||
@@ -24,3 +24,3 @@ export type TelemetryEventCategory = "generic" | "error" | "performance"; | ||
* converted before sending to a base logger. | ||
* @public | ||
* @alpha | ||
*/ | ||
@@ -45,3 +45,3 @@ export type TelemetryEventPropertyTypeExt = string | number | boolean | undefined | (string | number | boolean)[] | { | ||
* JSON-serializable properties, which will be logged with telemetry. | ||
* @public | ||
* @alpha | ||
*/ | ||
@@ -66,3 +66,3 @@ export interface ITelemetryPropertiesExt { | ||
* @remarks Maps to category = "generic" | ||
* @public | ||
* @alpha | ||
*/ | ||
@@ -76,3 +76,3 @@ export interface ITelemetryGenericEventExt extends ITelemetryPropertiesExt { | ||
* @remarks Maps to category = "error" | ||
* @public | ||
* @alpha | ||
*/ | ||
@@ -85,3 +85,3 @@ export interface ITelemetryErrorEventExt extends ITelemetryPropertiesExt { | ||
* @remarks Maps to category = "performance" | ||
* @public | ||
* @alpha | ||
*/ | ||
@@ -97,3 +97,3 @@ export interface ITelemetryPerformanceEventExt extends ITelemetryGenericEventExt { | ||
* and `ITelemetryBaseLogger` should be used when loggers are passed between layers. | ||
* @public | ||
* @alpha | ||
*/ | ||
@@ -100,0 +100,0 @@ export interface ITelemetryLoggerExt extends ITelemetryBaseLogger { |
@@ -12,18 +12,16 @@ /*! | ||
export { | ||
// public APIs | ||
// @alpha APIs | ||
EventEmitterWithErrorHandling, | ||
ITelemetryErrorEventExt, | ||
ITelemetryGenericEventExt, | ||
ITelemetryLoggerExt, | ||
ITelemetryLoggerPropertyBag, | ||
ITelemetryLoggerPropertyBags, | ||
ITelemetryPerformanceEventExt, | ||
ITelemetryPropertiesExt, | ||
MockLogger, | ||
TelemetryEventCategory, | ||
TelemetryEventPropertyTypeExt, | ||
// alpha APIs | ||
EventEmitterWithErrorHandling, | ||
ITelemetryLoggerPropertyBag, | ||
ITelemetryLoggerPropertyBags, | ||
MockLogger, | ||
TelemetryEventPropertyTypeExt, | ||
TelemetryEventPropertyTypes, | ||
createChildLogger | ||
} from "./index.js"; |
@@ -5,11 +5,4 @@ /*! | ||
*/ | ||
import { IsomorphicPerformance } from "@fluid-internal/client-utils"; | ||
import { ITelemetryBaseEvent, ITelemetryBaseLogger, ITelemetryBaseProperties, LogLevel, Tagged, TelemetryBaseEventPropertyType } from "@fluidframework/core-interfaces"; | ||
import { ITelemetryBaseEvent, ITelemetryBaseLogger, LogLevel, Tagged, TelemetryBaseEventPropertyType } from "@fluidframework/core-interfaces"; | ||
import { type ITelemetryErrorEventExt, ITelemetryGenericEventExt, ITelemetryLoggerExt, ITelemetryPerformanceEventExt, ITelemetryPropertiesExt, TelemetryEventCategory, TelemetryEventPropertyTypeExt } from "./telemetryTypes.js"; | ||
export interface Memory { | ||
usedJSHeapSize: number; | ||
} | ||
export interface PerformanceWithMemory extends IsomorphicPerformance { | ||
readonly memory: Memory; | ||
} | ||
/** | ||
@@ -35,3 +28,3 @@ * Broad classifications to be applied to individual properties as they're prepared to be logged to telemetry. | ||
*/ | ||
export type TelemetryEventPropertyTypes = ITelemetryBaseProperties[string]; | ||
export type TelemetryEventPropertyTypes = ITelemetryPropertiesExt[string]; | ||
/** | ||
@@ -273,3 +266,2 @@ * @alpha | ||
private readonly markers; | ||
private readonly recordHeapSize; | ||
private readonly emitLogs; | ||
@@ -286,3 +278,3 @@ /** | ||
*/ | ||
static start(logger: ITelemetryLoggerExt, event: ITelemetryGenericEventExt, markers?: IPerformanceEventMarkers, recordHeapSize?: boolean, emitLogs?: boolean): PerformanceEvent; | ||
static start(logger: ITelemetryLoggerExt, event: ITelemetryGenericEventExt, markers?: IPerformanceEventMarkers, emitLogs?: boolean): PerformanceEvent; | ||
/** | ||
@@ -320,3 +312,3 @@ * Measure a synchronous task | ||
*/ | ||
static timedExecAsync<T>(logger: ITelemetryLoggerExt, event: ITelemetryGenericEventExt, callback: (event: PerformanceEvent) => Promise<T>, markers?: IPerformanceEventMarkers, recordHeapSize?: boolean, sampleThreshold?: number): Promise<T>; | ||
static timedExecAsync<T>(logger: ITelemetryLoggerExt, event: ITelemetryGenericEventExt, callback: (event: PerformanceEvent) => Promise<T>, markers?: IPerformanceEventMarkers, sampleThreshold?: number): Promise<T>; | ||
get duration(): number; | ||
@@ -326,4 +318,3 @@ private event?; | ||
private startMark?; | ||
private startMemoryCollection; | ||
protected constructor(logger: ITelemetryLoggerExt, event: ITelemetryGenericEventExt, markers?: IPerformanceEventMarkers, recordHeapSize?: boolean, emitLogs?: boolean); | ||
protected constructor(logger: ITelemetryLoggerExt, event: ITelemetryGenericEventExt, markers?: IPerformanceEventMarkers, emitLogs?: boolean); | ||
reportProgress(props?: ITelemetryPropertiesExt, eventNameSuffix?: string): void; | ||
@@ -330,0 +321,0 @@ private autoEnd; |
@@ -435,4 +435,4 @@ /*! | ||
*/ | ||
static start(logger, event, markers, recordHeapSize = false, emitLogs = true) { | ||
return new PerformanceEvent(logger, event, markers, recordHeapSize, emitLogs); | ||
static start(logger, event, markers, emitLogs = true) { | ||
return new PerformanceEvent(logger, event, markers, emitLogs); | ||
} | ||
@@ -455,4 +455,3 @@ /** | ||
static timedExec(logger, event, callback, markers, sampleThreshold = 1) { | ||
const perfEvent = PerformanceEvent.start(logger, event, markers, undefined, // recordHeapSize | ||
PerformanceEvent.shouldReport(event, sampleThreshold)); | ||
const perfEvent = PerformanceEvent.start(logger, event, markers, PerformanceEvent.shouldReport(event, sampleThreshold)); | ||
try { | ||
@@ -484,4 +483,4 @@ const ret = callback(perfEvent); | ||
*/ | ||
static async timedExecAsync(logger, event, callback, markers, recordHeapSize, sampleThreshold = 1) { | ||
const perfEvent = PerformanceEvent.start(logger, event, markers, recordHeapSize, PerformanceEvent.shouldReport(event, sampleThreshold)); | ||
static async timedExecAsync(logger, event, callback, markers, sampleThreshold = 1) { | ||
const perfEvent = PerformanceEvent.start(logger, event, markers, PerformanceEvent.shouldReport(event, sampleThreshold)); | ||
try { | ||
@@ -500,9 +499,7 @@ const ret = await callback(perfEvent); | ||
} | ||
constructor(logger, event, markers = { end: true, cancel: "generic" }, recordHeapSize = false, emitLogs = true) { | ||
constructor(logger, event, markers = { end: true, cancel: "generic" }, emitLogs = true) { | ||
this.logger = logger; | ||
this.markers = markers; | ||
this.recordHeapSize = recordHeapSize; | ||
this.emitLogs = emitLogs; | ||
this.startTime = performance.now(); | ||
this.startMemoryCollection = 0; | ||
this.event = { ...event }; | ||
@@ -564,15 +561,3 @@ if (this.markers.start) { | ||
event.duration = this.duration; | ||
if (this.startMemoryCollection) { | ||
const currentMemory = performance?.memory | ||
?.usedJSHeapSize; | ||
const differenceInKBytes = Math.floor((currentMemory - this.startMemoryCollection) / 1024); | ||
if (differenceInKBytes > 0) { | ||
event.usedJSHeapSize = differenceInKBytes; | ||
} | ||
} | ||
} | ||
else if (this.recordHeapSize) { | ||
this.startMemoryCollection = performance?.memory | ||
?.usedJSHeapSize; | ||
} | ||
this.logger.sendPerformanceEvent(event, error); | ||
@@ -662,3 +647,3 @@ } | ||
.filter((e) => e[1] !== undefined) | ||
// eslint-disable-next-line unicorn/no-array-reduce, unicorn/prefer-object-from-entries | ||
// eslint-disable-next-line unicorn/no-array-reduce | ||
.reduce((pv, cv) => { | ||
@@ -665,0 +650,0 @@ const [key, value] = cv; |
@@ -11,11 +11,3 @@ /*! | ||
export { | ||
// public APIs | ||
ITelemetryErrorEventExt, | ||
ITelemetryGenericEventExt, | ||
ITelemetryLoggerExt, | ||
ITelemetryPerformanceEventExt, | ||
ITelemetryPropertiesExt, | ||
TelemetryEventCategory, | ||
TelemetryEventPropertyTypeExt | ||
} from "./index.js"; | ||
export {} | ||
@@ -14,3 +14,3 @@ /*! | ||
* performance - Includes duration, and often has _start, _end, or _cancel suffixes for activity tracking | ||
* @public | ||
* @alpha | ||
*/ | ||
@@ -24,3 +24,3 @@ export type TelemetryEventCategory = "generic" | "error" | "performance"; | ||
* converted before sending to a base logger. | ||
* @public | ||
* @alpha | ||
*/ | ||
@@ -45,3 +45,3 @@ export type TelemetryEventPropertyTypeExt = string | number | boolean | undefined | (string | number | boolean)[] | { | ||
* JSON-serializable properties, which will be logged with telemetry. | ||
* @public | ||
* @alpha | ||
*/ | ||
@@ -66,3 +66,3 @@ export interface ITelemetryPropertiesExt { | ||
* @remarks Maps to category = "generic" | ||
* @public | ||
* @alpha | ||
*/ | ||
@@ -76,3 +76,3 @@ export interface ITelemetryGenericEventExt extends ITelemetryPropertiesExt { | ||
* @remarks Maps to category = "error" | ||
* @public | ||
* @alpha | ||
*/ | ||
@@ -85,3 +85,3 @@ export interface ITelemetryErrorEventExt extends ITelemetryPropertiesExt { | ||
* @remarks Maps to category = "performance" | ||
* @public | ||
* @alpha | ||
*/ | ||
@@ -97,3 +97,3 @@ export interface ITelemetryPerformanceEventExt extends ITelemetryGenericEventExt { | ||
* and `ITelemetryBaseLogger` should be used when loggers are passed between layers. | ||
* @public | ||
* @alpha | ||
*/ | ||
@@ -100,0 +100,0 @@ export interface ITelemetryLoggerExt extends ITelemetryBaseLogger { |
@@ -8,5 +8,5 @@ // This file is read by tools that parse documentation comments conforming to the TSDoc standard. | ||
"packageName": "@microsoft/api-extractor", | ||
"packageVersion": "7.42.3" | ||
"packageVersion": "7.43.1" | ||
} | ||
] | ||
} |
{ | ||
"name": "@fluidframework/telemetry-utils", | ||
"version": "2.0.0-rc.3.0.3", | ||
"version": "2.0.0-rc.4.0.0", | ||
"description": "Collection of telemetry relates utilities for Fluid", | ||
@@ -70,5 +70,5 @@ "homepage": "https://fluidframework.com", | ||
"dependencies": { | ||
"@fluid-internal/client-utils": ">=2.0.0-rc.3.0.3 <2.0.0-rc.3.1.0", | ||
"@fluidframework/core-interfaces": ">=2.0.0-rc.3.0.3 <2.0.0-rc.3.1.0", | ||
"@fluidframework/core-utils": ">=2.0.0-rc.3.0.3 <2.0.0-rc.3.1.0", | ||
"@fluid-internal/client-utils": ">=2.0.0-rc.4.0.0 <2.0.0-rc.4.1.0", | ||
"@fluidframework/core-interfaces": ">=2.0.0-rc.4.0.0 <2.0.0-rc.4.1.0", | ||
"@fluidframework/core-utils": ">=2.0.0-rc.4.0.0 <2.0.0-rc.4.1.0", | ||
"@fluidframework/protocol-definitions": "^3.2.0", | ||
@@ -81,9 +81,9 @@ "debug": "^4.3.4", | ||
"@biomejs/biome": "^1.6.2", | ||
"@fluid-internal/mocha-test-setup": ">=2.0.0-rc.3.0.3 <2.0.0-rc.3.1.0", | ||
"@fluid-tools/build-cli": "^0.37.0", | ||
"@fluid-internal/mocha-test-setup": ">=2.0.0-rc.4.0.0 <2.0.0-rc.4.1.0", | ||
"@fluid-tools/build-cli": "^0.38.0", | ||
"@fluidframework/build-common": "^2.0.3", | ||
"@fluidframework/build-tools": "^0.37.0", | ||
"@fluidframework/build-tools": "^0.38.0", | ||
"@fluidframework/eslint-config-fluid": "^5.1.0", | ||
"@fluidframework/telemetry-utils-previous": "npm:@fluidframework/telemetry-utils@2.0.0-internal.8.0.0", | ||
"@microsoft/api-extractor": "^7.42.3", | ||
"@fluidframework/telemetry-utils-previous": "npm:@fluidframework/telemetry-utils@2.0.0-rc.3.0.0", | ||
"@microsoft/api-extractor": "^7.43.1", | ||
"@types/debug": "^4.1.5", | ||
@@ -109,17 +109,4 @@ "@types/mocha": "^9.1.1", | ||
"broken": { | ||
"RemovedInterfaceDeclaration_IConfigProviderBase": { | ||
"forwardCompat": false, | ||
"TypeAliasDeclaration_TelemetryEventPropertyTypes": { | ||
"backCompat": false | ||
}, | ||
"RemovedTypeAliasDeclaration_ConfigTypes": { | ||
"backCompat": false, | ||
"forwardCompat": false | ||
}, | ||
"RemovedFunctionDeclaration_logIfFalse": { | ||
"backCompat": false, | ||
"forwardCompat": false | ||
}, | ||
"RemovedClassDeclaration_TelemetryNullLogger": { | ||
"backCompat": false, | ||
"forwardCompat": false | ||
} | ||
@@ -159,5 +146,5 @@ } | ||
"tsc": "fluid-tsc commonjs --project ./tsconfig.cjs.json && copyfiles -f ../../../common/build/build-common/src/cjs/package.json ./dist", | ||
"typetests:gen": "fluid-type-test-generator", | ||
"typetests:gen": "flub generate typetests --dir . -v --publicFallback", | ||
"typetests:prepare": "flub typetests --dir . --reset --previous --normalize" | ||
} | ||
} |
@@ -6,7 +6,6 @@ /*! | ||
import { IsomorphicPerformance, performance } from "@fluid-internal/client-utils"; | ||
import { performance } from "@fluid-internal/client-utils"; | ||
import { | ||
ITelemetryBaseEvent, | ||
ITelemetryBaseLogger, | ||
ITelemetryBaseProperties, | ||
LogLevel, | ||
@@ -39,10 +38,2 @@ Tagged, | ||
export interface Memory { | ||
usedJSHeapSize: number; | ||
} | ||
export interface PerformanceWithMemory extends IsomorphicPerformance { | ||
readonly memory: Memory; | ||
} | ||
/** | ||
@@ -69,3 +60,3 @@ * Broad classifications to be applied to individual properties as they're prepared to be logged to telemetry. | ||
*/ | ||
export type TelemetryEventPropertyTypes = ITelemetryBaseProperties[string]; | ||
export type TelemetryEventPropertyTypes = ITelemetryPropertiesExt[string]; | ||
@@ -652,6 +643,5 @@ /** | ||
markers?: IPerformanceEventMarkers, | ||
recordHeapSize: boolean = false, | ||
emitLogs: boolean = true, | ||
): PerformanceEvent { | ||
return new PerformanceEvent(logger, event, markers, recordHeapSize, emitLogs); | ||
return new PerformanceEvent(logger, event, markers, emitLogs); | ||
} | ||
@@ -685,3 +675,2 @@ | ||
markers, | ||
undefined, // recordHeapSize | ||
PerformanceEvent.shouldReport(event, sampleThreshold), | ||
@@ -720,3 +709,2 @@ ); | ||
markers?: IPerformanceEventMarkers, | ||
recordHeapSize?: boolean, | ||
sampleThreshold: number = 1, | ||
@@ -728,3 +716,2 @@ ): Promise<T> { | ||
markers, | ||
recordHeapSize, | ||
PerformanceEvent.shouldReport(event, sampleThreshold), | ||
@@ -749,3 +736,2 @@ ); | ||
private startMark?: string; | ||
private startMemoryCollection: number | undefined = 0; | ||
@@ -756,3 +742,2 @@ protected constructor( | ||
private readonly markers: IPerformanceEventMarkers = { end: true, cancel: "generic" }, | ||
private readonly recordHeapSize: boolean = false, | ||
private readonly emitLogs: boolean = true, | ||
@@ -832,15 +817,2 @@ ) { | ||
event.duration = this.duration; | ||
if (this.startMemoryCollection) { | ||
const currentMemory = (performance as PerformanceWithMemory)?.memory | ||
?.usedJSHeapSize; | ||
const differenceInKBytes = Math.floor( | ||
(currentMemory - this.startMemoryCollection) / 1024, | ||
); | ||
if (differenceInKBytes > 0) { | ||
event.usedJSHeapSize = differenceInKBytes; | ||
} | ||
} | ||
} else if (this.recordHeapSize) { | ||
this.startMemoryCollection = (performance as PerformanceWithMemory)?.memory | ||
?.usedJSHeapSize; | ||
} | ||
@@ -971,3 +943,3 @@ | ||
.filter((e) => e[1] !== undefined) | ||
// eslint-disable-next-line unicorn/no-array-reduce, unicorn/prefer-object-from-entries | ||
// eslint-disable-next-line unicorn/no-array-reduce | ||
.reduce((pv, cv) => { | ||
@@ -974,0 +946,0 @@ const [key, value] = cv; |
@@ -16,3 +16,3 @@ /*! | ||
* performance - Includes duration, and often has _start, _end, or _cancel suffixes for activity tracking | ||
* @public | ||
* @alpha | ||
*/ | ||
@@ -27,3 +27,3 @@ export type TelemetryEventCategory = "generic" | "error" | "performance"; | ||
* converted before sending to a base logger. | ||
* @public | ||
* @alpha | ||
*/ | ||
@@ -56,3 +56,3 @@ export type TelemetryEventPropertyTypeExt = | ||
* JSON-serializable properties, which will be logged with telemetry. | ||
* @public | ||
* @alpha | ||
*/ | ||
@@ -79,3 +79,3 @@ export interface ITelemetryPropertiesExt { | ||
* @remarks Maps to category = "generic" | ||
* @public | ||
* @alpha | ||
*/ | ||
@@ -90,3 +90,3 @@ export interface ITelemetryGenericEventExt extends ITelemetryPropertiesExt { | ||
* @remarks Maps to category = "error" | ||
* @public | ||
* @alpha | ||
*/ | ||
@@ -100,3 +100,3 @@ export interface ITelemetryErrorEventExt extends ITelemetryPropertiesExt { | ||
* @remarks Maps to category = "performance" | ||
* @public | ||
* @alpha | ||
*/ | ||
@@ -113,3 +113,3 @@ export interface ITelemetryPerformanceEventExt extends ITelemetryGenericEventExt { | ||
* and `ITelemetryBaseLogger` should be used when loggers are passed between layers. | ||
* @public | ||
* @alpha | ||
*/ | ||
@@ -116,0 +116,0 @@ export interface ITelemetryLoggerExt extends ITelemetryBaseLogger { |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
763858
9569
+ Added@fluid-internal/client-utils@2.0.0-rc.4.0.10(transitive)
+ Added@fluidframework/core-interfaces@2.0.0-rc.4.0.10(transitive)
+ Added@fluidframework/core-utils@2.0.0-rc.4.0.10(transitive)
- Removed@fluid-internal/client-utils@2.0.0-rc.3.0.11(transitive)
- Removed@fluidframework/core-interfaces@2.0.0-rc.3.0.11(transitive)
- Removed@fluidframework/core-utils@2.0.0-rc.3.0.11(transitive)
Updated@fluid-internal/client-utils@>=2.0.0-rc.4.0.0 <2.0.0-rc.4.1.0
Updated@fluidframework/core-interfaces@>=2.0.0-rc.4.0.0 <2.0.0-rc.4.1.0
Updated@fluidframework/core-utils@>=2.0.0-rc.4.0.0 <2.0.0-rc.4.1.0