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 |