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 |