Skip to main content

IAnalytics

Methods to collect various business analytics & performance related events and report the same

Extends

Methods

_dispose()?

optional _dispose(): void;

Returns

void

Inherited from

IScriptingObject._dispose


_toJSON()

_toJSON(): RemotingScriptingObject;

Returns

RemotingScriptingObject

Inherited from

IScriptingObject._toJSON


deleteTimingEventSamplingRatio()

deleteTimingEventSamplingRatio(names: string[]): void;

Remove sampling configuration for timing events Falls back to default sampling ratio (0.25)

Parameters

names

string[]

array of timing event names

Returns

void

Example

analytics.deleteTimingEventSamplingRatio(['api-call', 'user-interaction']);

endTiming()

endTiming(start: string | PerfMark, options: TimingOptions): Promise<void>;

end timing measure

Parameters

start

string | PerfMark

name used to start timing measure or return value of the startTiming method

options

TimingOptions

additional details related to the measurement

Returns

Promise<void>

a promise that resolves when the timing measurement is ended

Example

const longTaskMeasurement = await analytics.startTiming('LongTask', { appId: 'myApp', appUrl: 'https://myapp.com' });
// do some work
await analytics.endTiming(longTaskMeasurement, { appId: 'myApp', appUrl: 'https://myapp.com' });
const longTaskMeasurement = await analytics.startTiming('LongTask', { appId: 'myApp', appUrl: 'https://myapp.com' });
// do some work
await analytics.endTiming('LongTask', { appId: 'loanApp', appUrl: 'https://loanApp.com' });

getAllTimingEventSamplingRatios()

getAllTimingEventSamplingRatios(): Record<string, number>;

Get all configured timing event sampling ratios

Returns

Record<string, number>

object with timing event names and their sampling ratios

Example

const ratios = analytics.getAllTimingEventSamplingRatios();
console.log(ratios); // { 'api-call': 0.1, 'user-interaction': 0.5 }

getTimingEventSamplingRatio()

getTimingEventSamplingRatio(names: string[]): Record<string, number | undefined>;

Get sampling ratios for timing events

Parameters

names

string[]

array of timing event names

Returns

Record<string, number | undefined>

object with ratios for each event (undefined if using default)

Example

const ratios = analytics.getTimingEventSamplingRatio(['api-call', 'user-interaction']);
console.log(ratios); // { 'api-call': 0.1, 'user-interaction': 0.5 }

sendBAEvent()

sendBAEvent(event: BAEvent): Promise<void>;

send business analytics event

Parameters

event

BAEvent

event to be sent

Returns

Promise<void>


setTimingEventSamplingRatio()

setTimingEventSamplingRatio(ratios: Record<string, number>): void;

Set sampling ratios for timing events

Parameters

ratios

Record<string, number>

object with timing event names and their sampling ratios (0 to 1)

Returns

void

Example

analytics.setTimingEventSamplingRatio({
'api-call': 0.1,
'user-interaction': 0.5,
'page-load': 0.8
});

startTiming()

startTiming(name: string, options: TimingOptions): Promise<PerfMark>;

start timing measure

Parameters

name

string

unique name for the timing measurement. If a measurement with the same name is already running, it will be replaced

options

TimingOptions

additional details related to the measurement

Returns

Promise<PerfMark>

a promise that resolves to a performance mark object

Properties

id

readonly id: string;

Inherited from

IScriptingObject.id


objectType

readonly objectType: string;

Inherited from

IScriptingObject.objectType