@microsoft/applicationinsights-dependencies-js 3.4.0-nightlybeta3.2505-36 → 3.4.0-nightlybeta3.2507-23

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 (34) hide show
  1. package/browser/es5/applicationinsights-dependencies-js.cjs.js +870 -322
  2. package/browser/es5/applicationinsights-dependencies-js.cjs.js.map +1 -1
  3. package/browser/es5/applicationinsights-dependencies-js.cjs.min.js +2 -2
  4. package/browser/es5/applicationinsights-dependencies-js.cjs.min.js.map +1 -1
  5. package/browser/es5/applicationinsights-dependencies-js.gbl.js +872 -324
  6. package/browser/es5/applicationinsights-dependencies-js.gbl.js.map +1 -1
  7. package/browser/es5/applicationinsights-dependencies-js.gbl.min.js +2 -2
  8. package/browser/es5/applicationinsights-dependencies-js.gbl.min.js.map +1 -1
  9. package/browser/es5/applicationinsights-dependencies-js.integrity.json +25 -25
  10. package/browser/es5/applicationinsights-dependencies-js.js +872 -324
  11. package/browser/es5/applicationinsights-dependencies-js.js.map +1 -1
  12. package/browser/es5/applicationinsights-dependencies-js.min.js +2 -2
  13. package/browser/es5/applicationinsights-dependencies-js.min.js.map +1 -1
  14. package/dist/es5/applicationinsights-dependencies-js.js +870 -322
  15. package/dist/es5/applicationinsights-dependencies-js.js.map +1 -1
  16. package/dist/es5/applicationinsights-dependencies-js.min.js +2 -2
  17. package/dist/es5/applicationinsights-dependencies-js.min.js.map +1 -1
  18. package/dist-es5/DependencyInitializer.js +1 -1
  19. package/dist-es5/DependencyListener.js +1 -1
  20. package/dist-es5/InternalConstants.js +2 -1
  21. package/dist-es5/InternalConstants.js.map +1 -1
  22. package/dist-es5/__DynamicConstants.js +15 -19
  23. package/dist-es5/__DynamicConstants.js.map +1 -1
  24. package/dist-es5/ajax.js +130 -62
  25. package/dist-es5/ajax.js.map +1 -1
  26. package/dist-es5/ajaxRecord.js +137 -148
  27. package/dist-es5/ajaxRecord.js.map +1 -1
  28. package/dist-es5/applicationinsights-dependencies-js.js +1 -2
  29. package/dist-es5/applicationinsights-dependencies-js.js.map +1 -1
  30. package/package.json +3 -3
  31. package/types/applicationinsights-dependencies-js.d.ts +150 -50
  32. package/types/applicationinsights-dependencies-js.namespaced.d.ts +628 -88
  33. package/dist-es5/ajaxUtils.js +0 -30
  34. package/dist-es5/ajaxUtils.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Dependencies Plugin, 3.4.0-nightlybeta3.2505-36
2
+ * Application Insights JavaScript SDK - Dependencies Plugin, 3.4.0-nightlybeta3.2507-23
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
@@ -39,6 +39,7 @@
39
39
  var CALL = "call";
40
40
  var TO_STRING = "toString";
41
41
  var GET_OWN_PROPERTY_DESCRIPTOR = "getOwnPropertyDescriptor";
42
+ var GET_OWN_PROPERTY_SYMBOLS = "getOwnPropertySymbols";
42
43
  var ObjClass = ( /*#__PURE__*/_pureAssign(Object));
43
44
  var ObjProto = ( /*#__PURE__*/_pureRef(ObjClass, PROTOTYPE));
44
45
  var StrCls = ( /*#__PURE__*/_pureAssign(String));
@@ -111,6 +112,9 @@
111
112
  function _returnNothing() {
112
113
  return;
113
114
  }
115
+ function _returnEmptyArray() {
116
+ return [];
117
+ }
114
118
  var asString = ( /*#__PURE__*/_pureAssign(StrCls));
115
119
  var ERROR_TYPE = "[object Error]";
116
120
  /*#__NO_SIDE_EFFECTS__*/
@@ -187,7 +191,26 @@
187
191
  throwTypeError("\"" + asString(funcName) + "\" not defined for " + dumpObj(thisArg));
188
192
  };
189
193
  }
194
+ function _objPropertyIsEnum(obj, propKey) {
195
+ var desc;
196
+ var fn = ObjClass.getOwnPropertyDescriptor;
197
+ if (!isStrictNullOrUndefined(obj) && fn) {
198
+ desc = safe(fn, [obj, propKey]).v || NULL_VALUE;
199
+ }
200
+ if (!desc) {
201
+ desc = safe(function () {
202
+ for (var key in obj) {
203
+ if (key === propKey) {
204
+ return { enumerable: true };
205
+ }
206
+ }
207
+ }).v;
208
+ }
209
+ return (desc && desc.enumerable) || false;
210
+ }
211
+ var objPropertyIsEnumerable = ( /*#__PURE__*/_unwrapFunctionWithPoly("propertyIsEnumerable", NULL_VALUE, _objPropertyIsEnum));
190
212
  var _objGetOwnPropertyDescriptor$1 = ( /*#__PURE__*/_pureAssign(( /*#__PURE__*/_pureRef(ObjClass, GET_OWN_PROPERTY_DESCRIPTOR)), _returnNothing));
213
+ var _objGetOwnPropertySymbols = ( /*#__PURE__*/_pureAssign(( /*#__PURE__*/_pureRef(ObjClass, GET_OWN_PROPERTY_SYMBOLS)), _returnEmptyArray));
191
214
  var propMap = {
192
215
  e: "enumerable",
193
216
  c: "configurable",
@@ -220,6 +243,18 @@
220
243
  function objDefine(target, key, propDesc) {
221
244
  return objDefineProp(target, key, _createProp(propDesc));
222
245
  }
246
+ function objDefineProps(target, propDescMap) {
247
+ var props = {};
248
+ objForEachKey(propDescMap, function (key, value) {
249
+ props[key] = _createProp(value);
250
+ });
251
+ arrForEach(_objGetOwnPropertySymbols(propDescMap), function (sym) {
252
+ if (objPropertyIsEnumerable(propDescMap, sym)) {
253
+ props[sym] = _createProp(propDescMap[sym]);
254
+ }
255
+ });
256
+ return objDefineProperties(target, props);
257
+ }
223
258
  /*#__NO_SIDE_EFFECTS__*/
224
259
  function _createKeyValueMap(values, keyType, valueType, completeFn, writable) {
225
260
  var theMap = {};
@@ -478,6 +513,22 @@
478
513
  toJSON: function () { return value; }
479
514
  }, "v", { value: value });
480
515
  }
516
+ var createDeferredCachedValue = getDeferred;
517
+ /*#__NO_SIDE_EFFECTS__*/
518
+ function getDeferred(cb, argArray) {
519
+ var theValue = {
520
+ toJSON: function () { return theValue.v; }
521
+ };
522
+ return objDefineProp(theValue, "v", {
523
+ get: function () {
524
+ var result = fnApply(cb, null, argArray);
525
+ cb = NULL_VALUE;
526
+ objDefineProp(theValue, "v", { value: result });
527
+ return result;
528
+ },
529
+ configurable: true
530
+ });
531
+ }
481
532
  var WINDOW = "window";
482
533
  var _cachedGlobal;
483
534
  function _getGlobalInstFn(getFn, theArgs) {
@@ -1140,11 +1191,15 @@
1140
1191
  var _DYN_CANCEL = "cancel";
1141
1192
  var _DYN_INITIALIZE = "initialize";
1142
1193
  var _DYN_IDENTIFIER = "identifier";
1194
+ var _DYN_TRACE_ID$1 = "traceId";
1195
+ var _DYN_SPAN_ID$1 = "spanId";
1196
+ var _DYN_TRACE_FLAGS$2 = "traceFlags";
1143
1197
  var _DYN_IS_INITIALIZED = "isInitialized";
1144
1198
  var _DYN_GET_PLUGIN = "getPlugin";
1145
1199
  var _DYN_NAME$1 = "name";
1146
1200
  var _DYN_PROCESS_NEXT = "processNext";
1147
1201
  var _DYN_GET_PROCESS_TEL_CONT2 = "getProcessTelContext";
1202
+ var _DYN_VALUE = "value";
1148
1203
  var _DYN_UNLOAD = "unload";
1149
1204
  var _DYN_VERSION = "version";
1150
1205
  var _DYN_LOGGING_LEVEL_CONSOL4 = "loggingLevelConsole";
@@ -1160,11 +1215,14 @@
1160
1215
  var _DYN_USER_AGENT = "userAgent";
1161
1216
  var _DYN_SPLIT$1 = "split";
1162
1217
  var _DYN_REPLACE = "replace";
1218
+ var _DYN_SUBSTRING = "substring";
1219
+ var _DYN_INDEX_OF = "indexOf";
1163
1220
  var _DYN_TYPE = "type";
1164
1221
  var _DYN_IS_CHILD_EVT = "isChildEvt";
1165
1222
  var _DYN_GET_CTX = "getCtx";
1166
1223
  var _DYN_SET_CTX = "setCtx";
1167
- var _DYN_TRACE_FLAGS$1 = "traceFlags";
1224
+ var _DYN_SET_TRACE_FLAGS = "setTraceFlags";
1225
+ var _DYN_TRACE_STATE$1 = "traceState";
1168
1226
 
1169
1227
  var aggregationErrorType;
1170
1228
  function throwAggregationError(message, sourceErrors) {
@@ -1191,6 +1249,8 @@
1191
1249
  var STR_PRIORITY = "priority";
1192
1250
  var STR_GET_PERF_MGR = "getPerfMgr";
1193
1251
  var STR_NOT_DYNAMIC_ERROR = "Not dynamic - ";
1252
+ var STR_REDACTED = "REDACTED";
1253
+ var DEFAULT_SENSITIVE_PARAMS = ["sig", "Signature", "AWSAccessKeyId", "X-Goog-Signature"];
1194
1254
 
1195
1255
  var strGetPrototypeOf = "getPrototypeOf";
1196
1256
  var rCamelCase = /-([a-z])/g;
@@ -1351,6 +1411,110 @@
1351
1411
  }
1352
1412
  return isSupported;
1353
1413
  }
1414
+ function redactUserInfo(url) {
1415
+ return url.replace(/^([a-zA-Z][a-zA-Z0-9+.-]*:\/\/)([^:@]{1,200}):([^@]{1,200})@(.*)$/, "$1REDACTED:REDACTED@$4");
1416
+ }
1417
+ function redactQueryParameters(url, config) {
1418
+ var sensitiveParams;
1419
+ var questionMarkIndex = strIndexOf(url, "?");
1420
+ if (questionMarkIndex === -1) {
1421
+ return url;
1422
+ }
1423
+ if (config && config.redactQueryParams) {
1424
+ sensitiveParams = DEFAULT_SENSITIVE_PARAMS.concat(config.redactQueryParams);
1425
+ }
1426
+ else {
1427
+ sensitiveParams = DEFAULT_SENSITIVE_PARAMS;
1428
+ }
1429
+ var baseUrl = strSubstring(url, 0, questionMarkIndex + 1);
1430
+ var queryString = strSubstring(url, questionMarkIndex + 1);
1431
+ var fragment = STR_EMPTY;
1432
+ var hashIndex = strIndexOf(queryString, "#");
1433
+ if (hashIndex !== -1) {
1434
+ fragment = strSubstring(queryString, hashIndex);
1435
+ queryString = strSubstring(queryString, 0, hashIndex);
1436
+ }
1437
+ var hasPotentialSensitiveParam = false;
1438
+ for (var i = 0; i < sensitiveParams[_DYN_LENGTH$2 ]; i++) {
1439
+ var paramCheck = sensitiveParams[i] + "=";
1440
+ if (strIndexOf(queryString, paramCheck) !== -1) {
1441
+ hasPotentialSensitiveParam = true;
1442
+ break;
1443
+ }
1444
+ }
1445
+ if (!hasPotentialSensitiveParam) {
1446
+ return url;
1447
+ }
1448
+ var resultParts = [];
1449
+ var anyParamRedacted = false;
1450
+ if (queryString && queryString[_DYN_LENGTH$2 ]) {
1451
+ var pairs = queryString[_DYN_SPLIT$1 ]("&");
1452
+ for (var i = 0; i < pairs[_DYN_LENGTH$2 ]; i++) {
1453
+ var pair = pairs[i];
1454
+ if (!pair) {
1455
+ continue;
1456
+ }
1457
+ var equalsIndex = strIndexOf(pair, "=");
1458
+ if (equalsIndex === -1) {
1459
+ resultParts[_DYN_PUSH ](pair);
1460
+ }
1461
+ else {
1462
+ var paramName = pair[_DYN_SUBSTRING ](0, equalsIndex);
1463
+ var paramValue = pair[_DYN_SUBSTRING ](equalsIndex + 1);
1464
+ if (paramValue === STR_EMPTY) {
1465
+ resultParts[_DYN_PUSH ](pair);
1466
+ }
1467
+ else {
1468
+ var shouldRedact = false;
1469
+ for (var j = 0; j < sensitiveParams[_DYN_LENGTH$2 ]; j++) {
1470
+ if (paramName === sensitiveParams[j]) {
1471
+ shouldRedact = true;
1472
+ anyParamRedacted = true;
1473
+ break;
1474
+ }
1475
+ }
1476
+ if (shouldRedact) {
1477
+ resultParts[_DYN_PUSH ](paramName + "=" + STR_REDACTED);
1478
+ }
1479
+ else {
1480
+ resultParts[_DYN_PUSH ](pair);
1481
+ }
1482
+ }
1483
+ }
1484
+ }
1485
+ }
1486
+ if (!anyParamRedacted) {
1487
+ return url;
1488
+ }
1489
+ return baseUrl + resultParts.join("&") + fragment;
1490
+ }
1491
+ function fieldRedaction(input, config) {
1492
+ if (!input || input[_DYN_INDEX_OF ](" ") !== -1) {
1493
+ return input;
1494
+ }
1495
+ var isRedactionDisabled = config && config.redactUrls === false;
1496
+ if (isRedactionDisabled) {
1497
+ return input;
1498
+ }
1499
+ var hasCredentials = strIndexOf(input, "@") !== -1;
1500
+ var hasQueryParams = strIndexOf(input, "?") !== -1;
1501
+ if (!hasCredentials && !hasQueryParams) {
1502
+ return input;
1503
+ }
1504
+ try {
1505
+ var result = input;
1506
+ if (hasCredentials) {
1507
+ result = redactUserInfo(input);
1508
+ }
1509
+ if (hasQueryParams) {
1510
+ result = redactQueryParameters(result, config);
1511
+ }
1512
+ return result;
1513
+ }
1514
+ catch (e) {
1515
+ return input;
1516
+ }
1517
+ }
1354
1518
 
1355
1519
  var UInt32Mask = 0x100000000;
1356
1520
  var MaxUInt32 = 0xffffffff;
@@ -1422,7 +1586,7 @@
1422
1586
  return result;
1423
1587
  }
1424
1588
 
1425
- var version = '3.4.0-nightlybeta3.2505-36';
1589
+ var version = '3.4.0-nightlybeta3.2507-23';
1426
1590
  var instanceName = "." + newId(6);
1427
1591
  var _dataUid = 0;
1428
1592
  function _canAcceptData(target) {
@@ -2088,6 +2252,307 @@
2088
2252
  return createDynamicConfig(config, null, logger)[_DYN_WATCH ](configHandler);
2089
2253
  }
2090
2254
 
2255
+ function generateW3CId() {
2256
+ var hexValues = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
2257
+ var oct = STR_EMPTY, tmp;
2258
+ for (var a = 0; a < 4; a++) {
2259
+ tmp = random32();
2260
+ oct +=
2261
+ hexValues[tmp & 0xF] +
2262
+ hexValues[tmp >> 4 & 0xF] +
2263
+ hexValues[tmp >> 8 & 0xF] +
2264
+ hexValues[tmp >> 12 & 0xF] +
2265
+ hexValues[tmp >> 16 & 0xF] +
2266
+ hexValues[tmp >> 20 & 0xF] +
2267
+ hexValues[tmp >> 24 & 0xF] +
2268
+ hexValues[tmp >> 28 & 0xF];
2269
+ }
2270
+ var clockSequenceHi = hexValues[8 + (random32() & 0x03) | 0];
2271
+ return strSubstr(oct, 0, 8) + strSubstr(oct, 9, 4) + "4" + strSubstr(oct, 13, 3) + clockSequenceHi + strSubstr(oct, 16, 3) + strSubstr(oct, 19, 12);
2272
+ }
2273
+
2274
+ var DEFAULT_VERSION = "00";
2275
+ var INVALID_VERSION = "ff";
2276
+ var INVALID_TRACE_ID = "00000000000000000000000000000000";
2277
+ var INVALID_SPAN_ID = "0000000000000000";
2278
+ function _isValid(value, len, invalidValue) {
2279
+ if (value && value[_DYN_LENGTH$2 ] === len && value !== invalidValue) {
2280
+ return !!value.match(/^[\da-f]*$/i);
2281
+ }
2282
+ return false;
2283
+ }
2284
+ function _formatValue(value, len, defValue) {
2285
+ if (_isValid(value, len)) {
2286
+ return value;
2287
+ }
2288
+ return defValue;
2289
+ }
2290
+ function _formatFlags(value) {
2291
+ if (isNaN(value) || value < 0 || value > 255) {
2292
+ value = 0x01;
2293
+ }
2294
+ var result = value.toString(16);
2295
+ while (result[_DYN_LENGTH$2 ] < 2) {
2296
+ result = "0" + result;
2297
+ }
2298
+ return result;
2299
+ }
2300
+ function createTraceParent(traceId, spanId, flags, version) {
2301
+ return {
2302
+ version: _isValid(version, 2, INVALID_VERSION) ? version : DEFAULT_VERSION,
2303
+ traceId: isValidTraceId(traceId) ? traceId : generateW3CId(),
2304
+ spanId: isValidSpanId(spanId) ? spanId : strLeft(generateW3CId(), 16),
2305
+ traceFlags: (!isNullOrUndefined(flags) && flags >= 0 && flags <= 0xFF ? flags : 1 )
2306
+ };
2307
+ }
2308
+ function isValidTraceId(value) {
2309
+ return _isValid(value, 32, INVALID_TRACE_ID);
2310
+ }
2311
+ function isValidSpanId(value) {
2312
+ return _isValid(value, 16, INVALID_SPAN_ID);
2313
+ }
2314
+ function formatTraceParent(value) {
2315
+ if (value) {
2316
+ var flags = _formatFlags(value[_DYN_TRACE_FLAGS$2 ]);
2317
+ if (!_isValid(flags, 2)) {
2318
+ flags = "01";
2319
+ }
2320
+ var version = value[_DYN_VERSION ] || DEFAULT_VERSION;
2321
+ if (version !== "00" && version !== "ff") {
2322
+ version = DEFAULT_VERSION;
2323
+ }
2324
+ 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());
2325
+ }
2326
+ return STR_EMPTY;
2327
+ }
2328
+
2329
+ var MAX_TRACE_STATE_MEMBERS = 32;
2330
+ var MAX_TRACE_STATE_LEN = 512;
2331
+ var LCALPHA = "[a-z]";
2332
+ var LCALPHA_DIGIT = "[a-z\\d]";
2333
+ var LCALPHA_DIGIT_UNDERSCORE_DASH_STAR_SLASH = "[a-z\\d_\\-*\\/]";
2334
+ var SIMPLE_KEY = "(" + LCALPHA + LCALPHA_DIGIT_UNDERSCORE_DASH_STAR_SLASH + "{0,255})";
2335
+ var TENANT_ID = "(" + LCALPHA_DIGIT + LCALPHA_DIGIT_UNDERSCORE_DASH_STAR_SLASH + "{0,240})";
2336
+ var SYSTEM_ID = "(" + LCALPHA + LCALPHA_DIGIT_UNDERSCORE_DASH_STAR_SLASH + "{0,13})";
2337
+ var MULTI_TENANT_KEY = "(" + TENANT_ID + "@" + SYSTEM_ID + ")";
2338
+ var NBLK_CHAR = "\x21-\x2B\\--\x3C\x3E-\x7E";
2339
+ var TRACESTATE_VALUE = "[\x20" + NBLK_CHAR + "]{0,255}[" + NBLK_CHAR + "]";
2340
+ var TRACESTATE_KVP_REGEX = new RegExp("^\\s*((?:" + SIMPLE_KEY + "|" + MULTI_TENANT_KEY + ")=(" + TRACESTATE_VALUE + "))\\s*$");
2341
+ function _parseListMember(value) {
2342
+ if (value) {
2343
+ TRACESTATE_KVP_REGEX.lastIndex = 0;
2344
+ var match = TRACESTATE_KVP_REGEX.exec(value);
2345
+ if (match && match[_DYN_LENGTH$2 ] >= 7 && match[1] && match[6]) {
2346
+ var type = match[3] ? 1 : 0 ;
2347
+ var multiTenant = null;
2348
+ if (type === 1 ) {
2349
+ multiTenant = {
2350
+ tenantId: match[4],
2351
+ systemId: match[5]
2352
+ };
2353
+ }
2354
+ var parts = {
2355
+ type: type,
2356
+ key: match[2],
2357
+ multiTenant: multiTenant,
2358
+ value: match[6]
2359
+ };
2360
+ return parts;
2361
+ }
2362
+ }
2363
+ return null;
2364
+ }
2365
+ function _parseTraceStateList(value) {
2366
+ var items = [];
2367
+ if (value) {
2368
+ var addedKeys_1 = [];
2369
+ arrForEach(strSplit(value, ","), function (member) {
2370
+ var parts = _parseListMember(member);
2371
+ if (parts) {
2372
+ if (arrIndexOf(addedKeys_1, parts.key) === -1) {
2373
+ items[_DYN_PUSH ](parts);
2374
+ addedKeys_1[_DYN_PUSH ](parts.key);
2375
+ if (items[_DYN_LENGTH$2 ] >= MAX_TRACE_STATE_MEMBERS) {
2376
+ return -1;
2377
+ }
2378
+ }
2379
+ }
2380
+ });
2381
+ }
2382
+ return items;
2383
+ }
2384
+ function _indexOf$1(items, key) {
2385
+ for (var lp = 0; lp < items[_DYN_LENGTH$2 ]; lp++) {
2386
+ if (items[lp].key === key) {
2387
+ return lp;
2388
+ }
2389
+ }
2390
+ return -1;
2391
+ }
2392
+ function _keys(items, parent) {
2393
+ var keys = [];
2394
+ var delKeys = [];
2395
+ arrForEach(items, function (member) {
2396
+ if (member[_DYN_VALUE ] != null) {
2397
+ keys[_DYN_PUSH ](member.key);
2398
+ }
2399
+ else {
2400
+ delKeys[_DYN_PUSH ](member.key);
2401
+ }
2402
+ });
2403
+ if (parent) {
2404
+ arrForEach(parent.keys, function (key) {
2405
+ if (arrIndexOf(keys, key) === -1 && arrIndexOf(delKeys, key) === -1) {
2406
+ keys[_DYN_PUSH ](key);
2407
+ }
2408
+ });
2409
+ }
2410
+ return keys;
2411
+ }
2412
+ function _isEmpty(items, parent) {
2413
+ var delKeys;
2414
+ var isEmpty = true;
2415
+ if (items && items[_DYN_LENGTH$2 ] > 0) {
2416
+ arrForEach(items, function (member) {
2417
+ if (member[_DYN_VALUE ] != null) {
2418
+ isEmpty = false;
2419
+ }
2420
+ else {
2421
+ if (!delKeys) {
2422
+ delKeys = [];
2423
+ }
2424
+ delKeys[_DYN_PUSH ](member.key);
2425
+ }
2426
+ });
2427
+ }
2428
+ if (isEmpty && parent) {
2429
+ isEmpty = parent.isEmpty;
2430
+ if (!isEmpty && delKeys && delKeys[_DYN_LENGTH$2 ] > 0) {
2431
+ isEmpty = true;
2432
+ arrForEach(parent.keys, function (key) {
2433
+ if (arrIndexOf(delKeys, key) === -1) {
2434
+ isEmpty = false;
2435
+ return -1;
2436
+ }
2437
+ });
2438
+ }
2439
+ }
2440
+ return isEmpty;
2441
+ }
2442
+ function createW3cTraceState(value, parent) {
2443
+ var cachedItems = createDeferredCachedValue(function () { return safe(_parseTraceStateList, [value || STR_EMPTY]).v || []; });
2444
+ function _get(key) {
2445
+ var value;
2446
+ var theItems = cachedItems.v;
2447
+ var idx = _indexOf$1(theItems, key);
2448
+ if (idx !== -1) {
2449
+ var itmValue = theItems[idx][_DYN_VALUE ];
2450
+ if (itmValue != null) {
2451
+ value = itmValue;
2452
+ }
2453
+ }
2454
+ else if (parent) {
2455
+ value = parent.get(key);
2456
+ }
2457
+ return value;
2458
+ }
2459
+ function _setMember(member) {
2460
+ if (member) {
2461
+ var theItems = cachedItems.v;
2462
+ var idx = _indexOf$1(theItems, member.key);
2463
+ if (idx !== -1) {
2464
+ theItems[_DYN_SPLICE ](idx, 1);
2465
+ }
2466
+ theItems.unshift(member);
2467
+ cachedItems = createCachedValue(theItems);
2468
+ return 0;
2469
+ }
2470
+ return -1;
2471
+ }
2472
+ function _set(key, value) {
2473
+ var member;
2474
+ if (key && isString(key) && !isNullOrUndefined(value) && isString(value)) {
2475
+ member = _parseListMember(key + "=" + value);
2476
+ }
2477
+ return _setMember(member);
2478
+ }
2479
+ function _del(key) {
2480
+ _setMember({
2481
+ type: 2 ,
2482
+ key: key
2483
+ });
2484
+ }
2485
+ function _headers(maxHeaders, maxKeys, maxLen) {
2486
+ var results = [];
2487
+ var result = STR_EMPTY;
2488
+ var numKeys = 0;
2489
+ var len = 0;
2490
+ maxKeys = maxKeys || MAX_TRACE_STATE_MEMBERS;
2491
+ maxLen = maxLen || MAX_TRACE_STATE_LEN;
2492
+ var theItems = cachedItems.v;
2493
+ arrForEach(_keys(theItems, parent), function (key) {
2494
+ var value = _get(key);
2495
+ if (!isNullOrUndefined(value) && isString(value)) {
2496
+ numKeys++;
2497
+ var val = key + "=" + value;
2498
+ var valLen = val[_DYN_LENGTH$2 ];
2499
+ if (len + 1 + valLen >= maxLen) {
2500
+ results[_DYN_PUSH ](result);
2501
+ if (maxHeaders && results[_DYN_LENGTH$2 ] <= maxHeaders) {
2502
+ return -1;
2503
+ }
2504
+ result = STR_EMPTY;
2505
+ len = 0;
2506
+ }
2507
+ if (result[_DYN_LENGTH$2 ] > 0) {
2508
+ result += ",";
2509
+ len++;
2510
+ }
2511
+ result += val;
2512
+ len += valLen;
2513
+ if (numKeys >= maxKeys) {
2514
+ return -1;
2515
+ }
2516
+ }
2517
+ });
2518
+ if (result) {
2519
+ results[_DYN_PUSH ](result);
2520
+ }
2521
+ return results;
2522
+ }
2523
+ var traceStateList = {
2524
+ keys: [],
2525
+ isEmpty: false,
2526
+ get: _get,
2527
+ set: _set,
2528
+ del: _del,
2529
+ hdrs: _headers,
2530
+ child: function () { return createW3cTraceState(null, traceStateList); }
2531
+ };
2532
+ function _toString() {
2533
+ var headers = traceStateList.hdrs(1);
2534
+ return headers[_DYN_LENGTH$2 ] > 0 ? headers[0] : STR_EMPTY;
2535
+ }
2536
+ objDefineProps(traceStateList, {
2537
+ "keys": {
2538
+ g: function () { return _keys(cachedItems.v, parent); }
2539
+ },
2540
+ "isEmpty": {
2541
+ g: function () { return _isEmpty(cachedItems.v, parent); }
2542
+ },
2543
+ "toString": {
2544
+ v: _toString,
2545
+ e: false
2546
+ },
2547
+ "_p": {
2548
+ v: parent,
2549
+ e: false
2550
+ }
2551
+ });
2552
+ objDefine(traceStateList, getKnownSymbol(11 ), { g: _toString });
2553
+ return traceStateList;
2554
+ }
2555
+
2091
2556
  var _aiNamespace = null;
2092
2557
  function _getExtensionNamespace() {
2093
2558
  var target = getInst("Microsoft");
@@ -2398,83 +2863,151 @@
2398
2863
  return func();
2399
2864
  }
2400
2865
 
2401
- function generateW3CId() {
2402
- var hexValues = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
2403
- var oct = STR_EMPTY, tmp;
2404
- for (var a = 0; a < 4; a++) {
2405
- tmp = random32();
2406
- oct +=
2407
- hexValues[tmp & 0xF] +
2408
- hexValues[tmp >> 4 & 0xF] +
2409
- hexValues[tmp >> 8 & 0xF] +
2410
- hexValues[tmp >> 12 & 0xF] +
2411
- hexValues[tmp >> 16 & 0xF] +
2412
- hexValues[tmp >> 20 & 0xF] +
2413
- hexValues[tmp >> 24 & 0xF] +
2414
- hexValues[tmp >> 28 & 0xF];
2415
- }
2416
- var clockSequenceHi = hexValues[8 + (random32() & 0x03) | 0];
2417
- return strSubstr(oct, 0, 8) + strSubstr(oct, 9, 4) + "4" + strSubstr(oct, 13, 3) + clockSequenceHi + strSubstr(oct, 16, 3) + strSubstr(oct, 19, 12);
2866
+ var pluginStateData = createElmNodeData("plugin");
2867
+ function _getPluginState(plugin) {
2868
+ return pluginStateData.get(plugin, "state", {}, true);
2418
2869
  }
2419
-
2420
- var DEFAULT_VERSION = "00";
2421
- var INVALID_VERSION = "ff";
2422
- var INVALID_TRACE_ID = "00000000000000000000000000000000";
2423
- var INVALID_SPAN_ID = "0000000000000000";
2424
- function _isValid(value, len, invalidValue) {
2425
- if (value && value[_DYN_LENGTH$2 ] === len && value !== invalidValue) {
2426
- return !!value.match(/^[\da-f]*$/i);
2870
+ function isDistributedTraceContext(obj) {
2871
+ return obj &&
2872
+ isFunction(obj.getName) &&
2873
+ isFunction(obj.getTraceId) &&
2874
+ isFunction(obj.getSpanId) &&
2875
+ isFunction(obj.getTraceFlags) &&
2876
+ isFunction(obj.setName) &&
2877
+ isFunction(obj.setTraceId) &&
2878
+ isFunction(obj.setSpanId) &&
2879
+ isFunction(obj[_DYN_SET_TRACE_FLAGS ]);
2880
+ }
2881
+ function createDistributedTraceContext(parent) {
2882
+ var _a;
2883
+ var parentCtx = null;
2884
+ var spanContext = null;
2885
+ var traceId = (parent && isValidTraceId(parent[_DYN_TRACE_ID$1 ])) ? parent[_DYN_TRACE_ID$1 ] : generateW3CId();
2886
+ var spanId = (parent && isValidSpanId(parent[_DYN_SPAN_ID$1 ])) ? parent[_DYN_SPAN_ID$1 ] : STR_EMPTY;
2887
+ var traceFlags = parent ? parent[_DYN_TRACE_FLAGS$2 ] : UNDEFINED_VALUE;
2888
+ var isRemote = parent ? parent.isRemote : false;
2889
+ var pageName = STR_EMPTY;
2890
+ var traceState = null;
2891
+ if (parent) {
2892
+ if (isDistributedTraceContext(parent)) {
2893
+ parentCtx = parent;
2894
+ pageName = parentCtx.getName();
2895
+ }
2896
+ else {
2897
+ spanContext = parent;
2898
+ }
2427
2899
  }
2428
- return false;
2429
- }
2430
- function _formatValue(value, len, defValue) {
2431
- if (_isValid(value, len)) {
2432
- return value;
2900
+ if (!pageName) {
2901
+ pageName = "_unknown_";
2902
+ var location_1 = getLocation();
2903
+ if (location_1 && location_1.pathname) {
2904
+ pageName = location_1.pathname + (location_1.hash || "");
2905
+ }
2433
2906
  }
2434
- return defValue;
2435
- }
2436
- function _formatFlags(value) {
2437
- if (isNaN(value) || value < 0 || value > 255) {
2438
- value = 0x01;
2907
+ function _getName() {
2908
+ return pageName;
2439
2909
  }
2440
- var result = value.toString(16);
2441
- while (result[_DYN_LENGTH$2 ] < 2) {
2442
- result = "0" + result;
2910
+ function _setPageNameFn(updateParent) {
2911
+ return function (newValue) {
2912
+ if (updateParent) {
2913
+ parentCtx && parentCtx.setName(newValue);
2914
+ }
2915
+ pageName = newValue;
2916
+ };
2443
2917
  }
2444
- return result;
2445
- }
2446
- function createTraceParent(traceId, spanId, flags, version) {
2447
- return {
2448
- version: _isValid(version, 2, INVALID_VERSION) ? version : DEFAULT_VERSION,
2449
- traceId: isValidTraceId(traceId) ? traceId : generateW3CId(),
2450
- spanId: isValidSpanId(spanId) ? spanId : strLeft(generateW3CId(), 16),
2451
- traceFlags: flags >= 0 && flags <= 0xFF ? flags : 1
2452
- };
2453
- }
2454
- function isValidTraceId(value) {
2455
- return _isValid(value, 32, INVALID_TRACE_ID);
2456
- }
2457
- function isValidSpanId(value) {
2458
- return _isValid(value, 16, INVALID_SPAN_ID);
2459
- }
2460
- function formatTraceParent(value) {
2461
- if (value) {
2462
- var flags = _formatFlags(value[_DYN_TRACE_FLAGS$1 ]);
2463
- if (!_isValid(flags, 2)) {
2464
- flags = "01";
2465
- }
2466
- var version = value[_DYN_VERSION ] || DEFAULT_VERSION;
2467
- if (version !== "00" && version !== "ff") {
2468
- version = DEFAULT_VERSION;
2918
+ function _getTraceId() {
2919
+ return traceId;
2920
+ }
2921
+ function _setTraceIdFn(updateParent) {
2922
+ return function (newValue) {
2923
+ if (updateParent) {
2924
+ parentCtx && parentCtx.setTraceId(newValue);
2925
+ }
2926
+ if (isValidTraceId(newValue)) {
2927
+ traceId = newValue;
2928
+ }
2929
+ };
2930
+ }
2931
+ function _getSpanId() {
2932
+ return spanId;
2933
+ }
2934
+ function _setSpanIdFn(updateParent) {
2935
+ return function (newValue) {
2936
+ if (updateParent) {
2937
+ parentCtx && parentCtx.setSpanId(newValue);
2938
+ }
2939
+ if (isValidSpanId(newValue)) {
2940
+ spanId = newValue;
2941
+ }
2942
+ };
2943
+ }
2944
+ function _getTraceFlags() {
2945
+ return traceFlags;
2946
+ }
2947
+ function _setTraceFlagsFn(updateParent) {
2948
+ return function (newTraceFlags) {
2949
+ if (updateParent) {
2950
+ parentCtx && parentCtx[_DYN_SET_TRACE_FLAGS ](newTraceFlags);
2951
+ }
2952
+ traceFlags = newTraceFlags;
2953
+ };
2954
+ }
2955
+ function _getTraceState() {
2956
+ if (!traceState) {
2957
+ if (spanContext && spanContext[_DYN_TRACE_STATE$1 ]) {
2958
+ traceState = createW3cTraceState(spanContext[_DYN_TRACE_STATE$1 ].serialize() || STR_EMPTY, parentCtx ? parentCtx[_DYN_TRACE_STATE$1 ] : undefined);
2959
+ }
2960
+ else {
2961
+ traceState = createW3cTraceState(STR_EMPTY, parentCtx ? parentCtx[_DYN_TRACE_STATE$1 ] : undefined);
2962
+ }
2469
2963
  }
2470
- 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());
2964
+ return traceState;
2471
2965
  }
2472
- return "";
2473
- }
2474
-
2475
- var pluginStateData = createElmNodeData("plugin");
2476
- function _getPluginState(plugin) {
2477
- return pluginStateData.get(plugin, "state", {}, true);
2966
+ var traceCtx = (_a = {
2967
+ getName: _getName,
2968
+ setName: _setPageNameFn(true),
2969
+ getTraceId: _getTraceId,
2970
+ setTraceId: _setTraceIdFn(true),
2971
+ getSpanId: _getSpanId,
2972
+ setSpanId: _setSpanIdFn(true),
2973
+ getTraceFlags: _getTraceFlags
2974
+ },
2975
+ _a[_DYN_SET_TRACE_FLAGS ] = _setTraceFlagsFn(true),
2976
+ _a.traceId = traceId,
2977
+ _a.spanId = spanId,
2978
+ _a.traceFlags = traceFlags,
2979
+ _a.traceState = traceState,
2980
+ _a.isRemote = isRemote,
2981
+ _a.pageName = pageName,
2982
+ _a);
2983
+ return objDefineProps(traceCtx, {
2984
+ pageName: {
2985
+ g: _getName,
2986
+ s: _setPageNameFn(false)
2987
+ },
2988
+ traceId: {
2989
+ g: _getTraceId,
2990
+ s: _setTraceIdFn(false)
2991
+ },
2992
+ spanId: {
2993
+ g: _getSpanId,
2994
+ s: _setSpanIdFn(false)
2995
+ },
2996
+ traceFlags: {
2997
+ g: _getTraceFlags,
2998
+ s: _setTraceFlagsFn(false)
2999
+ },
3000
+ isRemote: {
3001
+ v: isRemote,
3002
+ w: false
3003
+ },
3004
+ traceState: {
3005
+ g: _getTraceState
3006
+ },
3007
+ parentCtx: {
3008
+ g: function () { return parentCtx; }
3009
+ }
3010
+ });
2478
3011
  }
2479
3012
 
2480
3013
  var strTelemetryPluginChain = "TelemetryPluginChain";
@@ -2560,27 +3093,26 @@
2560
3093
  }
2561
3094
  function _getExtCfg(identifier, createIfMissing) {
2562
3095
  var idCfg = null;
2563
- var cfg = dynamicHandler.cfg;
3096
+ var extCfg = _getCfg(dynamicHandler.cfg, "extensionConfig", createIfMissing);
3097
+ if (extCfg) {
3098
+ idCfg = _getCfg(extCfg, identifier, createIfMissing);
3099
+ }
3100
+ return idCfg;
3101
+ }
3102
+ function _getCfg(cfg, identifier, createIfMissing) {
3103
+ var idCfg = null;
2564
3104
  if (cfg && identifier) {
2565
- var extCfg = cfg[STR_EXTENSION_CONFIG ];
2566
- if (!extCfg && createIfMissing) {
2567
- extCfg = {};
2568
- }
2569
- cfg[STR_EXTENSION_CONFIG] = extCfg;
2570
- extCfg = dynamicHandler.ref(cfg, STR_EXTENSION_CONFIG);
2571
- if (extCfg) {
2572
- idCfg = extCfg[identifier];
2573
- if (!idCfg && createIfMissing) {
2574
- idCfg = {};
2575
- }
2576
- extCfg[identifier] = idCfg;
2577
- idCfg = dynamicHandler.ref(extCfg, identifier);
3105
+ idCfg = cfg[identifier];
3106
+ if (!idCfg && createIfMissing) {
3107
+ idCfg = {};
2578
3108
  }
3109
+ cfg[identifier] = idCfg;
3110
+ idCfg = dynamicHandler.ref(cfg, identifier);
2579
3111
  }
2580
3112
  return idCfg;
2581
3113
  }
2582
- function _resolveExtCfg(identifier, defaultValues) {
2583
- var newConfig = _getExtCfg(identifier, true);
3114
+ function _resolveExtCfg(identifier, defaultValues, rootOnly) {
3115
+ var newConfig = rootOnly ? _getCfg(dynamicHandler.cfg, identifier, true) : _getExtCfg(identifier, true);
2584
3116
  if (defaultValues) {
2585
3117
  objForEachKey(defaultValues, function (field, defaultValue) {
2586
3118
  if (isNullOrUndefined(newConfig[field])) {
@@ -3289,7 +3821,7 @@
3289
3821
  var strNotSpecified = "not_specified";
3290
3822
  var strIkey = "iKey";
3291
3823
 
3292
- var RequestHeaders = createValueMap({
3824
+ var RequestHeaders = ( /* @__PURE__ */createValueMap({
3293
3825
  requestContextHeader: [0 , "Request-Context"],
3294
3826
  requestContextTargetKey: [1 , "appId"],
3295
3827
  requestContextAppIdFormat: [2 , "appId=cid-v1:"],
@@ -3299,7 +3831,7 @@
3299
3831
  sdkContextHeader: [6 , "Sdk-Context"],
3300
3832
  sdkContextHeaderAppIdRequest: [7 , "appId"],
3301
3833
  requestContextHeaderLowerCase: [8 , "request-context"]
3302
- });
3834
+ }));
3303
3835
 
3304
3836
  var _DYN_SPLIT = "split";
3305
3837
  var _DYN_LENGTH$1 = "length";
@@ -3309,6 +3841,7 @@
3309
3841
  var _DYN_MATCH = "match";
3310
3842
  var _DYN_CORRELATION_HEADER_E0 = "correlationHeaderExcludePatterns";
3311
3843
  var _DYN_NAME = "name";
3844
+ var _DYN_TRACE_FLAGS$1 = "traceFlags";
3312
3845
  var _DYN_PROPERTIES = "properties";
3313
3846
  var _DYN_MEASUREMENTS = "measurements";
3314
3847
  var _DYN_DURATION = "duration";
@@ -3351,7 +3884,10 @@
3351
3884
  }
3352
3885
  return valueTrunc || value;
3353
3886
  }
3354
- function dataSanitizeUrl(logger, url) {
3887
+ function dataSanitizeUrl(logger, url, config) {
3888
+ if (isString(url)) {
3889
+ url = fieldRedaction(url, config);
3890
+ }
3355
3891
  return dataSanitizeInput(logger, url, 2048 , 66 );
3356
3892
  }
3357
3893
  function dataSanitizeProperties(logger, properties) {
@@ -3584,41 +4120,14 @@
3584
4120
  return result;
3585
4121
  }
3586
4122
  function createDistributedTraceContextFromTrace(telemetryTrace, parentCtx) {
3587
- var trace = telemetryTrace || {};
3588
- return {
3589
- getName: function () {
3590
- return trace[_DYN_NAME ];
3591
- },
3592
- setName: function (newValue) {
3593
- parentCtx && parentCtx.setName(newValue);
3594
- trace[_DYN_NAME ] = newValue;
3595
- },
3596
- getTraceId: function () {
3597
- return trace.traceID;
3598
- },
3599
- setTraceId: function (newValue) {
3600
- parentCtx && parentCtx.setTraceId(newValue);
3601
- if (isValidTraceId(newValue)) {
3602
- trace.traceID = newValue;
3603
- }
3604
- },
3605
- getSpanId: function () {
3606
- return trace.parentID;
3607
- },
3608
- setSpanId: function (newValue) {
3609
- parentCtx && parentCtx.setSpanId(newValue);
3610
- if (isValidSpanId(newValue)) {
3611
- trace.parentID = newValue;
3612
- }
3613
- },
3614
- getTraceFlags: function () {
3615
- return trace.traceFlags;
3616
- },
3617
- setTraceFlags: function (newTraceFlags) {
3618
- parentCtx && parentCtx.setTraceFlags(newTraceFlags);
3619
- trace.traceFlags = newTraceFlags;
3620
- }
3621
- };
4123
+ var traceCtx = createDistributedTraceContext(parentCtx);
4124
+ if (telemetryTrace) {
4125
+ traceCtx.pageName = telemetryTrace[_DYN_NAME ] || traceCtx.pageName || "";
4126
+ traceCtx.traceId = telemetryTrace.traceID || traceCtx.traceId || "";
4127
+ traceCtx.spanId = telemetryTrace.parentID || traceCtx.spanId || "";
4128
+ traceCtx[_DYN_TRACE_FLAGS$1 ] = (!isNullOrUndefined(telemetryTrace[_DYN_TRACE_FLAGS$1 ]) ? telemetryTrace[_DYN_TRACE_FLAGS$1 ] : traceCtx[_DYN_TRACE_FLAGS$1 ]) || 0;
4129
+ }
4130
+ return traceCtx;
3622
4131
  }
3623
4132
 
3624
4133
  var strEmpty = "";
@@ -3816,11 +4325,12 @@
3816
4325
 
3817
4326
  var _DYN_REQUEST_URL = "requestUrl";
3818
4327
  var _DYN_LENGTH = "length";
3819
- var _DYN_TRACE_ID = "traceID";
3820
- var _DYN_SPAN_ID = "spanID";
4328
+ var _DYN_ABORTED = "aborted";
4329
+ var _DYN_TRACE_ID = "traceId";
4330
+ var _DYN_SPAN_ID = "spanId";
3821
4331
  var _DYN_TRACE_FLAGS = "traceFlags";
4332
+ var _DYN_TRACE_STATE = "traceState";
3822
4333
  var _DYN_CONTEXT = "context";
3823
- var _DYN_ABORTED = "aborted";
3824
4334
  var _DYN__ADD_HOOK = "_addHook";
3825
4335
  var _DYN_CORE = "core";
3826
4336
  var _DYN_INCLUDE_CORRELATION_0 = "includeCorrelationHeaders";
@@ -3844,8 +4354,6 @@
3844
4354
  var _DYN_STATUS_TEXT = "statusText";
3845
4355
  var _DYN_HEADER_MAP = "headerMap";
3846
4356
  var _DYN_REQUEST_SENT_TIME = "requestSentTime";
3847
- var _DYN_GET_TRACE_ID = "getTraceId";
3848
- var _DYN_GET_TRACE_FLAGS = "getTraceFlags";
3849
4357
  var _DYN_METHOD = "method";
3850
4358
  var _DYN_ERROR_STATUS_TEXT = "errorStatusText";
3851
4359
  var _DYN_STATE_CHANGE_ATTACHE11 = "stateChangeAttached";
@@ -3853,13 +4361,10 @@
3853
4361
  var _DYN_RESPONSE_FINISHED_TI12 = "responseFinishedTime";
3854
4362
  var _DYN__CREATE_TRACK_ITEM = "CreateTrackItem";
3855
4363
  var _DYN_GET_ALL_RESPONSE_HEA13 = "getAllResponseHeaders";
3856
- var _DYN_GET_PART_APROPS = "getPartAProps";
3857
- var _DYN_PERF_MARK = "perfMark";
3858
4364
  var _DYN_PERF_TIMING = "perfTiming";
3859
4365
  var _DYN_AJAX_DIAGNOSTICS_MES14 = "ajaxDiagnosticsMessage";
3860
4366
  var _DYN_CORRELATION_CONTEXT = "correlationContext";
3861
4367
  var _DYN_AJAX_TOTAL_DURATION = "ajaxTotalDuration";
3862
- var _DYN_EVENT_TRACE_CTX = "eventTraceCtx";
3863
4368
 
3864
4369
  function _calcPerfDuration(resourceEntry, start, end) {
3865
4370
  var result = 0;
@@ -3954,7 +4459,7 @@
3954
4459
  propsSet |= _setPerfValue(props, strDecodedBodySize, resourceEntry[strDecodedBodySize]);
3955
4460
  }
3956
4461
  else {
3957
- if (ajaxData[_DYN_PERF_MARK ]) {
4462
+ if (ajaxData.perfMark) {
3958
4463
  propsSet |= _setPerfValue(props, "missing", ajaxData.perfAttempts);
3959
4464
  }
3960
4465
  }
@@ -3962,144 +4467,130 @@
3962
4467
  dependency[STR_PROPERTIES ] = props;
3963
4468
  }
3964
4469
  }
3965
- var XHRMonitoringState = /** @class */ (function () {
3966
- function XHRMonitoringState() {
3967
- var self = this;
3968
- self.openDone = false;
3969
- self.setRequestHeaderDone = false;
3970
- self.sendDone = false;
3971
- self.abortDone = false;
3972
- self[_DYN_STATE_CHANGE_ATTACHE11 ] = false;
3973
- }
3974
- return XHRMonitoringState;
3975
- }());
3976
- var ajaxRecord = /** @class */ (function () {
3977
- function ajaxRecord(traceId, spanId, logger, traceCtx) {
3978
- var self = this;
3979
- var _logger = logger;
3980
- var strResponseText = "responseText";
3981
- self[_DYN_PERF_MARK ] = null;
3982
- self.completed = false;
3983
- self.requestHeadersSize = null;
3984
- self[_DYN_REQUEST_HEADERS ] = null;
3985
- self.responseReceivingDuration = null;
3986
- self.callbackDuration = null;
3987
- self[_DYN_AJAX_TOTAL_DURATION ] = null;
3988
- self[_DYN_ABORTED ] = 0;
3989
- self.pageUrl = null;
3990
- self[_DYN_REQUEST_URL ] = null;
3991
- self.requestSize = 0;
3992
- self[_DYN_METHOD ] = null;
3993
- self[_DYN_STATUS ] = null;
3994
- self[_DYN_REQUEST_SENT_TIME ] = null;
3995
- self.responseStartedTime = null;
3996
- self[_DYN_RESPONSE_FINISHED_TI12 ] = null;
3997
- self.callbackFinishedTime = null;
3998
- self.endTime = null;
3999
- self.xhrMonitoringState = new XHRMonitoringState();
4000
- self.clientFailure = 0;
4001
- self[_DYN_TRACE_ID ] = traceId;
4002
- self[_DYN_SPAN_ID ] = spanId;
4003
- self[_DYN_TRACE_FLAGS ] = traceCtx === null || traceCtx === void 0 ? void 0 : traceCtx.getTraceFlags();
4004
- if (traceCtx) {
4005
- self[_DYN_EVENT_TRACE_CTX ] = {
4006
- traceId: traceCtx[_DYN_GET_TRACE_ID ](),
4007
- spanId: traceCtx.getSpanId(),
4008
- traceFlags: traceCtx[_DYN_GET_TRACE_FLAGS ]()
4009
- };
4010
- }
4011
- else {
4012
- self[_DYN_EVENT_TRACE_CTX ] = null;
4013
- }
4014
- dynamicProto(ajaxRecord, self, function (self) {
4015
- self.getAbsoluteUrl = function () {
4016
- return self[_DYN_REQUEST_URL ] ? urlGetAbsoluteUrl(self[_DYN_REQUEST_URL ]) : null;
4017
- };
4018
- self.getPathName = function () {
4019
- return self[_DYN_REQUEST_URL ] ? dataSanitizeUrl(_logger, urlGetCompleteUrl(self[_DYN_METHOD ], self[_DYN_REQUEST_URL ])) : null;
4020
- };
4021
- self[_DYN__CREATE_TRACK_ITEM ] = function (ajaxType, enableRequestHeaderTracking, getResponse) {
4022
- var _a;
4023
- self.ajaxTotalDuration = mathRound(dateTimeUtilsDuration(self.requestSentTime, self.responseFinishedTime) * 1000) / 1000;
4024
- if (self[_DYN_AJAX_TOTAL_DURATION ] < 0) {
4025
- return null;
4026
- }
4027
- var dependency = (_a = {
4028
- id: "|" + self[_DYN_TRACE_ID ] + "." + self[_DYN_SPAN_ID ],
4029
- target: self[_DYN_GET_ABSOLUTE_URL ](),
4030
- name: self.getPathName(),
4031
- type: ajaxType,
4032
- startTime: null,
4033
- duration: self[_DYN_AJAX_TOTAL_DURATION ],
4034
- success: (+(self[_DYN_STATUS ])) >= 200 && (+(self[_DYN_STATUS ])) < 400,
4035
- responseCode: (+(self[_DYN_STATUS ]))
4036
- },
4037
- _a[STR_PROPERTIES] = { HttpMethod: self[_DYN_METHOD ] },
4038
- _a);
4039
- var props = dependency[STR_PROPERTIES];
4040
- if (self[_DYN_ABORTED ]) {
4041
- props[_DYN_ABORTED ] = true;
4042
- }
4043
- if (self[_DYN_REQUEST_SENT_TIME ]) {
4044
- dependency[_DYN_START_TIME ] = new Date();
4045
- dependency[_DYN_START_TIME ].setTime(self[_DYN_REQUEST_SENT_TIME ]);
4046
- }
4047
- _populatePerfData(self, dependency);
4048
- if (enableRequestHeaderTracking) {
4049
- if (objKeys(self.requestHeaders)[_DYN_LENGTH ] > 0) {
4050
- props[_DYN_REQUEST_HEADERS ] = self[_DYN_REQUEST_HEADERS ];
4051
- }
4470
+ function createXHRMonitoringState() {
4471
+ var _a;
4472
+ return _a = {
4473
+ openDone: false,
4474
+ setRequestHeaderDone: false,
4475
+ sendDone: false,
4476
+ abortDone: false
4477
+ },
4478
+ _a[_DYN_STATE_CHANGE_ATTACHE11 ] = false,
4479
+ _a;
4480
+ }
4481
+ function createAjaxRecord(traceCtx, logger) {
4482
+ var _a;
4483
+ var _logger = logger;
4484
+ var ajaxRecord = (_a = {
4485
+ perfMark: null,
4486
+ completed: false,
4487
+ requestHeadersSize: null
4488
+ },
4489
+ _a[_DYN_REQUEST_HEADERS ] = null,
4490
+ _a.responseReceivingDuration = null,
4491
+ _a.callbackDuration = null,
4492
+ _a[_DYN_AJAX_TOTAL_DURATION ] = null,
4493
+ _a.aborted = 0,
4494
+ _a.pageUrl = null,
4495
+ _a.requestUrl = null,
4496
+ _a.requestSize = 0,
4497
+ _a.method = null,
4498
+ _a.status = null,
4499
+ _a[_DYN_REQUEST_SENT_TIME ] = null,
4500
+ _a.responseStartedTime = null,
4501
+ _a[_DYN_RESPONSE_FINISHED_TI12 ] = null,
4502
+ _a.callbackFinishedTime = null,
4503
+ _a.endTime = null,
4504
+ _a.xhrMonitoringState = createXHRMonitoringState(),
4505
+ _a.clientFailure = 0,
4506
+ _a.traceCtx = traceCtx,
4507
+ _a.perfTiming = null,
4508
+ _a[_DYN_GET_ABSOLUTE_URL ] = function () {
4509
+ return ajaxRecord[_DYN_REQUEST_URL ] ? urlGetAbsoluteUrl(ajaxRecord[_DYN_REQUEST_URL ]) : null;
4510
+ },
4511
+ _a.getPathName = function () {
4512
+ return ajaxRecord[_DYN_REQUEST_URL ] ? dataSanitizeUrl(_logger, urlGetCompleteUrl(ajaxRecord[_DYN_METHOD ], ajaxRecord[_DYN_REQUEST_URL ])) : null;
4513
+ },
4514
+ _a[_DYN__CREATE_TRACK_ITEM ] = function (ajaxType, enableRequestHeaderTracking, getResponse) {
4515
+ var _a;
4516
+ ajaxRecord.ajaxTotalDuration = mathRound(dateTimeUtilsDuration(ajaxRecord.requestSentTime, ajaxRecord.responseFinishedTime) * 1000) / 1000;
4517
+ if (ajaxRecord[_DYN_AJAX_TOTAL_DURATION ] < 0) {
4518
+ return null;
4519
+ }
4520
+ var dependency = (_a = {
4521
+ id: "|" + traceCtx[_DYN_TRACE_ID ] + "." + traceCtx[_DYN_SPAN_ID ],
4522
+ target: ajaxRecord[_DYN_GET_ABSOLUTE_URL ](),
4523
+ name: ajaxRecord.getPathName(),
4524
+ type: ajaxType,
4525
+ startTime: null,
4526
+ duration: ajaxRecord[_DYN_AJAX_TOTAL_DURATION ],
4527
+ success: (+(ajaxRecord[_DYN_STATUS ])) >= 200 && (+(ajaxRecord[_DYN_STATUS ])) < 400,
4528
+ responseCode: (+(ajaxRecord[_DYN_STATUS ]))
4529
+ },
4530
+ _a[STR_PROPERTIES] = { HttpMethod: ajaxRecord[_DYN_METHOD ] },
4531
+ _a);
4532
+ var props = dependency[STR_PROPERTIES];
4533
+ if (ajaxRecord[_DYN_ABORTED ]) {
4534
+ props[_DYN_ABORTED ] = true;
4535
+ }
4536
+ if (ajaxRecord[_DYN_REQUEST_SENT_TIME ]) {
4537
+ dependency[_DYN_START_TIME ] = new Date();
4538
+ dependency[_DYN_START_TIME ].setTime(ajaxRecord[_DYN_REQUEST_SENT_TIME ]);
4539
+ }
4540
+ _populatePerfData(this, dependency);
4541
+ if (enableRequestHeaderTracking) {
4542
+ if (objKeys(ajaxRecord.requestHeaders)[_DYN_LENGTH ] > 0) {
4543
+ props[_DYN_REQUEST_HEADERS ] = ajaxRecord[_DYN_REQUEST_HEADERS ];
4052
4544
  }
4053
- if (getResponse) {
4054
- var response = getResponse();
4055
- if (response) {
4056
- var correlationContext = response[_DYN_CORRELATION_CONTEXT ];
4057
- if (correlationContext) {
4058
- dependency.correlationContext = correlationContext;
4059
- }
4060
- if (response[_DYN_HEADER_MAP ]) {
4061
- if (objKeys(response.headerMap)[_DYN_LENGTH ] > 0) {
4062
- props.responseHeaders = response[_DYN_HEADER_MAP ];
4063
- }
4545
+ }
4546
+ if (getResponse) {
4547
+ var response = getResponse();
4548
+ if (response) {
4549
+ var correlationContext = response[_DYN_CORRELATION_CONTEXT ];
4550
+ if (correlationContext) {
4551
+ dependency.correlationContext = correlationContext;
4552
+ }
4553
+ if (response[_DYN_HEADER_MAP ]) {
4554
+ if (objKeys(response.headerMap)[_DYN_LENGTH ] > 0) {
4555
+ props.responseHeaders = response[_DYN_HEADER_MAP ];
4064
4556
  }
4065
- if (self[_DYN_ERROR_STATUS_TEXT ]) {
4066
- if (self[_DYN_STATUS ] >= 400) {
4067
- var responseType = response.type;
4068
- if (responseType === "" || responseType === "text") {
4069
- props.responseText = response.responseText ? response[_DYN_STATUS_TEXT ] + " - " + response[strResponseText] : response[_DYN_STATUS_TEXT ];
4070
- }
4071
- if (responseType === "json") {
4072
- props.responseText = response.response ? response[_DYN_STATUS_TEXT ] + " - " + JSON.stringify(response.response) : response[_DYN_STATUS_TEXT ];
4073
- }
4557
+ }
4558
+ if (ajaxRecord[_DYN_ERROR_STATUS_TEXT ]) {
4559
+ if ((+(ajaxRecord[_DYN_STATUS ])) >= 400) {
4560
+ var responseType = response.type;
4561
+ if (responseType === "" || responseType === "text") {
4562
+ props.responseText = response.responseText ? response[_DYN_STATUS_TEXT ] + " - " + response[_DYN_RESPONSE_TEXT ] : response[_DYN_STATUS_TEXT ];
4074
4563
  }
4075
- else if (self[_DYN_STATUS ] === 0) {
4076
- props.responseText = response[_DYN_STATUS_TEXT ] || "";
4564
+ if (responseType === "json") {
4565
+ props.responseText = response.response ? response[_DYN_STATUS_TEXT ] + " - " + JSON.stringify(response.response) : response[_DYN_STATUS_TEXT ];
4077
4566
  }
4078
4567
  }
4568
+ else if (ajaxRecord[_DYN_STATUS ] === 0) {
4569
+ props.responseText = response[_DYN_STATUS_TEXT ] || "";
4570
+ }
4079
4571
  }
4080
4572
  }
4081
- return dependency;
4082
- };
4083
- self[_DYN_GET_PART_APROPS ] = function () {
4084
- var partA = null;
4085
- var traceCtx = self[_DYN_EVENT_TRACE_CTX ];
4086
- if (traceCtx && (traceCtx.traceId || traceCtx.spanId)) {
4087
- partA = {};
4088
- var traceExt = partA[Extensions.TraceExt] = {
4089
- traceID: traceCtx.traceId,
4090
- parentID: traceCtx.spanId
4091
- };
4092
- if (!isNullOrUndefined(traceCtx[_DYN_TRACE_FLAGS ])) {
4093
- traceExt[_DYN_TRACE_FLAGS ] = traceCtx[_DYN_TRACE_FLAGS ];
4094
- }
4573
+ }
4574
+ return dependency;
4575
+ },
4576
+ _a.getPartAProps = function () {
4577
+ var partA = null;
4578
+ var parentCtx = ajaxRecord.traceCtx.parentCtx;
4579
+ if (parentCtx && (parentCtx[_DYN_TRACE_ID ] || parentCtx[_DYN_SPAN_ID ])) {
4580
+ partA = {};
4581
+ var traceExt = partA[Extensions.TraceExt] = {
4582
+ traceID: parentCtx[_DYN_TRACE_ID ],
4583
+ parentID: parentCtx[_DYN_SPAN_ID ]
4584
+ };
4585
+ if (!isNullOrUndefined(parentCtx[_DYN_TRACE_FLAGS ])) {
4586
+ traceExt[_DYN_TRACE_FLAGS ] = parentCtx[_DYN_TRACE_FLAGS ];
4095
4587
  }
4096
- return partA;
4097
- };
4098
- });
4099
- }
4100
- ajaxRecord.__ieDyn=1;
4588
+ }
4589
+ return partA;
4590
+ },
4591
+ _a);
4101
4592
  return ajaxRecord;
4102
- }());
4593
+ }
4103
4594
 
4104
4595
  var _a;
4105
4596
  var strDiagLog = "diagLog";
@@ -4259,22 +4750,44 @@
4259
4750
  var initializersCount = listeners[_DYN_LENGTH ];
4260
4751
  var result = true;
4261
4752
  if (initializersCount > 0) {
4753
+ var traceCtx_1 = ajaxData.traceCtx;
4262
4754
  var details = {
4263
4755
  core: core,
4264
4756
  xhr: xhr,
4265
4757
  input: input,
4266
4758
  init: init,
4267
- traceId: ajaxData[_DYN_TRACE_ID ],
4268
- spanId: ajaxData[_DYN_SPAN_ID ],
4269
- traceFlags: ajaxData[_DYN_TRACE_FLAGS ],
4270
- context: ajaxData[_DYN_CONTEXT ] || {},
4271
4759
  aborted: !!ajaxData[_DYN_ABORTED ]
4272
4760
  };
4761
+ objDefineProps(details, {
4762
+ "traceId": {
4763
+ g: function () { return traceCtx_1[_DYN_TRACE_ID ]; },
4764
+ s: function (value) {
4765
+ traceCtx_1[_DYN_TRACE_ID ] = value;
4766
+ }
4767
+ },
4768
+ "spanId": {
4769
+ g: function () { return traceCtx_1[_DYN_SPAN_ID ]; },
4770
+ s: function (value) {
4771
+ traceCtx_1[_DYN_SPAN_ID ] = value;
4772
+ }
4773
+ },
4774
+ "traceFlags": {
4775
+ g: function () { return traceCtx_1[_DYN_TRACE_FLAGS ]; },
4776
+ s: function (value) {
4777
+ traceCtx_1[_DYN_TRACE_FLAGS ] = value;
4778
+ }
4779
+ },
4780
+ "traceState": {
4781
+ g: function () { return traceCtx_1[_DYN_TRACE_STATE ]; }
4782
+ },
4783
+ "context": {
4784
+ g: function () { return ajaxData[_DYN_CONTEXT ] || {}; },
4785
+ s: function (value) {
4786
+ ajaxData[_DYN_CONTEXT ] = value;
4787
+ }
4788
+ }
4789
+ });
4273
4790
  result = _processDependencyContainer(core, listeners, details, "listener");
4274
- ajaxData[_DYN_TRACE_ID ] = details.traceId;
4275
- ajaxData[_DYN_SPAN_ID ] = details.spanId;
4276
- ajaxData[_DYN_TRACE_FLAGS ] = details[_DYN_TRACE_FLAGS ];
4277
- ajaxData[_DYN_CONTEXT ] = details[_DYN_CONTEXT ];
4278
4791
  }
4279
4792
  return result;
4280
4793
  }
@@ -4330,6 +4843,7 @@
4330
4843
  var _context;
4331
4844
  var _isUsingW3CHeaders;
4332
4845
  var _isUsingAIHeaders;
4846
+ var _isUsingW3CTraceState;
4333
4847
  var _markPrefix;
4334
4848
  var _enableAjaxPerfTracking;
4335
4849
  var _maxAjaxCallsPerView;
@@ -4377,41 +4891,65 @@
4377
4891
  if (!init) {
4378
4892
  init = {};
4379
4893
  }
4380
- var headers = new Headers(init[_DYN_HEADERS ] || (input instanceof Request ? (input[_DYN_HEADERS ] || {}) : {}));
4894
+ var traceCtx = ajaxData.traceCtx;
4895
+ var headers_1 = new Headers(init[_DYN_HEADERS ] || (input instanceof Request ? (input[_DYN_HEADERS ] || {}) : {}));
4381
4896
  if (_isUsingAIHeaders) {
4382
- var id = "|" + ajaxData[_DYN_TRACE_ID ] + "." + ajaxData[_DYN_SPAN_ID ];
4383
- headers.set(RequestHeaders[3 ], id);
4897
+ var id = "|" + traceCtx[_DYN_TRACE_ID ] + "." + traceCtx[_DYN_SPAN_ID ];
4898
+ headers_1.set(RequestHeaders[3 ], id);
4384
4899
  if (_enableRequestHeaderTracking) {
4385
4900
  ajaxData[_DYN_REQUEST_HEADERS ][RequestHeaders[3 ]] = id;
4386
4901
  }
4387
4902
  }
4388
4903
  var appId = _appId || (_context && _context.appId());
4389
4904
  if (appId) {
4390
- headers.set(RequestHeaders[0 ], RequestHeaders[2 ] + appId);
4905
+ headers_1.set(RequestHeaders[0 ], RequestHeaders[2 ] + appId);
4391
4906
  if (_enableRequestHeaderTracking) {
4392
4907
  ajaxData[_DYN_REQUEST_HEADERS ][RequestHeaders[0 ]] = RequestHeaders[2 ] + appId;
4393
4908
  }
4394
4909
  }
4395
4910
  if (_isUsingW3CHeaders) {
4396
- var traceFlags = ajaxData[_DYN_TRACE_FLAGS ];
4911
+ var traceFlags = traceCtx[_DYN_TRACE_FLAGS ];
4397
4912
  if (isNullOrUndefined(traceFlags)) {
4398
- traceFlags = 0x01;
4913
+ traceFlags = 1 ;
4399
4914
  }
4400
- var traceParent = formatTraceParent(createTraceParent(ajaxData[_DYN_TRACE_ID ], ajaxData[_DYN_SPAN_ID ], traceFlags));
4401
- headers.set(RequestHeaders[4 ], traceParent);
4915
+ var traceParent = formatTraceParent(createTraceParent(traceCtx[_DYN_TRACE_ID ], traceCtx[_DYN_SPAN_ID ], traceFlags));
4916
+ headers_1.set(RequestHeaders[4 ], traceParent);
4402
4917
  if (_enableRequestHeaderTracking) {
4403
4918
  ajaxData[_DYN_REQUEST_HEADERS ][RequestHeaders[4 ]] = traceParent;
4404
4919
  }
4405
4920
  }
4406
- init[_DYN_HEADERS ] = headers;
4921
+ if (_isUsingW3CTraceState) {
4922
+ if (traceCtx[_DYN_TRACE_STATE ] && !traceCtx[_DYN_TRACE_STATE ].isEmpty) {
4923
+ var traceStateHeaders = traceCtx[_DYN_TRACE_STATE ].hdrs();
4924
+ if (traceStateHeaders && traceStateHeaders[_DYN_LENGTH ] > 0) {
4925
+ var stateSet_1 = false;
4926
+ arrForEach(traceStateHeaders, function (stateValue) {
4927
+ if (stateValue) {
4928
+ if (!stateSet_1) {
4929
+ stateSet_1 = true;
4930
+ headers_1.set(RequestHeaders[5 ], stateValue);
4931
+ }
4932
+ else {
4933
+ headers_1.append(RequestHeaders[5 ], stateValue);
4934
+ }
4935
+ }
4936
+ });
4937
+ }
4938
+ if (_enableRequestHeaderTracking) {
4939
+ ajaxData[_DYN_REQUEST_HEADERS ][RequestHeaders[5 ]] = traceStateHeaders.join(",");
4940
+ }
4941
+ }
4942
+ }
4943
+ init[_DYN_HEADERS ] = headers_1;
4407
4944
  }
4408
4945
  return init;
4409
4946
  }
4410
4947
  else if (xhr) {
4411
4948
  if (correlationIdCanIncludeCorrelationHeader(_extensionConfig, ajaxData[_DYN_GET_ABSOLUTE_URL ](), currentWindowHost)) {
4949
+ var traceCtx = ajaxData.traceCtx;
4412
4950
  if (_isUsingAIHeaders) {
4413
4951
  if (!_isHeaderSet(xhr, RequestHeaders[3 ])) {
4414
- var id = "|" + ajaxData[_DYN_TRACE_ID ] + "." + ajaxData[_DYN_SPAN_ID ];
4952
+ var id = "|" + traceCtx[_DYN_TRACE_ID ] + "." + traceCtx[_DYN_SPAN_ID ];
4415
4953
  xhr[_DYN_SET_REQUEST_HEADER ](RequestHeaders[3 ], id);
4416
4954
  if (_enableRequestHeaderTracking) {
4417
4955
  ajaxData[_DYN_REQUEST_HEADERS ][RequestHeaders[3 ]] = id;
@@ -4434,12 +4972,12 @@
4434
4972
  }
4435
4973
  }
4436
4974
  if (_isUsingW3CHeaders) {
4437
- var traceFlags = ajaxData[_DYN_TRACE_FLAGS ];
4975
+ var traceFlags = traceCtx[_DYN_TRACE_FLAGS ];
4438
4976
  if (isNullOrUndefined(traceFlags)) {
4439
- traceFlags = 0x01;
4977
+ traceFlags = 1 ;
4440
4978
  }
4441
4979
  if (!_isHeaderSet(xhr, RequestHeaders[4 ])) {
4442
- var traceParent = formatTraceParent(createTraceParent(ajaxData[_DYN_TRACE_ID ], ajaxData[_DYN_SPAN_ID ], traceFlags));
4980
+ var traceParent = formatTraceParent(createTraceParent(traceCtx[_DYN_TRACE_ID ], traceCtx[_DYN_SPAN_ID ], traceFlags));
4443
4981
  xhr[_DYN_SET_REQUEST_HEADER ](RequestHeaders[4 ], traceParent);
4444
4982
  if (_enableRequestHeaderTracking) {
4445
4983
  ajaxData[_DYN_REQUEST_HEADERS ][RequestHeaders[4 ]] = traceParent;
@@ -4449,6 +4987,21 @@
4449
4987
  _throwInternalWarning(_self, 71 , "Unable to set [" + RequestHeaders[4 ] + "] as it has already been set by another instance");
4450
4988
  }
4451
4989
  }
4990
+ if (_isUsingW3CTraceState) {
4991
+ if (traceCtx[_DYN_TRACE_STATE ] && !traceCtx[_DYN_TRACE_STATE ].isEmpty) {
4992
+ var traceStateHeaders = traceCtx[_DYN_TRACE_STATE ].hdrs();
4993
+ if (traceStateHeaders && traceStateHeaders[_DYN_LENGTH ] > 0) {
4994
+ arrForEach(traceStateHeaders, function (stateValue) {
4995
+ if (stateValue) {
4996
+ xhr[_DYN_SET_REQUEST_HEADER ](RequestHeaders[5 ], stateValue);
4997
+ }
4998
+ });
4999
+ }
5000
+ if (_enableRequestHeaderTracking) {
5001
+ ajaxData[_DYN_REQUEST_HEADERS ][RequestHeaders[5 ]] = traceStateHeaders.join(",");
5002
+ }
5003
+ }
5004
+ }
4452
5005
  }
4453
5006
  return xhr;
4454
5007
  }
@@ -4491,6 +5044,7 @@
4491
5044
  _trackAjaxAttempts = 0;
4492
5045
  _context = null;
4493
5046
  _isUsingW3CHeaders = false;
5047
+ _isUsingW3CTraceState = false;
4494
5048
  _isUsingAIHeaders = false;
4495
5049
  _markPrefix = null;
4496
5050
  _enableAjaxPerfTracking = false;
@@ -4525,8 +5079,10 @@
4525
5079
  _maxAjaxCallsPerView = _extensionConfig[_DYN_MAX_AJAX_CALLS_PER_V5 ];
4526
5080
  _excludeRequestFromAutoTrackingPatterns = [].concat(_extensionConfig[_DYN_EXCLUDE_REQUEST_FROM6 ] || [], _extensionConfig.addIntEndpoints !== false ? _internalExcludeEndpoints : []);
4527
5081
  _addRequestContext = _extensionConfig.addRequestContext;
4528
- _isUsingAIHeaders = _distributedTracingMode === 0 || _distributedTracingMode === 1 ;
4529
- _isUsingW3CHeaders = _distributedTracingMode === 1 || _distributedTracingMode === 2 ;
5082
+ var baseDistributedTracingMode = _distributedTracingMode & 15 ;
5083
+ _isUsingAIHeaders = baseDistributedTracingMode === 0 || baseDistributedTracingMode === 1 ;
5084
+ _isUsingW3CHeaders = baseDistributedTracingMode === 1 || baseDistributedTracingMode === 2 ;
5085
+ _isUsingW3CTraceState = !!(_distributedTracingMode & 16 );
4530
5086
  if (_enableAjaxPerfTracking) {
4531
5087
  _markPrefix = _ajaxDataId;
4532
5088
  }
@@ -4764,25 +5320,32 @@
4764
5320
  return initialized
4765
5321
  && ajaxValidation;
4766
5322
  }
4767
- function _getDistributedTraceCtx() {
5323
+ function _startSpan() {
4768
5324
  var distributedTraceCtx = null;
4769
5325
  if (_self[_DYN_CORE ] && _self[_DYN_CORE ].getTraceCtx) {
4770
- distributedTraceCtx = _self[_DYN_CORE ].getTraceCtx(false);
5326
+ distributedTraceCtx = createDistributedTraceContext(_self[_DYN_CORE ].getTraceCtx());
4771
5327
  }
4772
5328
  if (!distributedTraceCtx && _context && _context.telemetryTrace) {
4773
5329
  distributedTraceCtx = createDistributedTraceContextFromTrace(_context.telemetryTrace);
4774
5330
  }
4775
- return distributedTraceCtx;
5331
+ var newCtx = createDistributedTraceContext(distributedTraceCtx);
5332
+ newCtx[_DYN_TRACE_ID ] = newCtx[_DYN_TRACE_ID ] || generateW3CId();
5333
+ newCtx[_DYN_SPAN_ID ] = strSubstr(generateW3CId(), 0, 16);
5334
+ return createAjaxRecord(newCtx, _self[strDiagLog]());
5335
+ }
5336
+ function _endSpan(ajaxData, dependency, properties) {
5337
+ if (dependency) {
5338
+ if (properties !== undefined) {
5339
+ dependency[STR_PROPERTIES ] = __assignFn(__assignFn({}, dependency.properties), properties);
5340
+ }
5341
+ var sysProperties = ajaxData.getPartAProps();
5342
+ _reportDependencyInternal(_dependencyInitializers, _self[_DYN_CORE ], ajaxData, dependency, properties, sysProperties);
5343
+ }
4776
5344
  }
4777
5345
  function _openHandler(xhr, method, url, async) {
4778
- var _a;
4779
- var distributedTraceCtx = _getDistributedTraceCtx();
4780
- var traceID = (distributedTraceCtx && distributedTraceCtx[_DYN_GET_TRACE_ID ]()) || generateW3CId();
4781
- var spanID = strSubstr(generateW3CId(), 0, 16);
4782
5346
  var xhrRequestData = xhr[AJAX_DATA_CONTAINER] = (xhr[AJAX_DATA_CONTAINER] || { xh: [], i: {} });
4783
5347
  var ajaxDataCntr = xhrRequestData.i = (xhrRequestData.i || {});
4784
- var ajaxData = ajaxDataCntr[_ajaxDataId] = (ajaxDataCntr[_ajaxDataId] || new ajaxRecord(traceID, spanID, _self[strDiagLog](), (_a = _self.core) === null || _a === void 0 ? void 0 : _a.getTraceCtx()));
4785
- ajaxData[_DYN_TRACE_FLAGS ] = distributedTraceCtx && distributedTraceCtx[_DYN_GET_TRACE_FLAGS ]();
5348
+ var ajaxData = ajaxDataCntr[_ajaxDataId] = (ajaxDataCntr[_ajaxDataId] || _startSpan());
4786
5349
  ajaxData[_DYN_METHOD ] = method;
4787
5350
  ajaxData[_DYN_REQUEST_URL ] = url;
4788
5351
  ajaxData.xhrMonitoringState.openDone = true;
@@ -4873,19 +5436,13 @@
4873
5436
  catch (e) {
4874
5437
  _throwInternalWarning(_self, 104 , CUSTOM_REQUEST_CONTEXT_ERROR);
4875
5438
  }
4876
- if (dependency) {
4877
- if (properties !== undefined) {
4878
- dependency[STR_PROPERTIES ] = __assignFn(__assignFn({}, dependency.properties), properties);
4879
- }
4880
- var sysProperties = ajaxData[_DYN_GET_PART_APROPS ]();
4881
- _reportDependencyInternal(_dependencyInitializers, _self[_DYN_CORE ], ajaxData, dependency, null, sysProperties);
4882
- }
4883
- else {
5439
+ if (!dependency) {
4884
5440
  _reportXhrError(null, {
4885
5441
  requestSentTime: ajaxData[_DYN_REQUEST_SENT_TIME ],
4886
5442
  responseFinishedTime: ajaxData[_DYN_RESPONSE_FINISHED_TI12 ]
4887
5443
  });
4888
5444
  }
5445
+ _endSpan(ajaxData, dependency, properties);
4889
5446
  }
4890
5447
  finally {
4891
5448
  try {
@@ -4930,13 +5487,13 @@
4930
5487
  performance_1.mark(markId);
4931
5488
  var entries = performance_1.getEntriesByName(markId);
4932
5489
  if (entries && entries[_DYN_LENGTH ] === 1) {
4933
- ajaxData[_DYN_PERF_MARK ] = entries[0];
5490
+ ajaxData.perfMark = entries[0];
4934
5491
  }
4935
5492
  }
4936
5493
  }
4937
5494
  }
4938
5495
  function _findPerfResourceEntry(initiatorType, ajaxData, trackCallback, reportError) {
4939
- var perfMark = ajaxData[_DYN_PERF_MARK ];
5496
+ var perfMark = ajaxData.perfMark;
4940
5497
  var performance = getPerformance();
4941
5498
  var maxAttempts = _maxAjaxPerfLookupAttempts;
4942
5499
  var retryDelay = _ajaxPerfLookupDelay;
@@ -4987,12 +5544,7 @@
4987
5544
  })();
4988
5545
  }
4989
5546
  function _createFetchRecord(input, init) {
4990
- var _a;
4991
- var distributedTraceCtx = _getDistributedTraceCtx();
4992
- var traceID = (distributedTraceCtx && distributedTraceCtx[_DYN_GET_TRACE_ID ]()) || generateW3CId();
4993
- var spanID = strSubstr(generateW3CId(), 0, 16);
4994
- var ajaxData = new ajaxRecord(traceID, spanID, _self[strDiagLog](), (_a = _self.core) === null || _a === void 0 ? void 0 : _a.getTraceCtx());
4995
- ajaxData[_DYN_TRACE_FLAGS ] = distributedTraceCtx && distributedTraceCtx[_DYN_GET_TRACE_FLAGS ]();
5547
+ var ajaxData = _startSpan();
4996
5548
  ajaxData[_DYN_REQUEST_SENT_TIME ] = dateTimeUtilsNow();
4997
5549
  ajaxData[_DYN_ERROR_STATUS_TEXT ] = _enableAjaxErrorStatusText;
4998
5550
  var requestUrl;
@@ -5008,6 +5560,9 @@
5008
5560
  requestUrl = strSplit(location_1.href, "#")[0];
5009
5561
  }
5010
5562
  }
5563
+ if (_self[_DYN_CORE ] && _self[_DYN_CORE ].config) {
5564
+ requestUrl = fieldRedaction(requestUrl, _self[_DYN_CORE ].config);
5565
+ }
5011
5566
  ajaxData[_DYN_REQUEST_URL ] = requestUrl;
5012
5567
  var method = "GET";
5013
5568
  if (init && init[_DYN_METHOD ]) {
@@ -5072,19 +5627,13 @@
5072
5627
  catch (e) {
5073
5628
  _throwInternalWarning(_self, 104 , CUSTOM_REQUEST_CONTEXT_ERROR);
5074
5629
  }
5075
- if (dependency) {
5076
- if (properties !== undefined) {
5077
- dependency[STR_PROPERTIES ] = __assignFn(__assignFn({}, dependency.properties), properties);
5078
- }
5079
- var sysProperties = ajaxData[_DYN_GET_PART_APROPS ]();
5080
- _reportDependencyInternal(_dependencyInitializers, _self[_DYN_CORE ], ajaxData, dependency, null, sysProperties);
5081
- }
5082
- else {
5630
+ if (!dependency) {
5083
5631
  _reportFetchError(14 , null, {
5084
5632
  requestSentTime: ajaxData[_DYN_REQUEST_SENT_TIME ],
5085
5633
  responseFinishedTime: ajaxData[_DYN_RESPONSE_FINISHED_TI12 ]
5086
5634
  });
5087
5635
  }
5636
+ _endSpan(ajaxData, dependency, properties);
5088
5637
  }, function (e) {
5089
5638
  _reportFetchError(18 , e, null);
5090
5639
  });
@@ -5135,7 +5684,6 @@
5135
5684
 
5136
5685
  exports.AjaxPlugin = AjaxMonitor;
5137
5686
  exports.DfltAjaxCorrelationHeaderExDomains = DfltAjaxCorrelationHeaderExDomains;
5138
- exports.ajaxRecord = ajaxRecord;
5139
5687
 
5140
5688
  }));
5141
5689
  //# sourceMappingURL=applicationinsights-dependencies-js.js.map