o11y 244.4.8 → 244.5.4

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 (45) hide show
  1. package/dist/modules/o11y/client/client.js +47 -11
  2. package/dist/modules/o11y/client/client.js.map +1 -1
  3. package/dist/modules/o11y/client/interfaces/Activity.d.ts +2 -2
  4. package/dist/modules/o11y/client/interfaces/HeaderProcessorArgs.d.ts +6 -0
  5. package/dist/modules/o11y/client/interfaces/TracingHeadersOptions.d.ts +3 -0
  6. package/dist/modules/o11y/client/library/ActivityImpl.d.ts +2 -2
  7. package/dist/modules/o11y/client/library/Tracing.d.ts +4 -1
  8. package/dist/modules/o11y/client/shared/TypeDefinitions.d.ts +1 -0
  9. package/dist/modules/o11y/client/version.d.ts +1 -1
  10. package/dist/modules/o11y/collectors/interfaces/Activity.d.ts +2 -2
  11. package/dist/modules/o11y/collectors/interfaces/HeaderProcessorArgs.d.ts +6 -0
  12. package/dist/modules/o11y/collectors/interfaces/TracingHeadersOptions.d.ts +3 -0
  13. package/dist/modules/o11y/collectors/library/ActivityImpl.d.ts +2 -2
  14. package/dist/modules/o11y/collectors/library/Tracing.d.ts +4 -1
  15. package/dist/modules/o11y/collectors/shared/TypeDefinitions.d.ts +1 -0
  16. package/dist/modules/o11y/collectors/version.d.ts +1 -1
  17. package/dist/modules/o11y/core_envelope/interfaces/Activity.d.ts +2 -2
  18. package/dist/modules/o11y/core_envelope/interfaces/HeaderProcessorArgs.d.ts +6 -0
  19. package/dist/modules/o11y/core_envelope/interfaces/TracingHeadersOptions.d.ts +3 -0
  20. package/dist/modules/o11y/core_envelope/library/ActivityImpl.d.ts +2 -2
  21. package/dist/modules/o11y/core_envelope/library/Tracing.d.ts +4 -1
  22. package/dist/modules/o11y/core_envelope/shared/TypeDefinitions.d.ts +1 -0
  23. package/dist/modules/o11y/core_envelope/version.d.ts +1 -1
  24. package/dist/modules/o11y/shared/interfaces/Activity.d.ts +2 -2
  25. package/dist/modules/o11y/shared/interfaces/HeaderProcessorArgs.d.ts +6 -0
  26. package/dist/modules/o11y/shared/interfaces/TracingHeadersOptions.d.ts +3 -0
  27. package/dist/modules/o11y/shared/library/ActivityImpl.d.ts +2 -2
  28. package/dist/modules/o11y/shared/library/Tracing.d.ts +4 -1
  29. package/dist/modules/o11y/shared/shared/TypeDefinitions.d.ts +1 -0
  30. package/dist/modules/o11y/shared/version.d.ts +1 -1
  31. package/dist/modules/o11y/simple_collector/interfaces/Activity.d.ts +2 -2
  32. package/dist/modules/o11y/simple_collector/interfaces/HeaderProcessorArgs.d.ts +6 -0
  33. package/dist/modules/o11y/simple_collector/interfaces/TracingHeadersOptions.d.ts +3 -0
  34. package/dist/modules/o11y/simple_collector/library/ActivityImpl.d.ts +2 -2
  35. package/dist/modules/o11y/simple_collector/library/Tracing.d.ts +4 -1
  36. package/dist/modules/o11y/simple_collector/shared/TypeDefinitions.d.ts +1 -0
  37. package/dist/modules/o11y/simple_collector/version.d.ts +1 -1
  38. package/dist/modules/o11y/web_vitals/interfaces/Activity.d.ts +2 -2
  39. package/dist/modules/o11y/web_vitals/interfaces/HeaderProcessorArgs.d.ts +6 -0
  40. package/dist/modules/o11y/web_vitals/interfaces/TracingHeadersOptions.d.ts +3 -0
  41. package/dist/modules/o11y/web_vitals/library/ActivityImpl.d.ts +2 -2
  42. package/dist/modules/o11y/web_vitals/library/Tracing.d.ts +4 -1
  43. package/dist/modules/o11y/web_vitals/shared/TypeDefinitions.d.ts +1 -0
  44. package/dist/modules/o11y/web_vitals/version.d.ts +1 -1
  45. package/package.json +1 -1
@@ -354,6 +354,10 @@ class Tracing {
354
354
  Tracing._global.XMLHttpRequest = Tracing._originalXhr;
355
355
  Tracing._originalXhr = undefined;
356
356
  }
357
+ if (Tracing._originalXhrOpen) {
358
+ Tracing._global.XMLHttpRequest.prototype.open = Tracing._originalXhrOpen;
359
+ Tracing._originalXhrOpen = undefined;
360
+ }
357
361
  if (Tracing._originalXhrSend) {
358
362
  Tracing._global.XMLHttpRequest.prototype.send = Tracing._originalXhrSend;
359
363
  Tracing._originalXhrSend = undefined;
@@ -371,6 +375,28 @@ class Tracing {
371
375
  Tracing._isNetworkInstrumentationEnabled = true;
372
376
  }
373
377
  }
378
+ static _getTraceHeaders(activity, options, method, url) {
379
+ let traceHeaders = activity.getTraceHeaders(options);
380
+ if (typeof (options === null || options === void 0 ? void 0 : options.headerProcessor) === 'function') {
381
+ traceHeaders = options.headerProcessor({
382
+ method,
383
+ url,
384
+ defaultHeaders: traceHeaders
385
+ });
386
+ }
387
+ else if (typeof window === 'object') {
388
+ let newUrl;
389
+ try {
390
+ newUrl = new URL(url);
391
+ }
392
+ catch (_a) {
393
+ }
394
+ if (newUrl && newUrl.host !== window.location.host) {
395
+ traceHeaders = undefined;
396
+ }
397
+ }
398
+ return traceHeaders || {};
399
+ }
374
400
  _overrideFetch(instr, logErrors, activityName, useTracing, options, tasker) {
375
401
  Tracing._originalFetch = Tracing._global.fetch;
376
402
  const o11yFetch = async (url, reqOptions, ...restArgs) => {
@@ -380,7 +406,7 @@ class Tracing {
380
406
  activity = instr.startActivity(activityName || defaultActivityNameForFetch);
381
407
  if (useTracing) {
382
408
  reqOptions = reqOptions || {};
383
- const traceHeaders = activity.getTraceHeaders(options);
409
+ const traceHeaders = Tracing._getTraceHeaders(activity, options, reqOptions.method, url === null || url === void 0 ? void 0 : url.toString());
384
410
  reqOptions.headers = Object.assign(reqOptions.headers || {}, traceHeaders);
385
411
  }
386
412
  return await Tracing._originalFetch.call(Tracing._global, url, reqOptions, ...restArgs);
@@ -405,16 +431,25 @@ class Tracing {
405
431
  }
406
432
  _overrideXhr(instr, logErrors, activityName, useTracing, options, tasker) {
407
433
  Tracing._originalXhr = Tracing._global.XMLHttpRequest;
434
+ Tracing._originalXhrOpen = Tracing._originalXhr.prototype.open;
408
435
  Tracing._originalXhrSend = Tracing._originalXhr.prototype.send;
436
+ Tracing._originalXhr.prototype.open = function (method, url, async, username, password) {
437
+ this._o11y = {
438
+ method,
439
+ url: url === null || url === void 0 ? void 0 : url.toString()
440
+ };
441
+ Tracing._originalXhrOpen.call(this, method, url, async, username, password);
442
+ };
409
443
  Tracing._originalXhr.prototype.send = function (...args) {
410
444
  let activity;
411
445
  try {
412
446
  tasker === null || tasker === void 0 ? void 0 : tasker.add();
413
447
  const xhr = this;
414
- xhr._o11yActivity = activity = instr.startActivity(activityName || defaultActivityNameForXhrSend);
448
+ xhr._o11y = xhr._o11y || {};
449
+ xhr._o11y.activity = activity = instr.startActivity(activityName || defaultActivityNameForXhrSend);
415
450
  if (useTracing) {
416
- const headers = activity.getTraceHeaders(options);
417
- Object.entries(headers).forEach((entry) => {
451
+ const traceHeaders = Tracing._getTraceHeaders(activity, options, xhr._o11y.method, xhr._o11y.url);
452
+ Object.entries(traceHeaders).forEach((entry) => {
418
453
  xhr.setRequestHeader(entry[0], entry[1]);
419
454
  });
420
455
  }
@@ -438,13 +473,14 @@ class Tracing {
438
473
  construct(target) {
439
474
  const newXhr = new target();
440
475
  newXhr.addEventListener('load', () => {
441
- var _a;
442
- (_a = newXhr._o11yActivity) === null || _a === void 0 ? void 0 : _a.stop();
476
+ var _a, _b;
477
+ (_b = (_a = newXhr._o11y) === null || _a === void 0 ? void 0 : _a.activity) === null || _b === void 0 ? void 0 : _b.stop();
443
478
  tasker === null || tasker === void 0 ? void 0 : tasker.done();
444
479
  });
445
480
  newXhr.addEventListener('error', (__err) => {
481
+ var _a;
446
482
  const error = new Error('XHR Network-Level Error');
447
- const activity = newXhr._o11yActivity;
483
+ const activity = (_a = newXhr._o11y) === null || _a === void 0 ? void 0 : _a.activity;
448
484
  if (activity) {
449
485
  if (logErrors) {
450
486
  activity.error(error);
@@ -457,8 +493,8 @@ class Tracing {
457
493
  tasker === null || tasker === void 0 ? void 0 : tasker.done();
458
494
  });
459
495
  newXhr.addEventListener('abort', () => {
460
- const activity = newXhr._o11yActivity;
461
- activity === null || activity === void 0 ? void 0 : activity.discard();
496
+ var _a, _b;
497
+ (_b = (_a = newXhr._o11y) === null || _a === void 0 ? void 0 : _a.activity) === null || _b === void 0 ? void 0 : _b.discard();
462
498
  tasker === null || tasker === void 0 ? void 0 : tasker.done();
463
499
  });
464
500
  return newXhr;
@@ -1791,7 +1827,7 @@ class NextgenImpl {
1791
1827
  this._appInstr = new AppInstrumentationImpl(this, name, options === null || options === void 0 ? void 0 : options.allowMultipleRootActivities);
1792
1828
  this._instruments.set(name, this._appInstr);
1793
1829
  this._isBufferingEnabled = options === null || options === void 0 ? void 0 : options.enableBuffering;
1794
- const tracing = new Tracing(this._appInstr, this._idleDetector);
1830
+ const tracing = new Tracing(this.getInstrumentation('Network'), this._idleDetector);
1795
1831
  return {
1796
1832
  log: this._appInstr.log.bind(this._appInstr),
1797
1833
  error: this._appInstr.error.bind(this._appInstr),
@@ -2043,7 +2079,7 @@ class ConsoleCollector {
2043
2079
  }
2044
2080
  }
2045
2081
 
2046
- const version = '244.4.8';
2082
+ const version = '244.5.4';
2047
2083
 
2048
2084
  const idleDetector = new IdleDetectorImpl({
2049
2085
  logThreshold: 300,