@microsoft/applicationinsights-dependencies-js 2.8.16-nightly.2308-02 → 2.8.16-nightly.2308-17

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 (28) hide show
  1. package/browser/applicationinsights-dependencies-js.integrity.json +9 -9
  2. package/browser/applicationinsights-dependencies-js.js +126 -56
  3. package/browser/applicationinsights-dependencies-js.js.map +1 -1
  4. package/browser/applicationinsights-dependencies-js.min.js +2 -2
  5. package/browser/applicationinsights-dependencies-js.min.js.map +1 -1
  6. package/dist/applicationinsights-dependencies-js.api.json +92 -6
  7. package/dist/applicationinsights-dependencies-js.api.md +12 -1
  8. package/dist/applicationinsights-dependencies-js.d.ts +21 -5
  9. package/dist/applicationinsights-dependencies-js.js +126 -56
  10. package/dist/applicationinsights-dependencies-js.js.map +1 -1
  11. package/dist/applicationinsights-dependencies-js.min.js +2 -2
  12. package/dist/applicationinsights-dependencies-js.min.js.map +1 -1
  13. package/dist/applicationinsights-dependencies-js.rollup.d.ts +21 -5
  14. package/dist-esm/DependencyInitializer.js +1 -1
  15. package/dist-esm/DependencyListener.js +1 -1
  16. package/dist-esm/InternalConstants.js +1 -1
  17. package/dist-esm/__DynamicConstants.js +1 -1
  18. package/dist-esm/ajax.js +136 -54
  19. package/dist-esm/ajax.js.map +1 -1
  20. package/dist-esm/ajaxRecord.js +1 -1
  21. package/dist-esm/ajaxUtils.js +1 -1
  22. package/dist-esm/applicationinsights-dependencies-js.js +1 -1
  23. package/package.json +4 -4
  24. package/src/ajax.ts +160 -60
  25. package/src/applicationinsights-dependencies-js.ts +1 -1
  26. package/types/ajax.d.ts +19 -4
  27. package/types/applicationinsights-dependencies-js.d.ts +1 -1
  28. package/types/tsdoc-metadata.json +1 -1
@@ -1,25 +1,25 @@
1
1
  {
2
2
  "name": "applicationinsights-dependencies-js",
3
- "version": "2.8.16-nightly.2308-02",
3
+ "version": "2.8.16-nightly.2308-17",
4
4
  "ext": {
5
5
  "@js": {
6
6
  "file": "applicationinsights-dependencies-js.js",
7
7
  "type": "text/javascript; charset=utf-8",
8
- "integrity": "sha256-bV7acj8j/FLHAqLxtflHOWdaf7qiF19edYLPYFVQ/6I= sha384-nIiKzgB7HJhf82edazdI299h84JsjrqimtoazimYo8Gx7WE+uF17HUckaLcFtA5p sha512-L3ZJYpFXSP4qONKc/20qr9H3Ott5nmQ7rekDeTCW3/kjq1cWw7PyFrobC79CoxxAZBizvTlhUnlEeOor6hWgMQ==",
8
+ "integrity": "sha256-QzPu7SEyu+NNzxyoi1pc6aV/ZE/tldYhQQPG2yrL7VQ= sha384-MYMlGqlcYqpdU8EU95BX2q9v2ywmxB0UI81nX8jz56a5eO3UF7/8kafwcEnjQgQd sha512-g9S0AGPSQctmGD6b2s0dVrjjdGqH5HSt8jrpkuszoi4Ab0NgaP2Rj+Oj52PbC/z6K5FfD9tnRpq7hb489DP2Rw==",
9
9
  "hashes": {
10
- "sha256": "bV7acj8j/FLHAqLxtflHOWdaf7qiF19edYLPYFVQ/6I=",
11
- "sha384": "nIiKzgB7HJhf82edazdI299h84JsjrqimtoazimYo8Gx7WE+uF17HUckaLcFtA5p",
12
- "sha512": "L3ZJYpFXSP4qONKc/20qr9H3Ott5nmQ7rekDeTCW3/kjq1cWw7PyFrobC79CoxxAZBizvTlhUnlEeOor6hWgMQ=="
10
+ "sha256": "QzPu7SEyu+NNzxyoi1pc6aV/ZE/tldYhQQPG2yrL7VQ=",
11
+ "sha384": "MYMlGqlcYqpdU8EU95BX2q9v2ywmxB0UI81nX8jz56a5eO3UF7/8kafwcEnjQgQd",
12
+ "sha512": "g9S0AGPSQctmGD6b2s0dVrjjdGqH5HSt8jrpkuszoi4Ab0NgaP2Rj+Oj52PbC/z6K5FfD9tnRpq7hb489DP2Rw=="
13
13
  }
14
14
  },
15
15
  "@min.js": {
16
16
  "file": "applicationinsights-dependencies-js.min.js",
17
17
  "type": "text/javascript; charset=utf-8",
18
- "integrity": "sha256-ceML9ZAZ9VYSSVwutrKX5bwcwH5uPZVBENqN6MUzJdc= sha384-gftrlcgt7laTZ6RD+kBruswX4QGqouDiAMfMoJYM/SMkZLuvCBGDEv7bI9AtJC9r sha512-yQ2R7R/B1UPuGpeSdiz7yN2gL8oN7mCT5JqzfuO9UOyrghbDKRgGOZixt5KZoUHgfWE4P+MABK0bWCkpnew8wQ==",
18
+ "integrity": "sha256-+Ls4VtAyV4DunMdyttjeb/CP+/+CN0InHG8OksRsSjI= sha384-uhjdaeMz2lG68wc3kDub8feKN5Jx/iun1clclUjbEoz7HXWggQhvygdRolxdyLDQ sha512-YJR4Akqsr4OdQMk172ms3z8hM9hvWUzswAheXBFpwCcsSZtF8/B0w3ywM8C0Wf5RYSBJCrL7yMEaiwn58a3RAg==",
19
19
  "hashes": {
20
- "sha256": "ceML9ZAZ9VYSSVwutrKX5bwcwH5uPZVBENqN6MUzJdc=",
21
- "sha384": "gftrlcgt7laTZ6RD+kBruswX4QGqouDiAMfMoJYM/SMkZLuvCBGDEv7bI9AtJC9r",
22
- "sha512": "yQ2R7R/B1UPuGpeSdiz7yN2gL8oN7mCT5JqzfuO9UOyrghbDKRgGOZixt5KZoUHgfWE4P+MABK0bWCkpnew8wQ=="
20
+ "sha256": "+Ls4VtAyV4DunMdyttjeb/CP+/+CN0InHG8OksRsSjI=",
21
+ "sha384": "uhjdaeMz2lG68wc3kDub8feKN5Jx/iun1clclUjbEoz7HXWggQhvygdRolxdyLDQ",
22
+ "sha512": "YJR4Akqsr4OdQMk172ms3z8hM9hvWUzswAheXBFpwCcsSZtF8/B0w3ywM8C0Wf5RYSBJCrL7yMEaiwn58a3RAg=="
23
23
  }
24
24
  }
25
25
  }
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Dependencies Plugin, 2.8.16-nightly.2308-02
2
+ * Application Insights JavaScript SDK - Dependencies Plugin, 2.8.16-nightly.2308-17
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  'use strict';
@@ -1307,7 +1307,7 @@ function newId(maxLength) {
1307
1307
  }
1308
1308
 
1309
1309
  var _objDefineProperty = ObjDefineProperty;
1310
- var version = "2.8.16-nightly.2308-02";
1310
+ var version = "2.8.16-nightly.2308-17";
1311
1311
  var instanceName = "." + newId(6);
1312
1312
  var _dataUid = 0;
1313
1313
  function _createAccessor(target, prop, value) {
@@ -1516,7 +1516,7 @@ var INVALID_TRACE_ID = "00000000000000000000000000000000";
1516
1516
  var INVALID_SPAN_ID = "0000000000000000";
1517
1517
  function _isValid(value, len, invalidValue) {
1518
1518
  if (value && value[_DYN_LENGTH$2 ] === len && value !== invalidValue) {
1519
- return !!value.match(/^[\da-f]*$/);
1519
+ return !!value.match(/^[\da-f]*$/i);
1520
1520
  }
1521
1521
  return false;
1522
1522
  }
@@ -1561,7 +1561,7 @@ function formatTraceParent(value) {
1561
1561
  if (version !== "00" && version !== "ff") {
1562
1562
  version = DEFAULT_VERSION;
1563
1563
  }
1564
- return "".concat(version, "-").concat(_formatValue(value.traceId, 32, INVALID_TRACE_ID), "-").concat(_formatValue(value.spanId, 16, INVALID_SPAN_ID), "-").concat(flags);
1564
+ return "".concat(version.toLowerCase(), "-").concat(_formatValue(value.traceId, 32, INVALID_TRACE_ID).toLowerCase(), "-").concat(_formatValue(value.spanId, 16, INVALID_SPAN_ID).toLowerCase(), "-").concat(flags.toLowerCase());
1565
1565
  }
1566
1566
  return "";
1567
1567
  }
@@ -3133,7 +3133,7 @@ var ajaxRecord = /** @class */ (function () {
3133
3133
 
3134
3134
  var AJAX_MONITOR_PREFIX = "ai.ajxmn.";
3135
3135
  var strDiagLog = "diagLog";
3136
- var strAjaxData = "ajaxData";
3136
+ var AJAX_DATA_CONTAINER = "_ajaxData";
3137
3137
  var STR_FETCH = "fetch";
3138
3138
  var ERROR_HEADER = "Failed to monitor XMLHttpRequest";
3139
3139
  var ERROR_PREFIX = ", monitoring data for this ajax call ";
@@ -3165,7 +3165,8 @@ function isWebWorker() {
3165
3165
  }
3166
3166
  return _isWebWorker;
3167
3167
  }
3168
- function _supportsAjaxMonitoring(ajaxMonitorInstance) {
3168
+ function _supportsAjaxMonitoring(ajaxMonitorInstance, ajaxDataId) {
3169
+ var _a;
3169
3170
  var result = false;
3170
3171
  if (isXhrSupported()) {
3171
3172
  var proto = XMLHttpRequest[strShimPrototype];
@@ -3181,7 +3182,13 @@ function _supportsAjaxMonitoring(ajaxMonitorInstance) {
3181
3182
  if (result) {
3182
3183
  try {
3183
3184
  var xhr = new XMLHttpRequest();
3184
- xhr[strAjaxData] = {};
3185
+ var xhrData = {
3186
+ xh: [],
3187
+ i: (_a = {},
3188
+ _a[ajaxDataId] = {},
3189
+ _a)
3190
+ };
3191
+ xhr[AJAX_DATA_CONTAINER] = xhrData;
3185
3192
  var theOpen = XMLHttpRequest[strShimPrototype].open;
3186
3193
  XMLHttpRequest[strShimPrototype].open = theOpen;
3187
3194
  }
@@ -3194,11 +3201,44 @@ function _supportsAjaxMonitoring(ajaxMonitorInstance) {
3194
3201
  }
3195
3202
  return result;
3196
3203
  }
3197
- function _getFailedAjaxDiagnosticsMessage(xhr) {
3204
+ var _getAjaxData = function (xhr, ajaxDataId) {
3205
+ if (xhr && ajaxDataId && xhr[AJAX_DATA_CONTAINER]) {
3206
+ return (xhr[AJAX_DATA_CONTAINER].i || {})[ajaxDataId];
3207
+ }
3208
+ return null;
3209
+ };
3210
+ var _addSharedXhrHeaders = function (xhr, name, value) {
3211
+ if (xhr) {
3212
+ var headers = (xhr[AJAX_DATA_CONTAINER] || {}).xh;
3213
+ if (headers) {
3214
+ headers.push({
3215
+ n: name,
3216
+ v: value
3217
+ });
3218
+ }
3219
+ }
3220
+ };
3221
+ var _isHeaderSet = function (xhr, name) {
3222
+ var isPresent = false;
3223
+ if (xhr) {
3224
+ var headers = (xhr[AJAX_DATA_CONTAINER] || {}).xh;
3225
+ if (headers) {
3226
+ arrForEach(headers, function (header) {
3227
+ if (header.n === name) {
3228
+ isPresent = true;
3229
+ return -1;
3230
+ }
3231
+ });
3232
+ }
3233
+ }
3234
+ return isPresent;
3235
+ };
3236
+ function _getFailedAjaxDiagnosticsMessage(xhr, ajaxDataId) {
3198
3237
  var result = "";
3199
3238
  try {
3200
- if (xhr && xhr[strAjaxData] && xhr[strAjaxData][_DYN_REQUEST_URL ]) {
3201
- result += "(url: '" + xhr[strAjaxData][_DYN_REQUEST_URL ] + "')";
3239
+ var ajaxData = _getAjaxData(xhr, ajaxDataId);
3240
+ if (ajaxData && ajaxData[_DYN_REQUEST_URL ]) {
3241
+ result += "(url: '" + ajaxData[_DYN_REQUEST_URL ] + "')";
3202
3242
  }
3203
3243
  }
3204
3244
  catch (e) {
@@ -3212,10 +3252,10 @@ function _throwInternalWarning(ajaxMonitorInstance, msgId, message, properties,
3212
3252
  _throwInternal(ajaxMonitorInstance[strDiagLog](), 2 , msgId, message, properties, isUserAct);
3213
3253
  }
3214
3254
  function _createErrorCallbackFunc(ajaxMonitorInstance, internalMessage, message) {
3215
- return function (args) {
3255
+ return function (callDetails) {
3216
3256
  _throwInternalCritical(ajaxMonitorInstance, internalMessage, message, {
3217
- ajaxDiagnosticsMessage: _getFailedAjaxDiagnosticsMessage(args[_DYN_INST ]),
3218
- exception: dumpObj(args.err)
3257
+ ajaxDiagnosticsMessage: _getFailedAjaxDiagnosticsMessage(callDetails[_DYN_INST ], ajaxMonitorInstance._ajaxDataId),
3258
+ exception: dumpObj(callDetails.err)
3219
3259
  });
3220
3260
  };
3221
3261
  }
@@ -3349,6 +3389,7 @@ var AjaxMonitor = /** @class */ (function (_super) {
3349
3389
  var _excludeRequestFromAutoTrackingPatterns;
3350
3390
  var _addRequestContext;
3351
3391
  var _evtNamespace;
3392
+ var _ajaxDataId;
3352
3393
  var _dependencyHandlerId;
3353
3394
  var _dependencyListeners;
3354
3395
  var _dependencyInitializers;
@@ -3412,17 +3453,27 @@ var AjaxMonitor = /** @class */ (function (_super) {
3412
3453
  else if (xhr) {
3413
3454
  if (CorrelationIdHelper[_DYN_CAN_INCLUDE_CORRELAT3 ](_config, ajaxData[_DYN_GET_ABSOLUTE_URL ](), currentWindowHost)) {
3414
3455
  if (_isUsingAIHeaders) {
3415
- var id = "|" + ajaxData[_DYN_TRACE_ID ] + "." + ajaxData[_DYN_SPAN_ID ];
3416
- xhr[_DYN_SET_REQUEST_HEADER ](RequestHeaders[3 ], id);
3417
- if (_enableRequestHeaderTracking) {
3418
- ajaxData[_DYN_REQUEST_HEADERS ][RequestHeaders[3 ]] = id;
3456
+ if (!_isHeaderSet(xhr, RequestHeaders[3 ])) {
3457
+ var id = "|" + ajaxData[_DYN_TRACE_ID ] + "." + ajaxData[_DYN_SPAN_ID ];
3458
+ xhr[_DYN_SET_REQUEST_HEADER ](RequestHeaders[3 ], id);
3459
+ if (_enableRequestHeaderTracking) {
3460
+ ajaxData[_DYN_REQUEST_HEADERS ][RequestHeaders[3 ]] = id;
3461
+ }
3462
+ }
3463
+ else {
3464
+ _throwInternalWarning(_self, 71 , "Unable to set [" + RequestHeaders[3 ] + "] as it has already been set by another instance");
3419
3465
  }
3420
3466
  }
3421
3467
  var appId = _config[_DYN_APP_ID ] || (_context && _context[_DYN_APP_ID ]());
3422
3468
  if (appId) {
3423
- xhr[_DYN_SET_REQUEST_HEADER ](RequestHeaders[0 ], RequestHeaders[2 ] + appId);
3424
- if (_enableRequestHeaderTracking) {
3425
- ajaxData[_DYN_REQUEST_HEADERS ][RequestHeaders[0 ]] = RequestHeaders[2 ] + appId;
3469
+ if (!_isHeaderSet(xhr, RequestHeaders[0 ])) {
3470
+ xhr[_DYN_SET_REQUEST_HEADER ](RequestHeaders[0 ], RequestHeaders[2 ] + appId);
3471
+ if (_enableRequestHeaderTracking) {
3472
+ ajaxData[_DYN_REQUEST_HEADERS ][RequestHeaders[0 ]] = RequestHeaders[2 ] + appId;
3473
+ }
3474
+ }
3475
+ else {
3476
+ _throwInternalWarning(_self, 71 , "Unable to set [" + RequestHeaders[0 ] + "] as it has already been set by another instance");
3426
3477
  }
3427
3478
  }
3428
3479
  if (_isUsingW3CHeaders) {
@@ -3430,10 +3481,15 @@ var AjaxMonitor = /** @class */ (function (_super) {
3430
3481
  if (isNullOrUndefined(traceFlags)) {
3431
3482
  traceFlags = 0x01;
3432
3483
  }
3433
- var traceParent = formatTraceParent(createTraceParent(ajaxData[_DYN_TRACE_ID ], ajaxData[_DYN_SPAN_ID ], traceFlags));
3434
- xhr[_DYN_SET_REQUEST_HEADER ](RequestHeaders[4 ], traceParent);
3435
- if (_enableRequestHeaderTracking) {
3436
- ajaxData[_DYN_REQUEST_HEADERS ][RequestHeaders[4 ]] = traceParent;
3484
+ if (!_isHeaderSet(xhr, RequestHeaders[4 ])) {
3485
+ var traceParent = formatTraceParent(createTraceParent(ajaxData[_DYN_TRACE_ID ], ajaxData[_DYN_SPAN_ID ], traceFlags));
3486
+ xhr[_DYN_SET_REQUEST_HEADER ](RequestHeaders[4 ], traceParent);
3487
+ if (_enableRequestHeaderTracking) {
3488
+ ajaxData[_DYN_REQUEST_HEADERS ][RequestHeaders[4 ]] = traceParent;
3489
+ }
3490
+ }
3491
+ else {
3492
+ _throwInternalWarning(_self, 71 , "Unable to set [" + RequestHeaders[4 ] + "] as it has already been set by another instance");
3437
3493
  }
3438
3494
  }
3439
3495
  }
@@ -3490,6 +3546,8 @@ var AjaxMonitor = /** @class */ (function (_super) {
3490
3546
  _dependencyHandlerId = 0;
3491
3547
  _dependencyListeners = [];
3492
3548
  _dependencyInitializers = [];
3549
+ _ajaxDataId = createUniqueNamespace("ajaxData");
3550
+ _self._ajaxDataId = _ajaxDataId;
3493
3551
  }
3494
3552
  function _populateDefaults(config) {
3495
3553
  var ctx = createProcessTelemetryContext(null, config, _self[_DYN_CORE ]);
@@ -3612,18 +3670,18 @@ var AjaxMonitor = /** @class */ (function (_super) {
3612
3670
  _addHook(InstrumentProto(target, funcName, callbacks));
3613
3671
  }
3614
3672
  function _instrumentXhr() {
3615
- if (_supportsAjaxMonitoring(_self) && !_disableAjaxTracking && !_xhrInitialized) {
3673
+ if (_supportsAjaxMonitoring(_self, _ajaxDataId) && !_disableAjaxTracking && !_xhrInitialized) {
3616
3674
  _hookProto(XMLHttpRequest, "open", {
3617
3675
  ns: _evtNamespace,
3618
- req: function (args, method, url, async) {
3676
+ req: function (callDetails, method, url, async) {
3619
3677
  if (!_disableAjaxTracking) {
3620
- var xhr = args[_DYN_INST ];
3621
- var ajaxData = xhr[strAjaxData];
3622
- if (!_isDisabledRequest(xhr, url) && _isMonitoredXhrInstance(xhr, true)) {
3678
+ var xhr = callDetails[_DYN_INST ];
3679
+ var ajaxData = _getAjaxData(xhr, _ajaxDataId);
3680
+ if (!_isDisabledRequest(xhr, url) && _isMonitoredXhrInstance(xhr, ajaxData, true)) {
3623
3681
  if (!ajaxData || !ajaxData.xhrMonitoringState[_DYN_OPEN_DONE ]) {
3624
- _openHandler(xhr, method, url, async);
3682
+ ajaxData = _openHandler(xhr, method, url, async);
3625
3683
  }
3626
- _attachToOnReadyStateChange(xhr);
3684
+ _attachToOnReadyStateChange(xhr, ajaxData);
3627
3685
  }
3628
3686
  }
3629
3687
  },
@@ -3631,11 +3689,11 @@ var AjaxMonitor = /** @class */ (function (_super) {
3631
3689
  });
3632
3690
  _hookProto(XMLHttpRequest, "send", {
3633
3691
  ns: _evtNamespace,
3634
- req: function (args, context) {
3692
+ req: function (callDetails, context) {
3635
3693
  if (!_disableAjaxTracking) {
3636
- var xhr = args[_DYN_INST ];
3637
- var ajaxData = xhr[strAjaxData];
3638
- if (_isMonitoredXhrInstance(xhr) && !ajaxData.xhrMonitoringState[_DYN_SEND_DONE ]) {
3694
+ var xhr = callDetails[_DYN_INST ];
3695
+ var ajaxData = _getAjaxData(xhr, _ajaxDataId);
3696
+ if (_isMonitoredXhrInstance(xhr, ajaxData) && !ajaxData.xhrMonitoringState[_DYN_SEND_DONE ]) {
3639
3697
  _createMarkId("xhr", ajaxData);
3640
3698
  ajaxData[_DYN_REQUEST_SENT_TIME ] = dateTimeUtilsNow();
3641
3699
  _self[_DYN_INCLUDE_CORRELATION_2 ](ajaxData, undefined, undefined, xhr);
@@ -3647,11 +3705,11 @@ var AjaxMonitor = /** @class */ (function (_super) {
3647
3705
  });
3648
3706
  _hookProto(XMLHttpRequest, "abort", {
3649
3707
  ns: _evtNamespace,
3650
- req: function (args) {
3708
+ req: function (callDetails) {
3651
3709
  if (!_disableAjaxTracking) {
3652
- var xhr = args[_DYN_INST ];
3653
- var ajaxData = xhr[strAjaxData];
3654
- if (_isMonitoredXhrInstance(xhr) && !ajaxData.xhrMonitoringState[_DYN_ABORT_DONE ]) {
3710
+ var xhr = callDetails[_DYN_INST ];
3711
+ var ajaxData = _getAjaxData(xhr, _ajaxDataId);
3712
+ if (_isMonitoredXhrInstance(xhr, ajaxData) && !ajaxData.xhrMonitoringState[_DYN_ABORT_DONE ]) {
3655
3713
  ajaxData[_DYN_ABORTED ] = 1;
3656
3714
  ajaxData.xhrMonitoringState[_DYN_ABORT_DONE ] = true;
3657
3715
  }
@@ -3661,11 +3719,17 @@ var AjaxMonitor = /** @class */ (function (_super) {
3661
3719
  });
3662
3720
  _hookProto(XMLHttpRequest, "setRequestHeader", {
3663
3721
  ns: _evtNamespace,
3664
- req: function (args, header, value) {
3665
- if (!_disableAjaxTracking && _enableRequestHeaderTracking) {
3666
- var xhr = args[_DYN_INST ];
3667
- if (_isMonitoredXhrInstance(xhr) && _canIncludeHeaders(header)) {
3668
- xhr[strAjaxData][_DYN_REQUEST_HEADERS ][header] = value;
3722
+ req: function (callDetails, header, value) {
3723
+ if (!_disableAjaxTracking) {
3724
+ var xhr = callDetails[_DYN_INST ];
3725
+ var ajaxData = _getAjaxData(xhr, _ajaxDataId);
3726
+ if (ajaxData && _isMonitoredXhrInstance(xhr, ajaxData)) {
3727
+ _addSharedXhrHeaders(xhr, header, value);
3728
+ if (_enableRequestHeaderTracking && _canIncludeHeaders(header)) {
3729
+ if (ajaxData) {
3730
+ ajaxData[_DYN_REQUEST_HEADERS ][header] = value;
3731
+ }
3732
+ }
3669
3733
  }
3670
3734
  }
3671
3735
  },
@@ -3719,11 +3783,11 @@ var AjaxMonitor = /** @class */ (function (_super) {
3719
3783
  }
3720
3784
  return isDisabled;
3721
3785
  }
3722
- function _isMonitoredXhrInstance(xhr, excludeAjaxDataValidation) {
3786
+ function _isMonitoredXhrInstance(xhr, ajaxData, excludeAjaxDataValidation) {
3723
3787
  var ajaxValidation = true;
3724
3788
  var initialized = _xhrInitialized;
3725
3789
  if (!isNullOrUndefined(xhr)) {
3726
- ajaxValidation = excludeAjaxDataValidation === true || !isNullOrUndefined(xhr[strAjaxData]);
3790
+ ajaxValidation = excludeAjaxDataValidation === true || !isNullOrUndefined(ajaxData);
3727
3791
  }
3728
3792
  return initialized
3729
3793
  && ajaxValidation;
@@ -3743,7 +3807,9 @@ var AjaxMonitor = /** @class */ (function (_super) {
3743
3807
  var distributedTraceCtx = _getDistributedTraceCtx();
3744
3808
  var traceID = (distributedTraceCtx && distributedTraceCtx[_DYN_GET_TRACE_ID ]()) || generateW3CId();
3745
3809
  var spanID = generateW3CId().substr(0, 16);
3746
- var ajaxData = new ajaxRecord(traceID, spanID, _self[strDiagLog](), (_a = _self.core) === null || _a === void 0 ? void 0 : _a.getTraceCtx());
3810
+ var xhrRequestData = xhr[AJAX_DATA_CONTAINER] = (xhr[AJAX_DATA_CONTAINER] || { xh: [], i: {} });
3811
+ var ajaxDataCntr = xhrRequestData.i = (xhrRequestData.i || {});
3812
+ var ajaxData = ajaxDataCntr[_ajaxDataId] = (ajaxDataCntr[_ajaxDataId] || new ajaxRecord(traceID, spanID, _self[strDiagLog](), (_a = _self.core) === null || _a === void 0 ? void 0 : _a.getTraceCtx()));
3747
3813
  ajaxData[_DYN_TRACE_FLAGS ] = distributedTraceCtx && distributedTraceCtx[_DYN_GET_TRACE_FLAGS ]();
3748
3814
  ajaxData[_DYN_METHOD ] = method;
3749
3815
  ajaxData[_DYN_REQUEST_URL ] = url;
@@ -3751,12 +3817,12 @@ var AjaxMonitor = /** @class */ (function (_super) {
3751
3817
  ajaxData[_DYN_REQUEST_HEADERS ] = {};
3752
3818
  ajaxData.async = async;
3753
3819
  ajaxData[_DYN_ERROR_STATUS_TEXT ] = _enableAjaxErrorStatusText;
3754
- xhr[strAjaxData] = ajaxData;
3820
+ return ajaxData;
3755
3821
  }
3756
- function _attachToOnReadyStateChange(xhr) {
3757
- xhr[strAjaxData].xhrMonitoringState[_DYN_STATE_CHANGE_ATTACHE14 ] = eventOn(xhr, "readystatechange", function () {
3822
+ function _attachToOnReadyStateChange(xhr, ajaxData) {
3823
+ ajaxData.xhrMonitoringState[_DYN_STATE_CHANGE_ATTACHE14 ] = eventOn(xhr, "readystatechange", function () {
3758
3824
  try {
3759
- if (xhr && xhr.readyState === 4 && _isMonitoredXhrInstance(xhr)) {
3825
+ if (xhr && xhr.readyState === 4 && _isMonitoredXhrInstance(xhr, ajaxData)) {
3760
3826
  _onAjaxComplete(xhr);
3761
3827
  }
3762
3828
  }
@@ -3764,7 +3830,7 @@ var AjaxMonitor = /** @class */ (function (_super) {
3764
3830
  var exceptionText = dumpObj(e);
3765
3831
  if (!exceptionText || _indexOf(exceptionText[_DYN_TO_LOWER_CASE ](), "c00c023f") === -1) {
3766
3832
  _throwInternalCritical(_self, 16 , ERROR_HEADER + " 'readystatechange' event handler" + ERROR_POSTFIX, {
3767
- ajaxDiagnosticsMessage: _getFailedAjaxDiagnosticsMessage(xhr),
3833
+ ajaxDiagnosticsMessage: _getFailedAjaxDiagnosticsMessage(xhr, _ajaxDataId),
3768
3834
  exception: exceptionText
3769
3835
  });
3770
3836
  }
@@ -3783,12 +3849,12 @@ var AjaxMonitor = /** @class */ (function (_super) {
3783
3849
  return null;
3784
3850
  }
3785
3851
  function _onAjaxComplete(xhr) {
3786
- var ajaxData = xhr[strAjaxData];
3852
+ var ajaxData = _getAjaxData(xhr, _ajaxDataId);
3787
3853
  ajaxData[_DYN_RESPONSE_FINISHED_TI15 ] = dateTimeUtilsNow();
3788
3854
  ajaxData[_DYN_STATUS ] = xhr[_DYN_STATUS ];
3789
3855
  function _reportXhrError(e, failedProps) {
3790
3856
  var errorProps = failedProps || {};
3791
- errorProps["ajaxDiagnosticsMessage"] = _getFailedAjaxDiagnosticsMessage(xhr);
3857
+ errorProps["ajaxDiagnosticsMessage"] = _getFailedAjaxDiagnosticsMessage(xhr, _ajaxDataId);
3792
3858
  if (e) {
3793
3859
  errorProps["exception"] = dumpObj(e);
3794
3860
  }
@@ -3848,7 +3914,11 @@ var AjaxMonitor = /** @class */ (function (_super) {
3848
3914
  }
3849
3915
  finally {
3850
3916
  try {
3851
- xhr[strAjaxData] = null;
3917
+ var xhrRequestData = (xhr[AJAX_DATA_CONTAINER] || { i: {} });
3918
+ var ajaxDataCntr = (xhrRequestData.i || {});
3919
+ if (ajaxDataCntr[_ajaxDataId]) {
3920
+ ajaxDataCntr[_ajaxDataId] = null;
3921
+ }
3852
3922
  }
3853
3923
  catch (e) {
3854
3924
  }
@@ -3870,7 +3940,7 @@ var AjaxMonitor = /** @class */ (function (_super) {
3870
3940
  }
3871
3941
  catch (e) {
3872
3942
  _throwInternalWarning(_self, 18 , CORRELATION_HEADER_ERROR, {
3873
- ajaxDiagnosticsMessage: _getFailedAjaxDiagnosticsMessage(xhr),
3943
+ ajaxDiagnosticsMessage: _getFailedAjaxDiagnosticsMessage(xhr, _ajaxDataId),
3874
3944
  exception: dumpObj(e)
3875
3945
  });
3876
3946
  }