Socket
Socket
Sign inDemoInstall

@fluidframework/telemetry-utils

Package Overview
Dependencies
16
Maintainers
2
Versions
515
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 2.0.0-dev-rc.3.0.0.254866 to 2.0.0-dev-rc.4.0.0.261659

dist/legacy.d.ts

24

api-report/telemetry-utils.api.md

@@ -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 {

@@ -274,3 +274,3 @@ // (undocumented)

// @internal
// @alpha
export class MockLogger implements ITelemetryBaseLogger {

@@ -327,3 +327,3 @@ constructor(minLogLevel?: LogLevel | undefined);

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)

@@ -338,5 +338,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>;
}

@@ -393,6 +393,6 @@

// @public
// @alpha
export type TelemetryEventCategory = "generic" | "error" | "performance";
// @public
// @alpha
export type TelemetryEventPropertyTypeExt = string | number | boolean | undefined | (string | number | boolean)[] | {

@@ -404,3 +404,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];

@@ -407,0 +407,0 @@ // @internal

# @fluidframework/telemetry-utils
## 2.0.0-rc.3.0.0
### Major Changes
- Packages now use package.json "exports" and require modern module resolution [97d68aa06b](https://github.com/microsoft/FluidFramework/commit/97d68aa06bd5c022ecb026655814aea222a062ae)
Fluid Framework packages have been updated to use the [package.json "exports"
field](https://nodejs.org/docs/latest-v18.x/api/packages.html#exports) to define explicit entry points for both
TypeScript types and implementation code.
This means that using Fluid Framework packages require the following TypeScript settings in tsconfig.json:
- `"moduleResolution": "Node16"` with `"module": "Node16"`
- `"moduleResolution": "Bundler"` with `"module": "ESNext"`
We recommend using Node16/Node16 unless absolutely necessary. That will produce transpiled JavaScript that is suitable
for use with modern versions of Node.js _and_ Bundlers.
[See the TypeScript documentation](https://www.typescriptlang.org/tsconfig#moduleResolution) for more information
regarding the module and moduleResolution options.
**Node10 moduleResolution is not supported; it does not support Fluid Framework's API structuring pattern that is used
to distinguish stable APIs from those that are in development.**
## 2.0.0-rc.2.0.0

@@ -4,0 +27,0 @@

@@ -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,3 +11,3 @@ /*!

*
* @internal
* @alpha
*/

@@ -14,0 +14,0 @@ export declare class MockLogger implements ITelemetryBaseLogger {

@@ -14,3 +14,3 @@ "use strict";

*
* @internal
* @alpha
*/

@@ -51,3 +51,3 @@ class MockLogger {

if (!this.matchEvents(expectedEvents, inlineDetailsProp)) {
throw new Error(`${message}
throw new Error(`${message ?? "Logs don't match"}
expected:

@@ -79,3 +79,3 @@ ${JSON.stringify(expectedEvents)}

if (!this.matchAnyEvent(expectedEvents, inlineDetailsProp)) {
throw new Error(`${message}
throw new Error(`${message ?? "Logs don't match"}
expected:

@@ -106,3 +106,3 @@ ${JSON.stringify(expectedEvents)}

if (!this.matchEventStrict(expectedEvents, inlineDetailsProp)) {
throw new Error(`${message}
throw new Error(`${message ?? "Logs don't match"}
expected:

@@ -121,3 +121,3 @@ ${JSON.stringify(expectedEvents)}

if (this.matchAnyEvent(disallowedEvents, inlineDetailsProp)) {
throw new Error(`${message}
throw new Error(`${message ?? "Logs don't match"}
disallowed events:

@@ -124,0 +124,0 @@ ${JSON.stringify(disallowedEvents)}

@@ -10,11 +10,4 @@ /*!

*/
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 {

@@ -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,3 +11,3 @@ /*!

*
* @internal
* @alpha
*/

@@ -14,0 +14,0 @@ export declare class MockLogger implements ITelemetryBaseLogger {

@@ -11,3 +11,3 @@ /*!

*
* @internal
* @alpha
*/

@@ -48,3 +48,3 @@ export class MockLogger {

if (!this.matchEvents(expectedEvents, inlineDetailsProp)) {
throw new Error(`${message}
throw new Error(`${message ?? "Logs don't match"}
expected:

@@ -76,3 +76,3 @@ ${JSON.stringify(expectedEvents)}

if (!this.matchAnyEvent(expectedEvents, inlineDetailsProp)) {
throw new Error(`${message}
throw new Error(`${message ?? "Logs don't match"}
expected:

@@ -103,3 +103,3 @@ ${JSON.stringify(expectedEvents)}

if (!this.matchEventStrict(expectedEvents, inlineDetailsProp)) {
throw new Error(`${message}
throw new Error(`${message ?? "Logs don't match"}
expected:

@@ -118,3 +118,3 @@ ${JSON.stringify(expectedEvents)}

if (this.matchAnyEvent(disallowedEvents, inlineDetailsProp)) {
throw new Error(`${message}
throw new Error(`${message ?? "Logs don't match"}
disallowed events:

@@ -121,0 +121,0 @@ ${JSON.stringify(disallowedEvents)}

@@ -10,11 +10,4 @@ /*!

*/
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 {

{
"name": "@fluidframework/telemetry-utils",
"version": "2.0.0-dev-rc.3.0.0.254866",
"version": "2.0.0-dev-rc.4.0.0.261659",
"description": "Collection of telemetry relates utilities for Fluid",

@@ -26,9 +26,9 @@ "homepage": "https://fluidframework.com",

},
"./alpha": {
"./legacy": {
"import": {
"types": "./lib/alpha.d.ts",
"types": "./lib/legacy.d.ts",
"default": "./lib/index.js"
},
"require": {
"types": "./dist/alpha.d.ts",
"types": "./dist/legacy.d.ts",
"default": "./dist/index.js"

@@ -48,4 +48,4 @@ }

},
"main": "dist/index.js",
"types": "./dist/public.d.ts",
"main": "lib/index.js",
"types": "lib/public.d.ts",
"c8": {

@@ -72,5 +72,5 @@ "all": true,

"dependencies": {
"@fluid-internal/client-utils": "2.0.0-dev-rc.3.0.0.254866",
"@fluidframework/core-interfaces": "2.0.0-dev-rc.3.0.0.254866",
"@fluidframework/core-utils": "2.0.0-dev-rc.3.0.0.254866",
"@fluid-internal/client-utils": "2.0.0-dev-rc.4.0.0.261659",
"@fluidframework/core-interfaces": "2.0.0-dev-rc.4.0.0.261659",
"@fluidframework/core-utils": "2.0.0-dev-rc.4.0.0.261659",
"@fluidframework/protocol-definitions": "^3.2.0",

@@ -83,8 +83,8 @@ "debug": "^4.3.4",

"@biomejs/biome": "^1.6.2",
"@fluid-internal/mocha-test-setup": "2.0.0-dev-rc.3.0.0.254866",
"@fluid-tools/build-cli": "^0.35.0",
"@fluid-internal/mocha-test-setup": "2.0.0-dev-rc.4.0.0.261659",
"@fluid-tools/build-cli": "0.38.0-259537",
"@fluidframework/build-common": "^2.0.3",
"@fluidframework/build-tools": "^0.35.0",
"@fluidframework/build-tools": "0.38.0-259537",
"@fluidframework/eslint-config-fluid": "^5.1.0",
"@fluidframework/telemetry-utils-previous": "npm:@fluidframework/telemetry-utils@2.0.0-internal.8.0.0",
"@fluidframework/telemetry-utils-previous": "npm:@fluidframework/telemetry-utils@2.0.0-rc.3.0.0",
"@microsoft/api-extractor": "^7.42.3",

@@ -111,17 +111,4 @@ "@types/debug": "^4.1.5",

"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
}

@@ -132,4 +119,4 @@ }

"api": "fluid-build . --task api",
"api-extractor:commonjs": "flub generate entrypoints --outDir ./dist",
"api-extractor:esnext": "flub generate entrypoints --outDir ./lib",
"api-extractor:commonjs": "flub generate entrypoints --outFileAlpha legacy --outDir ./dist",
"api-extractor:esnext": "flub generate entrypoints --outFileAlpha legacy --outDir ./lib --node10TypeCompat",
"build": "fluid-build . --task build",

@@ -144,7 +131,7 @@ "build:commonjs": "fluid-build . --task commonjs",

"bump-version": "npm version minor --no-push --no-git-tag-version && npm run build:genver",
"check:are-the-types-wrong": "attw --pack . --entrypoints .",
"check:are-the-types-wrong": "attw --pack .",
"check:prettier": "prettier --check . --cache --ignore-path ../../../.prettierignore",
"check:release-tags": "api-extractor run --local --config ./api-extractor-lint.json",
"ci:build:docs": "api-extractor run",
"clean": "rimraf --glob dist lib \"**/*.tsbuildinfo\" \"**/*.build.log\" _api-extractor-temp nyc",
"clean": "rimraf --glob dist lib \"*.d.ts\" \"**/*.tsbuildinfo\" \"**/*.build.log\" _api-extractor-temp nyc",
"eslint": "eslint --format stylish src",

@@ -163,5 +150,5 @@ "eslint:fix": "eslint --format stylish src --fix --fix-type problem,suggestion,layout",

"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;

@@ -20,3 +20,3 @@ /*!

*
* @internal
* @alpha
*/

@@ -71,3 +71,3 @@ export class MockLogger implements ITelemetryBaseLogger {

if (!this.matchEvents(expectedEvents, inlineDetailsProp)) {
throw new Error(`${message}
throw new Error(`${message ?? "Logs don't match"}
expected:

@@ -111,3 +111,3 @@ ${JSON.stringify(expectedEvents)}

if (!this.matchAnyEvent(expectedEvents, inlineDetailsProp)) {
throw new Error(`${message}
throw new Error(`${message ?? "Logs don't match"}
expected:

@@ -149,3 +149,3 @@ ${JSON.stringify(expectedEvents)}

if (!this.matchEventStrict(expectedEvents, inlineDetailsProp)) {
throw new Error(`${message}
throw new Error(`${message ?? "Logs don't match"}
expected:

@@ -169,3 +169,3 @@ ${JSON.stringify(expectedEvents)}

if (this.matchAnyEvent(disallowedEvents, inlineDetailsProp)) {
throw new Error(`${message}
throw new Error(`${message ?? "Logs don't match"}
disallowed events:

@@ -172,0 +172,0 @@ ${JSON.stringify(disallowedEvents)}

@@ -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

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc