@esri/telemetry-amazon 6.0.0-beta.4 → 6.0.0-beta.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/esm/index.js +2 -2
  2. package/dist/esm/index.js.map +1 -1
  3. package/dist/esm/index.test.js +17 -0
  4. package/dist/esm/index.test.js.map +1 -1
  5. package/dist/esm/plugins/esri.js +149 -54
  6. package/dist/esm/plugins/esri.js.map +1 -1
  7. package/dist/esm/plugins/esri.test.js +346 -61
  8. package/dist/esm/plugins/esri.test.js.map +1 -1
  9. package/dist/esm/plugins/shared.js +1 -0
  10. package/dist/esm/plugins/shared.js.map +1 -1
  11. package/dist/esm/plugins/utils/browser.js +97 -0
  12. package/dist/esm/plugins/utils/browser.js.map +1 -0
  13. package/dist/esm/plugins/utils/os.js +42 -0
  14. package/dist/esm/plugins/utils/os.js.map +1 -0
  15. package/dist/node/index.js +2 -2
  16. package/dist/node/index.js.map +1 -1
  17. package/dist/node/index.test.js +17 -0
  18. package/dist/node/index.test.js.map +1 -1
  19. package/dist/node/plugins/esri.js +148 -53
  20. package/dist/node/plugins/esri.js.map +1 -1
  21. package/dist/node/plugins/esri.test.js +347 -61
  22. package/dist/node/plugins/esri.test.js.map +1 -1
  23. package/dist/node/plugins/shared.js +3 -1
  24. package/dist/node/plugins/shared.js.map +1 -1
  25. package/dist/node/plugins/utils/browser.js +101 -0
  26. package/dist/node/plugins/utils/browser.js.map +1 -0
  27. package/dist/node/plugins/utils/os.js +46 -0
  28. package/dist/node/plugins/utils/os.js.map +1 -0
  29. package/dist/types/index.d.ts +2 -2
  30. package/dist/types/plugins/esri.d.ts +2 -1
  31. package/dist/types/plugins/shared.d.ts +1 -0
  32. package/dist/types/plugins/utils/browser.d.ts +12 -0
  33. package/dist/types/plugins/utils/os.d.ts +5 -0
  34. package/dist/types/types.d.ts +7 -2
  35. package/dist/umd/telemetry-amazon.js +287 -55
  36. package/dist/umd/telemetry-amazon.js.map +1 -1
  37. package/dist/umd/telemetry-amazon.min.js +287 -55
  38. package/dist/umd/telemetry-amazon.min.js.map +1 -1
  39. package/package.json +1 -1
package/dist/esm/index.js CHANGED
@@ -75,14 +75,14 @@ export class Amazon {
75
75
  const result = this.analytics.track('pageView', telemetryPayload);
76
76
  return typeof result === 'boolean' ? result : true;
77
77
  }
78
- logEvent(event = {}) {
78
+ logEvent(event = {}, trackOptions) {
79
79
  const telemetryPayload = createEventLog({
80
80
  event,
81
81
  dimensionLookup: this.dimensions,
82
82
  metricLookup: this.metrics,
83
83
  });
84
84
  const { name } = telemetryPayload;
85
- const result = this.analytics.track(name, telemetryPayload);
85
+ const result = this.analytics.track(name, telemetryPayload, trackOptions);
86
86
  return typeof result === 'boolean' ? result : true;
87
87
  }
88
88
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -102,5 +102,22 @@ describe('Amazon', () => {
102
102
  });
103
103
  expect(AnalyticsMock).not.toHaveBeenCalled();
104
104
  });
105
+ test('logEvent forwards immediate track option to analytics.track', () => {
106
+ const track = jest.fn(() => true);
107
+ createEsriPluginMock.mockReturnValue({ track });
108
+ const telemetry = new Amazon({
109
+ userPoolID: 'pool-id',
110
+ app: {
111
+ name: 'test',
112
+ id: '1234',
113
+ },
114
+ mode: 'esri',
115
+ });
116
+ const result = telemetry.logEvent({ eventType: 'cta_click', category: 'nav' }, { immediate: true });
117
+ const trackMock = track;
118
+ expect(result).toBe(true);
119
+ expect(trackMock).toHaveBeenCalledTimes(1);
120
+ expect(trackMock.mock.calls[0][2]).toEqual({ immediate: true });
121
+ });
105
122
  });
106
123
  //# sourceMappingURL=index.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/index.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/index.test.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,13 @@
1
1
  import { AwsClient } from 'aws4fetch';
2
2
  import { getCredentials } from '../auth';
3
- import { debugLog, warnLog, getEndpointId } from './shared';
3
+ import { debugLog, warnLog, getEndpointId, getBrowserClientInfo, } from './shared';
4
4
  const ESRI_SIGNING_SERVICE = 'execute-api';
5
5
  const ESRI_SIGNING_REGION = 'us-east-1';
6
6
  const ESRI_ENDPOINT_URL = (appId) => `https://tedev.arcgis.com/v1/apps/${appId}/events`;
7
7
  const SESSION_START_EVENT = '_session.start';
8
8
  const SESSION_STOP_EVENT = '_session.stop';
9
9
  const DEFAULT_IDLE_TIMEOUT_MS = 30 * 60 * 1000;
10
+ const DEFAULT_DEBOUNCE_MS = 5000;
10
11
  /** Converts a string to a number, guarded against invalid values */
11
12
  function getNumber(value, fallback = 0) {
12
13
  const numeric = Number(value);
@@ -48,58 +49,77 @@ function splitEventData(payload) {
48
49
  metrics,
49
50
  };
50
51
  }
51
- function buildBatchEventPayload({ eventName, payload, trackerName, appName, appVersion, session, }) {
52
- var _a, _b, _c, _d;
53
- const endpointId = getEndpointId();
54
- const timestamp = new Date().toISOString();
55
- const sessionContext = session ||
52
+ function buildBatchEventPayload({ queuedEvents, trackerName, appName, appVersion, }) {
53
+ var _a, _b, _c, _d, _e, _f;
54
+ const endpointEvent = queuedEvents[queuedEvents.length - 1] ||
56
55
  {
57
- id: `${Date.now()}-${Math.random().toString(16).slice(2)}`,
58
- startTimestamp: timestamp,
59
- startUnixMs: Date.now(),
56
+ payload: {},
57
+ browserInfo: {},
60
58
  };
61
- const isStopEvent = eventName === SESSION_STOP_EVENT;
62
- const { attributes, metrics } = splitEventData(payload);
59
+ const payload = endpointEvent.payload || {};
60
+ const browserInfo = endpointEvent.browserInfo || {};
61
+ const endpointId = getEndpointId();
62
+ const location = {};
63
+ if (payload === null || payload === void 0 ? void 0 : payload.city) {
64
+ location.City = payload.city;
65
+ }
66
+ if (payload === null || payload === void 0 ? void 0 : payload.country) {
67
+ location.Country = payload.country;
68
+ }
69
+ if ((payload === null || payload === void 0 ? void 0 : payload.lat) !== undefined && (payload === null || payload === void 0 ? void 0 : payload.lat) !== null) {
70
+ location.Lat = getNumber(payload.lat);
71
+ }
72
+ if ((payload === null || payload === void 0 ? void 0 : payload.lon) !== undefined && (payload === null || payload === void 0 ? void 0 : payload.lon) !== null) {
73
+ location.Lon = getNumber(payload.lon);
74
+ }
63
75
  return {
64
76
  BatchEvent: {
65
77
  Endpoint: {
66
78
  Id: endpointId,
79
+ Demographic: Object.assign({ Locale: (browserInfo === null || browserInfo === void 0 ? void 0 : browserInfo.language) || '', Make: (payload === null || payload === void 0 ? void 0 : payload.deviceMake) || (browserInfo === null || browserInfo === void 0 ? void 0 : browserInfo.make) || '', Model: (payload === null || payload === void 0 ? void 0 : payload.deviceModel) || (browserInfo === null || browserInfo === void 0 ? void 0 : browserInfo.model) || '', ModelVersion: (browserInfo === null || browserInfo === void 0 ? void 0 : browserInfo.version) || '', Platform: ((_a = browserInfo === null || browserInfo === void 0 ? void 0 : browserInfo.os) === null || _a === void 0 ? void 0 : _a.name) || (browserInfo === null || browserInfo === void 0 ? void 0 : browserInfo.platform) || '' }, (((_b = browserInfo === null || browserInfo === void 0 ? void 0 : browserInfo.os) === null || _b === void 0 ? void 0 : _b.version)
80
+ ? { PlatformVersion: browserInfo.os.version }
81
+ : {})),
67
82
  Device: {
68
- Make: (payload === null || payload === void 0 ? void 0 : payload.deviceMake) || '',
69
- Model: (payload === null || payload === void 0 ? void 0 : payload.deviceModel) || '',
70
- },
71
- Location: {
72
- City: (payload === null || payload === void 0 ? void 0 : payload.city) || '',
73
- Country: (payload === null || payload === void 0 ? void 0 : payload.country) || '',
74
- Lat: getNumber(payload === null || payload === void 0 ? void 0 : payload.lat),
75
- Lon: getNumber(payload === null || payload === void 0 ? void 0 : payload.lon),
83
+ Make: (payload === null || payload === void 0 ? void 0 : payload.deviceMake) || (browserInfo === null || browserInfo === void 0 ? void 0 : browserInfo.make) || '',
84
+ Model: (payload === null || payload === void 0 ? void 0 : payload.deviceModel) || (browserInfo === null || browserInfo === void 0 ? void 0 : browserInfo.model) || '',
76
85
  },
86
+ Location: location,
77
87
  Application: {
78
- AppTitle: (_b = (_a = payload === null || payload === void 0 ? void 0 : payload.appTitle) !== null && _a !== void 0 ? _a : appName) !== null && _b !== void 0 ? _b : trackerName,
79
- AppVersion: (_c = payload === null || payload === void 0 ? void 0 : payload.appVersion) !== null && _c !== void 0 ? _c : appVersion,
80
- ClientSdkVersion: (_d = payload === null || payload === void 0 ? void 0 : payload.clientSdkVersion) !== null && _d !== void 0 ? _d : trackerName,
88
+ AppTitle: (_d = (_c = payload === null || payload === void 0 ? void 0 : payload.appTitle) !== null && _c !== void 0 ? _c : appName) !== null && _d !== void 0 ? _d : trackerName,
89
+ AppVersion: (_e = payload === null || payload === void 0 ? void 0 : payload.appVersion) !== null && _e !== void 0 ? _e : appVersion,
90
+ ClientSdkVersion: (_f = payload === null || payload === void 0 ? void 0 : payload.clientSdkVersion) !== null && _f !== void 0 ? _f : trackerName,
81
91
  },
82
92
  },
83
- Events: [
84
- {
85
- EventType: eventName,
93
+ Events: queuedEvents.map((queuedEvent) => {
94
+ console.log('queued event', queuedEvent.eventName);
95
+ const timestamp = queuedEvent.timestamp;
96
+ const { attributes, metrics } = splitEventData(queuedEvent.payload);
97
+ const sessionContext = queuedEvent.session ||
98
+ {
99
+ id: `${queuedEvent.unixMs}-${Math.random().toString(16).slice(2)}`,
100
+ startTimestamp: timestamp,
101
+ startUnixMs: queuedEvent.unixMs,
102
+ };
103
+ const isStopEvent = queuedEvent.eventName === SESSION_STOP_EVENT;
104
+ return {
105
+ EventType: queuedEvent.eventName,
86
106
  Timestamp: timestamp,
87
107
  Session: {
88
108
  Id: sessionContext.id,
89
109
  StartTimestamp: sessionContext.startTimestamp,
90
110
  EndTimestamp: timestamp,
91
111
  Duration: isStopEvent
92
- ? Math.max(0, Date.now() - sessionContext.startUnixMs)
112
+ ? Math.max(0, queuedEvent.unixMs - sessionContext.startUnixMs)
93
113
  : 0,
94
114
  },
95
115
  Attributes: attributes,
96
116
  Metrics: metrics,
97
- },
98
- ],
117
+ };
118
+ }),
99
119
  },
100
120
  };
101
121
  }
102
- export function createEsriPlugin({ trackerName, appName, appId, appVersion, userPoolID, fips, }) {
122
+ export function createEsriPlugin({ trackerName, appName, appId, appVersion, userPoolID, fips, debounceMs = DEFAULT_DEBOUNCE_MS, }) {
103
123
  const url = ESRI_ENDPOINT_URL(appId);
104
124
  let isDisabled = false;
105
125
  let hasWarned = false;
@@ -107,8 +127,10 @@ export function createEsriPlugin({ trackerName, appName, appId, appVersion, user
107
127
  let sessionStopSent = false;
108
128
  let activeSession;
109
129
  let idleTimerId;
130
+ let debounceTimerId;
110
131
  let lifecycleListenersAttached = false;
111
132
  const removeLifecycleListeners = [];
133
+ let pendingEvents = [];
112
134
  const isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';
113
135
  const warnOnce = (message, details) => {
114
136
  if (hasWarned) {
@@ -146,32 +168,43 @@ export function createEsriPlugin({ trackerName, appName, appId, appVersion, user
146
168
  clearTimeout(idleTimerId);
147
169
  idleTimerId = undefined;
148
170
  };
149
- const removeAllLifecycleListeners = () => {
150
- removeLifecycleListeners.splice(0).forEach((removeListener) => {
151
- removeListener();
152
- });
153
- lifecycleListenersAttached = false;
171
+ const clearDebounceTimer = () => {
172
+ if (!debounceTimerId) {
173
+ return;
174
+ }
175
+ clearTimeout(debounceTimerId);
176
+ debounceTimerId = undefined;
154
177
  };
155
- const createSession = () => {
156
- const now = Date.now();
157
- return {
158
- id: `${now}-${Math.random().toString(16).slice(2)}`,
159
- startTimestamp: new Date(now).toISOString(),
160
- startUnixMs: now,
161
- };
178
+ const clearPendingEvents = () => {
179
+ pendingEvents = [];
180
+ };
181
+ const enqueueEvent = (event) => {
182
+ pendingEvents.push(event);
183
+ };
184
+ const dequeuePendingEvents = () => {
185
+ if (pendingEvents.length === 0) {
186
+ return [];
187
+ }
188
+ const queuedEvents = pendingEvents;
189
+ pendingEvents = [];
190
+ return queuedEvents;
162
191
  };
163
- const sendEvent = (eventName, payload, sessionOverride) => {
192
+ const sendQueuedEvents = (queuedEvents) => {
193
+ var _a;
194
+ if (queuedEvents.length === 0) {
195
+ return;
196
+ }
164
197
  if (isDisabled || !url || !userPoolID) {
165
198
  debugLog('Skipping esri track call', {
166
- eventName,
199
+ eventName: (_a = queuedEvents[queuedEvents.length - 1]) === null || _a === void 0 ? void 0 : _a.eventName,
167
200
  reason: 'plugin-disabled',
168
201
  });
169
- return false;
202
+ return;
170
203
  }
171
- debugLog('Sending esri endpoint event', {
172
- eventName,
204
+ debugLog('Sending esri endpoint batch event', {
173
205
  trackerName,
174
206
  url,
207
+ eventCount: queuedEvents.length,
175
208
  });
176
209
  void getCredentials(userPoolID, { fips })
177
210
  .then((credentials) => {
@@ -194,39 +227,100 @@ export function createEsriPlugin({ trackerName, appName, appId, appVersion, user
194
227
  'Content-Type': 'application/json',
195
228
  },
196
229
  body: JSON.stringify(buildBatchEventPayload({
197
- eventName,
198
- payload: payload,
230
+ queuedEvents,
199
231
  trackerName,
200
232
  appName,
201
233
  appVersion,
202
- session: sessionOverride || activeSession,
203
234
  })),
204
235
  });
205
236
  })
206
237
  .then(() => {
207
238
  debugLog('Endpoint event sent', {
208
- eventName,
209
239
  trackerName,
240
+ eventCount: queuedEvents.length,
210
241
  });
211
242
  })
212
243
  .catch((error) => {
244
+ var _a;
213
245
  isDisabled = true;
214
246
  clearIdleTimer();
247
+ clearDebounceTimer();
248
+ clearPendingEvents();
215
249
  removeAllLifecycleListeners();
216
250
  warnOnce('Esri telemetry disabled after endpoint track failure', {
217
- eventName,
251
+ eventName: (_a = queuedEvents[queuedEvents.length - 1]) === null || _a === void 0 ? void 0 : _a.eventName,
218
252
  trackerName,
219
253
  message: (error === null || error === void 0 ? void 0 : error.message) || String(error),
220
254
  });
221
255
  });
256
+ };
257
+ const flushPendingEvents = (eventToAppend) => {
258
+ clearDebounceTimer();
259
+ const queuedEvents = dequeuePendingEvents();
260
+ if (eventToAppend) {
261
+ queuedEvents.push(eventToAppend);
262
+ }
263
+ console.log('flushing', eventToAppend);
264
+ console.log('stack', queuedEvents);
265
+ sendQueuedEvents(queuedEvents);
266
+ };
267
+ const scheduleDebounceFlush = () => {
268
+ clearDebounceTimer();
269
+ debounceTimerId = setTimeout(() => {
270
+ flushPendingEvents();
271
+ }, debounceMs);
272
+ };
273
+ const removeAllLifecycleListeners = () => {
274
+ removeLifecycleListeners.splice(0).forEach((removeListener) => {
275
+ removeListener();
276
+ });
277
+ lifecycleListenersAttached = false;
278
+ };
279
+ const createSession = () => {
280
+ const now = Date.now();
281
+ return {
282
+ id: `${now}-${Math.random().toString(16).slice(2)}`,
283
+ startTimestamp: new Date(now).toISOString(),
284
+ startUnixMs: now,
285
+ };
286
+ };
287
+ const sendEvent = (eventName, payload, sessionOverride, options, forceImmediate = false) => {
288
+ if (isDisabled || !url || !userPoolID) {
289
+ debugLog('Skipping esri track call', {
290
+ eventName,
291
+ reason: 'plugin-disabled',
292
+ });
293
+ return false;
294
+ }
295
+ debugLog('Queueing esri endpoint event', {
296
+ eventName,
297
+ trackerName,
298
+ immediate: Boolean((options === null || options === void 0 ? void 0 : options.immediate) || forceImmediate),
299
+ });
300
+ const queuedEvent = {
301
+ eventName,
302
+ payload: payload,
303
+ session: sessionOverride || activeSession,
304
+ browserInfo: getBrowserClientInfo(),
305
+ timestamp: new Date().toISOString(),
306
+ unixMs: Date.now(),
307
+ };
308
+ if ((options === null || options === void 0 ? void 0 : options.immediate) || forceImmediate) {
309
+ flushPendingEvents(queuedEvent);
310
+ }
311
+ else {
312
+ enqueueEvent(queuedEvent);
313
+ scheduleDebounceFlush();
314
+ }
222
315
  return true;
223
316
  };
224
317
  const sendSessionLifecycleEvent = (eventName, reason, sessionOverride) => {
225
318
  return sendEvent(eventName, {
226
319
  reason,
227
- }, sessionOverride);
320
+ }, sessionOverride, undefined, true);
228
321
  };
229
322
  const stopSession = (reason) => {
323
+ console.log('stopping session');
230
324
  if (!hasSessionStarted || sessionStopSent) {
231
325
  return false;
232
326
  }
@@ -294,7 +388,8 @@ export function createEsriPlugin({ trackerName, appName, appId, appVersion, user
294
388
  lifecycleListenersAttached = true;
295
389
  };
296
390
  return {
297
- track: (eventName, payload) => {
391
+ track: (eventName, payload, options) => {
392
+ void options;
298
393
  attachLifecycleListeners();
299
394
  const isSessionStopEvent = eventName === SESSION_STOP_EVENT;
300
395
  if (!hasSessionStarted &&
@@ -319,7 +414,7 @@ export function createEsriPlugin({ trackerName, appName, appId, appVersion, user
319
414
  resetIdleTimer();
320
415
  }
321
416
  const sessionForEvent = activeSession;
322
- const didSend = sendEvent(eventName, payload, sessionForEvent);
417
+ const didSend = sendEvent(eventName, payload, sessionForEvent, options, eventName === SESSION_START_EVENT || eventName === SESSION_STOP_EVENT);
323
418
  if (isSessionStopEvent && didSend) {
324
419
  activeSession = undefined;
325
420
  }
@@ -1 +1 @@
1
- {"version":3,"file":"esri.js","sourceRoot":"","sources":["../../../src/plugins/esri.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"esri.js","sourceRoot":"","sources":["../../../src/plugins/esri.ts"],"names":[],"mappings":"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"}