Skip to main content

Class: EventUtils

Defined in: core/src/TelemetryUtils.ts:103

Provides a common set of static functions for recording and working with telemetry Event instances.

The init function must be called before any other function can be called.

The record function is used to send an event to a configured telemetry_services service for permanent storage.

The on function allows code within the same application or service to listen for outgoing events that have been sent via the record function.

The utility uses an application specific JWT access token for sending telemetry events. The purpose of using an application specific JWT token versus user token is to identify a potentially compromised application server. This also allows the server to send telemetry events on behalf of the user that the user may not otherwise have permission to send.

Note: This class is considered a runtime singleton and intentionally uses static state. Do not initialize this class more than once in your application.

Constructors​

Constructor​

new EventUtils(): EventUtils

Returns​

EventUtils

Methods​

init()​

static init(config, logger, jwtToken): Promise<void>

Defined in: core/src/TelemetryUtils.ts:118

Initializes EventUtils with the provided defaults.

Parameters​

config​

any

The application configuration to use.

logger​

any

The logging utility to use.

jwtToken​

string

The application's JWT token to send telemetry events on behalf of.

Returns​

Promise<void>


off()​

static off(type, callback): void

Defined in: core/src/TelemetryUtils.ts:219

Unregisters a callback previously registered via on() for the given event type. Since EventUtils is a long-lived process-wide singleton, any listener registered dynamically (rather than once at startup) must eventually be removed via this method or its closure - and anything it captures - is retained for the life of the process.

Parameters​

type​

string

The type of event the callback was registered for.

callback​

Function

The exact function reference passed to on().

Returns​

void


on()​

static on(type, callback): void

Defined in: core/src/TelemetryUtils.ts:191

Registers a callback function to receive notifications of recorded events of the given type. Note that only events originating from the same application or service will be notified.

Parameters​

type​

string

The type of event to be notified of.

callback​

Function

The function to call when an event is recorded.

Returns​

void


record()​

static record(evt, type?): Promise<void>

Defined in: core/src/TelemetryUtils.ts:137

Sends the given event to the telemetry service for permanent recording.

Parameters​

evt​

any

The event to send and record.

type?​

string

The type of event to record. Overrides any type value set in evt.

Returns​

Promise<void>