Skip to main content
Version: v1

TelemetryLogger Class

TelemetryLogger class contains various helper telemetry methods, encoding in one place schemas for various types of Fluid telemetry events. Creates sub-logger that appends properties to all events

Signature

export declare abstract class TelemetryLogger implements ITelemetryLogger

Implements: ITelemetryLogger

Constructors

Constructor Description
(constructor)(namespace, properties) Constructs a new instance of the TelemetryLogger class

Static Properties

Property Type Description
eventNamespaceSeparator

Static Methods

Method Return Type Description
formatTick(tick) number
numberFromString(str) string | number | undefined Attempts to parse number from string. If fails,returns original string. Used to make telemetry data typed (and support math operations, like comparison), in places where we do expect numbers (like contentsize/duration property in http header)
prepareErrorObject(event, error, fetchStack) void Take an unknown error object and add the appropriate info from it to the event. Message and stack will be copied over from the error object, along with other telemetry properties if it's an ILoggingError.
sanitizePkgName(name) string

Properties

Property Modifiers Type Description
namespace optional string | undefined
properties optional ITelemetryLoggerPropertyBags | undefined

Methods

Method Return Type Description
prepareEvent(event) ITelemetryBaseEvent
send(event) void Send an event with the logger
sendErrorEvent(event, error) void Send an error telemetry event with the logger
sendPerformanceEvent(event, error) void Send a performance telemetry event with the logger
sendTelemetryEvent(event, error) void Send a telemetry event with the logger
sendTelemetryEventCore(event, error) void Send a telemetry event with the logger

Constructor Details

(constructor)

Constructs a new instance of the TelemetryLogger class

Signature

constructor(namespace?: string | undefined, properties?: ITelemetryLoggerPropertyBags | undefined);

Parameters

Parameter Modifiers Type Description
namespace optional string | undefined
properties optional ITelemetryLoggerPropertyBags | undefined

Property Details

eventNamespaceSeparator

Signature

static readonly eventNamespaceSeparator = ":";

namespace

Signature

protected readonly namespace?: string | undefined;

Type: string | undefined

properties

Signature

protected readonly properties?: ITelemetryLoggerPropertyBags | undefined;

Type: ITelemetryLoggerPropertyBags | undefined

Method Details

formatTick

Signature

static formatTick(tick: number): number;

Parameters

Parameter Type Description
tick number

Returns

Return type: number

numberFromString

Attempts to parse number from string. If fails,returns original string. Used to make telemetry data typed (and support math operations, like comparison), in places where we do expect numbers (like contentsize/duration property in http header)

Signature

static numberFromString(str: string | null | undefined): string | number | undefined;

Parameters

Parameter Type Description
str string | null | undefined

Returns

Return type: string | number | undefined

prepareErrorObject

Take an unknown error object and add the appropriate info from it to the event. Message and stack will be copied over from the error object, along with other telemetry properties if it's an ILoggingError.

Signature

static prepareErrorObject(event: ITelemetryBaseEvent, error: any, fetchStack: boolean): void;

Parameters

Parameter Type Description
event ITelemetryBaseEvent Event being logged
error any Error to extract info from
fetchStack boolean Whether to fetch the current callstack if error.stack is undefined

prepareEvent

Signature

protected prepareEvent(event: ITelemetryBaseEvent): ITelemetryBaseEvent;

Parameters

Parameter Type Description
event ITelemetryBaseEvent

Returns

Return type: ITelemetryBaseEvent

sanitizePkgName

Signature

static sanitizePkgName(name: string): string;

Parameters

Parameter Type Description
name string

Returns

Return type: string

send

Send an event with the logger

Signature

abstract send(event: ITelemetryBaseEvent): void;

Parameters

Parameter Type Description
event ITelemetryBaseEvent the event to send

sendErrorEvent

Send an error telemetry event with the logger

Signature

sendErrorEvent(event: ITelemetryErrorEvent, error?: any): void;

Parameters

Parameter Modifiers Type Description
event ITelemetryErrorEvent the event to send
error optional any optional error object to log

sendPerformanceEvent

Send a performance telemetry event with the logger

Signature

sendPerformanceEvent(event: ITelemetryPerformanceEvent, error?: any): void;

Parameters

Parameter Modifiers Type Description
event ITelemetryPerformanceEvent Event to send
error optional any optional error object to log

sendTelemetryEvent

Send a telemetry event with the logger

Signature

sendTelemetryEvent(event: ITelemetryGenericEvent, error?: any): void;

Parameters

Parameter Modifiers Type Description
event ITelemetryGenericEvent the event to send
error optional any optional error object to log

sendTelemetryEventCore

Send a telemetry event with the logger

Signature

protected sendTelemetryEventCore(event: ITelemetryGenericEvent & {
category: TelemetryEventCategory;
}, error?: any): void;

Parameters

Parameter Modifiers Type Description
event ITelemetryGenericEvent & { category: TelemetryEventCategory; } the event to send
error optional any optional error object to log