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

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-22
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
@@ -7,8 +7,8 @@
7
7
  typeof exports === "object" && typeof module !== undef ? factory(exports) :
8
8
  typeof define === "function" && define.amd ? define(["exports"], factory) :
9
9
  (function(global){
10
- var nsKey, key, nm, theExports = {}, modName = "es5_applicationinsights_dependencies_js_3_4_0_nightlybeta3_2505_36", msMod="__ms$mod__";
11
- var mods={}, modDetail=mods[modName]={}, ver="3.4.0-nightlybeta3.2505-36";
10
+ var nsKey, key, nm, theExports = {}, modName = "es5_applicationinsights_dependencies_js_3_4_0_nightlybeta3_2507_22", msMod="__ms$mod__";
11
+ var mods={}, modDetail=mods[modName]={}, ver="3.4.0-nightlybeta3.2507-22";
12
12
  var baseNs=global, nsKey="Microsoft", baseNs=baseNs[nsKey]=(baseNs[nsKey]||{});
13
13
  // Versioned namespace "Microsoft.ApplicationInsights3"
14
14
  var exportNs=baseNs, nsKey="ApplicationInsights3", exportNs=exportNs[nsKey]=(exportNs[nsKey]||{});
@@ -61,6 +61,7 @@ var NAME = "name";
61
61
  var CALL = "call";
62
62
  var TO_STRING = "toString";
63
63
  var GET_OWN_PROPERTY_DESCRIPTOR = "getOwnPropertyDescriptor";
64
+ var GET_OWN_PROPERTY_SYMBOLS = "getOwnPropertySymbols";
64
65
  var ObjClass = ( /*#__PURE__*/_pureAssign(Object));
65
66
  var ObjProto = ( /*#__PURE__*/_pureRef(ObjClass, PROTOTYPE));
66
67
  var StrCls = ( /*#__PURE__*/_pureAssign(String));
@@ -133,6 +134,9 @@ var isError = ( /*#__PURE__*/_createObjIs("Error"));
133
134
  function _returnNothing() {
134
135
  return;
135
136
  }
137
+ function _returnEmptyArray() {
138
+ return [];
139
+ }
136
140
  var asString = ( /*#__PURE__*/_pureAssign(StrCls));
137
141
  var ERROR_TYPE = "[object Error]";
138
142
  /*#__NO_SIDE_EFFECTS__*/
@@ -209,7 +213,26 @@ function _unwrapFunctionWithPoly(funcName, clsProto, polyFunc) {
209
213
  throwTypeError("\"" + asString(funcName) + "\" not defined for " + dumpObj(thisArg));
210
214
  };
211
215
  }
216
+ function _objPropertyIsEnum(obj, propKey) {
217
+ var desc;
218
+ var fn = ObjClass.getOwnPropertyDescriptor;
219
+ if (!isStrictNullOrUndefined(obj) && fn) {
220
+ desc = safe(fn, [obj, propKey]).v || NULL_VALUE;
221
+ }
222
+ if (!desc) {
223
+ desc = safe(function () {
224
+ for (var key in obj) {
225
+ if (key === propKey) {
226
+ return { enumerable: true };
227
+ }
228
+ }
229
+ }).v;
230
+ }
231
+ return (desc && desc.enumerable) || false;
232
+ }
233
+ var objPropertyIsEnumerable = ( /*#__PURE__*/_unwrapFunctionWithPoly("propertyIsEnumerable", NULL_VALUE, _objPropertyIsEnum));
212
234
  var _objGetOwnPropertyDescriptor$1 = ( /*#__PURE__*/_pureAssign(( /*#__PURE__*/_pureRef(ObjClass, GET_OWN_PROPERTY_DESCRIPTOR)), _returnNothing));
235
+ var _objGetOwnPropertySymbols = ( /*#__PURE__*/_pureAssign(( /*#__PURE__*/_pureRef(ObjClass, GET_OWN_PROPERTY_SYMBOLS)), _returnEmptyArray));
213
236
  var propMap = {
214
237
  e: "enumerable",
215
238
  c: "configurable",
@@ -242,6 +265,18 @@ var objDefineProperties = ( /*#__PURE__*/_pureRef(ObjClass, "defineProperties"))
242
265
  function objDefine(target, key, propDesc) {
243
266
  return objDefineProp(target, key, _createProp(propDesc));
244
267
  }
268
+ function objDefineProps(target, propDescMap) {
269
+ var props = {};
270
+ objForEachKey(propDescMap, function (key, value) {
271
+ props[key] = _createProp(value);
272
+ });
273
+ arrForEach(_objGetOwnPropertySymbols(propDescMap), function (sym) {
274
+ if (objPropertyIsEnumerable(propDescMap, sym)) {
275
+ props[sym] = _createProp(propDescMap[sym]);
276
+ }
277
+ });
278
+ return objDefineProperties(target, props);
279
+ }
245
280
  /*#__NO_SIDE_EFFECTS__*/
246
281
  function _createKeyValueMap(values, keyType, valueType, completeFn, writable) {
247
282
  var theMap = {};
@@ -500,6 +535,22 @@ function createCachedValue(value) {
500
535
  toJSON: function () { return value; }
501
536
  }, "v", { value: value });
502
537
  }
538
+ var createDeferredCachedValue = getDeferred;
539
+ /*#__NO_SIDE_EFFECTS__*/
540
+ function getDeferred(cb, argArray) {
541
+ var theValue = {
542
+ toJSON: function () { return theValue.v; }
543
+ };
544
+ return objDefineProp(theValue, "v", {
545
+ get: function () {
546
+ var result = fnApply(cb, null, argArray);
547
+ cb = NULL_VALUE;
548
+ objDefineProp(theValue, "v", { value: result });
549
+ return result;
550
+ },
551
+ configurable: true
552
+ });
553
+ }
503
554
  var WINDOW = "window";
504
555
  var _cachedGlobal;
505
556
  function _getGlobalInstFn(getFn, theArgs) {
@@ -1162,11 +1213,15 @@ var _DYN_LOGGER = "logger";
1162
1213
  var _DYN_CANCEL = "cancel";
1163
1214
  var _DYN_INITIALIZE = "initialize";
1164
1215
  var _DYN_IDENTIFIER = "identifier";
1216
+ var _DYN_TRACE_ID$1 = "traceId";
1217
+ var _DYN_SPAN_ID$1 = "spanId";
1218
+ var _DYN_TRACE_FLAGS$2 = "traceFlags";
1165
1219
  var _DYN_IS_INITIALIZED = "isInitialized";
1166
1220
  var _DYN_GET_PLUGIN = "getPlugin";
1167
1221
  var _DYN_NAME$1 = "name";
1168
1222
  var _DYN_PROCESS_NEXT = "processNext";
1169
1223
  var _DYN_GET_PROCESS_TEL_CONT2 = "getProcessTelContext";
1224
+ var _DYN_VALUE = "value";
1170
1225
  var _DYN_UNLOAD = "unload";
1171
1226
  var _DYN_VERSION = "version";
1172
1227
  var _DYN_LOGGING_LEVEL_CONSOL4 = "loggingLevelConsole";
@@ -1182,11 +1237,14 @@ var _DYN_SET_NEXT_PLUGIN = "setNextPlugin";
1182
1237
  var _DYN_USER_AGENT = "userAgent";
1183
1238
  var _DYN_SPLIT$1 = "split";
1184
1239
  var _DYN_REPLACE = "replace";
1240
+ var _DYN_SUBSTRING = "substring";
1241
+ var _DYN_INDEX_OF = "indexOf";
1185
1242
  var _DYN_TYPE = "type";
1186
1243
  var _DYN_IS_CHILD_EVT = "isChildEvt";
1187
1244
  var _DYN_GET_CTX = "getCtx";
1188
1245
  var _DYN_SET_CTX = "setCtx";
1189
- var _DYN_TRACE_FLAGS$1 = "traceFlags";
1246
+ var _DYN_SET_TRACE_FLAGS = "setTraceFlags";
1247
+ var _DYN_TRACE_STATE$1 = "traceState";
1190
1248
 
1191
1249
  var aggregationErrorType;
1192
1250
  function throwAggregationError(message, sourceErrors) {
@@ -1213,6 +1271,8 @@ var STR_PROCESS_TELEMETRY = "processTelemetry";
1213
1271
  var STR_PRIORITY = "priority";
1214
1272
  var STR_GET_PERF_MGR = "getPerfMgr";
1215
1273
  var STR_NOT_DYNAMIC_ERROR = "Not dynamic - ";
1274
+ var STR_REDACTED = "REDACTED";
1275
+ var DEFAULT_SENSITIVE_PARAMS = ["sig", "Signature", "AWSAccessKeyId", "X-Goog-Signature"];
1216
1276
 
1217
1277
  var strGetPrototypeOf = "getPrototypeOf";
1218
1278
  var rCamelCase = /-([a-z])/g;
@@ -1373,6 +1433,110 @@ function isXhrSupported() {
1373
1433
  }
1374
1434
  return isSupported;
1375
1435
  }
1436
+ function redactUserInfo(url) {
1437
+ return url.replace(/^([a-zA-Z][a-zA-Z0-9+.-]*:\/\/)([^:@]{1,200}):([^@]{1,200})@(.*)$/, "$1REDACTED:REDACTED@$4");
1438
+ }
1439
+ function redactQueryParameters(url, config) {
1440
+ var sensitiveParams;
1441
+ var questionMarkIndex = strIndexOf(url, "?");
1442
+ if (questionMarkIndex === -1) {
1443
+ return url;
1444
+ }
1445
+ if (config && config.redactQueryParams) {
1446
+ sensitiveParams = DEFAULT_SENSITIVE_PARAMS.concat(config.redactQueryParams);
1447
+ }
1448
+ else {
1449
+ sensitiveParams = DEFAULT_SENSITIVE_PARAMS;
1450
+ }
1451
+ var baseUrl = strSubstring(url, 0, questionMarkIndex + 1);
1452
+ var queryString = strSubstring(url, questionMarkIndex + 1);
1453
+ var fragment = STR_EMPTY;
1454
+ var hashIndex = strIndexOf(queryString, "#");
1455
+ if (hashIndex !== -1) {
1456
+ fragment = strSubstring(queryString, hashIndex);
1457
+ queryString = strSubstring(queryString, 0, hashIndex);
1458
+ }
1459
+ var hasPotentialSensitiveParam = false;
1460
+ for (var i = 0; i < sensitiveParams[_DYN_LENGTH$2 ]; i++) {
1461
+ var paramCheck = sensitiveParams[i] + "=";
1462
+ if (strIndexOf(queryString, paramCheck) !== -1) {
1463
+ hasPotentialSensitiveParam = true;
1464
+ break;
1465
+ }
1466
+ }
1467
+ if (!hasPotentialSensitiveParam) {
1468
+ return url;
1469
+ }
1470
+ var resultParts = [];
1471
+ var anyParamRedacted = false;
1472
+ if (queryString && queryString[_DYN_LENGTH$2 ]) {
1473
+ var pairs = queryString[_DYN_SPLIT$1 ]("&");
1474
+ for (var i = 0; i < pairs[_DYN_LENGTH$2 ]; i++) {
1475
+ var pair = pairs[i];
1476
+ if (!pair) {
1477
+ continue;
1478
+ }
1479
+ var equalsIndex = strIndexOf(pair, "=");
1480
+ if (equalsIndex === -1) {
1481
+ resultParts[_DYN_PUSH ](pair);
1482
+ }
1483
+ else {
1484
+ var paramName = pair[_DYN_SUBSTRING ](0, equalsIndex);
1485
+ var paramValue = pair[_DYN_SUBSTRING ](equalsIndex + 1);
1486
+ if (paramValue === STR_EMPTY) {
1487
+ resultParts[_DYN_PUSH ](pair);
1488
+ }
1489
+ else {
1490
+ var shouldRedact = false;
1491
+ for (var j = 0; j < sensitiveParams[_DYN_LENGTH$2 ]; j++) {
1492
+ if (paramName === sensitiveParams[j]) {
1493
+ shouldRedact = true;
1494
+ anyParamRedacted = true;
1495
+ break;
1496
+ }
1497
+ }
1498
+ if (shouldRedact) {
1499
+ resultParts[_DYN_PUSH ](paramName + "=" + STR_REDACTED);
1500
+ }
1501
+ else {
1502
+ resultParts[_DYN_PUSH ](pair);
1503
+ }
1504
+ }
1505
+ }
1506
+ }
1507
+ }
1508
+ if (!anyParamRedacted) {
1509
+ return url;
1510
+ }
1511
+ return baseUrl + resultParts.join("&") + fragment;
1512
+ }
1513
+ function fieldRedaction(input, config) {
1514
+ if (!input || input[_DYN_INDEX_OF ](" ") !== -1) {
1515
+ return input;
1516
+ }
1517
+ var isRedactionDisabled = config && config.redactUrls === false;
1518
+ if (isRedactionDisabled) {
1519
+ return input;
1520
+ }
1521
+ var hasCredentials = strIndexOf(input, "@") !== -1;
1522
+ var hasQueryParams = strIndexOf(input, "?") !== -1;
1523
+ if (!hasCredentials && !hasQueryParams) {
1524
+ return input;
1525
+ }
1526
+ try {
1527
+ var result = input;
1528
+ if (hasCredentials) {
1529
+ result = redactUserInfo(input);
1530
+ }
1531
+ if (hasQueryParams) {
1532
+ result = redactQueryParameters(result, config);
1533
+ }
1534
+ return result;
1535
+ }
1536
+ catch (e) {
1537
+ return input;
1538
+ }
1539
+ }
1376
1540
 
1377
1541
  var UInt32Mask = 0x100000000;
1378
1542
  var MaxUInt32 = 0xffffffff;
@@ -1444,7 +1608,7 @@ function newId(maxLength) {
1444
1608
  return result;
1445
1609
  }
1446
1610
 
1447
- var version = '3.4.0-nightlybeta3.2505-36';
1611
+ var version = '3.4.0-nightlybeta3.2507-22';
1448
1612
  var instanceName = "." + newId(6);
1449
1613
  var _dataUid = 0;
1450
1614
  function _canAcceptData(target) {
@@ -2110,6 +2274,307 @@ function onConfigChange(config, configHandler, logger) {
2110
2274
  return createDynamicConfig(config, null, logger)[_DYN_WATCH ](configHandler);
2111
2275
  }
2112
2276
 
2277
+ function generateW3CId() {
2278
+ var hexValues = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
2279
+ var oct = STR_EMPTY, tmp;
2280
+ for (var a = 0; a < 4; a++) {
2281
+ tmp = random32();
2282
+ oct +=
2283
+ hexValues[tmp & 0xF] +
2284
+ hexValues[tmp >> 4 & 0xF] +
2285
+ hexValues[tmp >> 8 & 0xF] +
2286
+ hexValues[tmp >> 12 & 0xF] +
2287
+ hexValues[tmp >> 16 & 0xF] +
2288
+ hexValues[tmp >> 20 & 0xF] +
2289
+ hexValues[tmp >> 24 & 0xF] +
2290
+ hexValues[tmp >> 28 & 0xF];
2291
+ }
2292
+ var clockSequenceHi = hexValues[8 + (random32() & 0x03) | 0];
2293
+ return strSubstr(oct, 0, 8) + strSubstr(oct, 9, 4) + "4" + strSubstr(oct, 13, 3) + clockSequenceHi + strSubstr(oct, 16, 3) + strSubstr(oct, 19, 12);
2294
+ }
2295
+
2296
+ var DEFAULT_VERSION = "00";
2297
+ var INVALID_VERSION = "ff";
2298
+ var INVALID_TRACE_ID = "00000000000000000000000000000000";
2299
+ var INVALID_SPAN_ID = "0000000000000000";
2300
+ function _isValid(value, len, invalidValue) {
2301
+ if (value && value[_DYN_LENGTH$2 ] === len && value !== invalidValue) {
2302
+ return !!value.match(/^[\da-f]*$/i);
2303
+ }
2304
+ return false;
2305
+ }
2306
+ function _formatValue(value, len, defValue) {
2307
+ if (_isValid(value, len)) {
2308
+ return value;
2309
+ }
2310
+ return defValue;
2311
+ }
2312
+ function _formatFlags(value) {
2313
+ if (isNaN(value) || value < 0 || value > 255) {
2314
+ value = 0x01;
2315
+ }
2316
+ var result = value.toString(16);
2317
+ while (result[_DYN_LENGTH$2 ] < 2) {
2318
+ result = "0" + result;
2319
+ }
2320
+ return result;
2321
+ }
2322
+ function createTraceParent(traceId, spanId, flags, version) {
2323
+ return {
2324
+ version: _isValid(version, 2, INVALID_VERSION) ? version : DEFAULT_VERSION,
2325
+ traceId: isValidTraceId(traceId) ? traceId : generateW3CId(),
2326
+ spanId: isValidSpanId(spanId) ? spanId : strLeft(generateW3CId(), 16),
2327
+ traceFlags: (!isNullOrUndefined(flags) && flags >= 0 && flags <= 0xFF ? flags : 1 )
2328
+ };
2329
+ }
2330
+ function isValidTraceId(value) {
2331
+ return _isValid(value, 32, INVALID_TRACE_ID);
2332
+ }
2333
+ function isValidSpanId(value) {
2334
+ return _isValid(value, 16, INVALID_SPAN_ID);
2335
+ }
2336
+ function formatTraceParent(value) {
2337
+ if (value) {
2338
+ var flags = _formatFlags(value[_DYN_TRACE_FLAGS$2 ]);
2339
+ if (!_isValid(flags, 2)) {
2340
+ flags = "01";
2341
+ }
2342
+ var version = value[_DYN_VERSION ] || DEFAULT_VERSION;
2343
+ if (version !== "00" && version !== "ff") {
2344
+ version = DEFAULT_VERSION;
2345
+ }
2346
+ 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());
2347
+ }
2348
+ return STR_EMPTY;
2349
+ }
2350
+
2351
+ var MAX_TRACE_STATE_MEMBERS = 32;
2352
+ var MAX_TRACE_STATE_LEN = 512;
2353
+ var LCALPHA = "[a-z]";
2354
+ var LCALPHA_DIGIT = "[a-z\\d]";
2355
+ var LCALPHA_DIGIT_UNDERSCORE_DASH_STAR_SLASH = "[a-z\\d_\\-*\\/]";
2356
+ var SIMPLE_KEY = "(" + LCALPHA + LCALPHA_DIGIT_UNDERSCORE_DASH_STAR_SLASH + "{0,255})";
2357
+ var TENANT_ID = "(" + LCALPHA_DIGIT + LCALPHA_DIGIT_UNDERSCORE_DASH_STAR_SLASH + "{0,240})";
2358
+ var SYSTEM_ID = "(" + LCALPHA + LCALPHA_DIGIT_UNDERSCORE_DASH_STAR_SLASH + "{0,13})";
2359
+ var MULTI_TENANT_KEY = "(" + TENANT_ID + "@" + SYSTEM_ID + ")";
2360
+ var NBLK_CHAR = "\x21-\x2B\\--\x3C\x3E-\x7E";
2361
+ var TRACESTATE_VALUE = "[\x20" + NBLK_CHAR + "]{0,255}[" + NBLK_CHAR + "]";
2362
+ var TRACESTATE_KVP_REGEX = new RegExp("^\\s*((?:" + SIMPLE_KEY + "|" + MULTI_TENANT_KEY + ")=(" + TRACESTATE_VALUE + "))\\s*$");
2363
+ function _parseListMember(value) {
2364
+ if (value) {
2365
+ TRACESTATE_KVP_REGEX.lastIndex = 0;
2366
+ var match = TRACESTATE_KVP_REGEX.exec(value);
2367
+ if (match && match[_DYN_LENGTH$2 ] >= 7 && match[1] && match[6]) {
2368
+ var type = match[3] ? 1 : 0 ;
2369
+ var multiTenant = null;
2370
+ if (type === 1 ) {
2371
+ multiTenant = {
2372
+ tenantId: match[4],
2373
+ systemId: match[5]
2374
+ };
2375
+ }
2376
+ var parts = {
2377
+ type: type,
2378
+ key: match[2],
2379
+ multiTenant: multiTenant,
2380
+ value: match[6]
2381
+ };
2382
+ return parts;
2383
+ }
2384
+ }
2385
+ return null;
2386
+ }
2387
+ function _parseTraceStateList(value) {
2388
+ var items = [];
2389
+ if (value) {
2390
+ var addedKeys_1 = [];
2391
+ arrForEach(strSplit(value, ","), function (member) {
2392
+ var parts = _parseListMember(member);
2393
+ if (parts) {
2394
+ if (arrIndexOf(addedKeys_1, parts.key) === -1) {
2395
+ items[_DYN_PUSH ](parts);
2396
+ addedKeys_1[_DYN_PUSH ](parts.key);
2397
+ if (items[_DYN_LENGTH$2 ] >= MAX_TRACE_STATE_MEMBERS) {
2398
+ return -1;
2399
+ }
2400
+ }
2401
+ }
2402
+ });
2403
+ }
2404
+ return items;
2405
+ }
2406
+ function _indexOf$1(items, key) {
2407
+ for (var lp = 0; lp < items[_DYN_LENGTH$2 ]; lp++) {
2408
+ if (items[lp].key === key) {
2409
+ return lp;
2410
+ }
2411
+ }
2412
+ return -1;
2413
+ }
2414
+ function _keys(items, parent) {
2415
+ var keys = [];
2416
+ var delKeys = [];
2417
+ arrForEach(items, function (member) {
2418
+ if (member[_DYN_VALUE ] != null) {
2419
+ keys[_DYN_PUSH ](member.key);
2420
+ }
2421
+ else {
2422
+ delKeys[_DYN_PUSH ](member.key);
2423
+ }
2424
+ });
2425
+ if (parent) {
2426
+ arrForEach(parent.keys, function (key) {
2427
+ if (arrIndexOf(keys, key) === -1 && arrIndexOf(delKeys, key) === -1) {
2428
+ keys[_DYN_PUSH ](key);
2429
+ }
2430
+ });
2431
+ }
2432
+ return keys;
2433
+ }
2434
+ function _isEmpty(items, parent) {
2435
+ var delKeys;
2436
+ var isEmpty = true;
2437
+ if (items && items[_DYN_LENGTH$2 ] > 0) {
2438
+ arrForEach(items, function (member) {
2439
+ if (member[_DYN_VALUE ] != null) {
2440
+ isEmpty = false;
2441
+ }
2442
+ else {
2443
+ if (!delKeys) {
2444
+ delKeys = [];
2445
+ }
2446
+ delKeys[_DYN_PUSH ](member.key);
2447
+ }
2448
+ });
2449
+ }
2450
+ if (isEmpty && parent) {
2451
+ isEmpty = parent.isEmpty;
2452
+ if (!isEmpty && delKeys && delKeys[_DYN_LENGTH$2 ] > 0) {
2453
+ isEmpty = true;
2454
+ arrForEach(parent.keys, function (key) {
2455
+ if (arrIndexOf(delKeys, key) === -1) {
2456
+ isEmpty = false;
2457
+ return -1;
2458
+ }
2459
+ });
2460
+ }
2461
+ }
2462
+ return isEmpty;
2463
+ }
2464
+ function createW3cTraceState(value, parent) {
2465
+ var cachedItems = createDeferredCachedValue(function () { return safe(_parseTraceStateList, [value || STR_EMPTY]).v || []; });
2466
+ function _get(key) {
2467
+ var value;
2468
+ var theItems = cachedItems.v;
2469
+ var idx = _indexOf$1(theItems, key);
2470
+ if (idx !== -1) {
2471
+ var itmValue = theItems[idx][_DYN_VALUE ];
2472
+ if (itmValue != null) {
2473
+ value = itmValue;
2474
+ }
2475
+ }
2476
+ else if (parent) {
2477
+ value = parent.get(key);
2478
+ }
2479
+ return value;
2480
+ }
2481
+ function _setMember(member) {
2482
+ if (member) {
2483
+ var theItems = cachedItems.v;
2484
+ var idx = _indexOf$1(theItems, member.key);
2485
+ if (idx !== -1) {
2486
+ theItems[_DYN_SPLICE ](idx, 1);
2487
+ }
2488
+ theItems.unshift(member);
2489
+ cachedItems = createCachedValue(theItems);
2490
+ return 0;
2491
+ }
2492
+ return -1;
2493
+ }
2494
+ function _set(key, value) {
2495
+ var member;
2496
+ if (key && isString(key) && !isNullOrUndefined(value) && isString(value)) {
2497
+ member = _parseListMember(key + "=" + value);
2498
+ }
2499
+ return _setMember(member);
2500
+ }
2501
+ function _del(key) {
2502
+ _setMember({
2503
+ type: 2 ,
2504
+ key: key
2505
+ });
2506
+ }
2507
+ function _headers(maxHeaders, maxKeys, maxLen) {
2508
+ var results = [];
2509
+ var result = STR_EMPTY;
2510
+ var numKeys = 0;
2511
+ var len = 0;
2512
+ maxKeys = maxKeys || MAX_TRACE_STATE_MEMBERS;
2513
+ maxLen = maxLen || MAX_TRACE_STATE_LEN;
2514
+ var theItems = cachedItems.v;
2515
+ arrForEach(_keys(theItems, parent), function (key) {
2516
+ var value = _get(key);
2517
+ if (!isNullOrUndefined(value) && isString(value)) {
2518
+ numKeys++;
2519
+ var val = key + "=" + value;
2520
+ var valLen = val[_DYN_LENGTH$2 ];
2521
+ if (len + 1 + valLen >= maxLen) {
2522
+ results[_DYN_PUSH ](result);
2523
+ if (maxHeaders && results[_DYN_LENGTH$2 ] <= maxHeaders) {
2524
+ return -1;
2525
+ }
2526
+ result = STR_EMPTY;
2527
+ len = 0;
2528
+ }
2529
+ if (result[_DYN_LENGTH$2 ] > 0) {
2530
+ result += ",";
2531
+ len++;
2532
+ }
2533
+ result += val;
2534
+ len += valLen;
2535
+ if (numKeys >= maxKeys) {
2536
+ return -1;
2537
+ }
2538
+ }
2539
+ });
2540
+ if (result) {
2541
+ results[_DYN_PUSH ](result);
2542
+ }
2543
+ return results;
2544
+ }
2545
+ var traceStateList = {
2546
+ keys: [],
2547
+ isEmpty: false,
2548
+ get: _get,
2549
+ set: _set,
2550
+ del: _del,
2551
+ hdrs: _headers,
2552
+ child: function () { return createW3cTraceState(null, traceStateList); }
2553
+ };
2554
+ function _toString() {
2555
+ var headers = traceStateList.hdrs(1);
2556
+ return headers[_DYN_LENGTH$2 ] > 0 ? headers[0] : STR_EMPTY;
2557
+ }
2558
+ objDefineProps(traceStateList, {
2559
+ "keys": {
2560
+ g: function () { return _keys(cachedItems.v, parent); }
2561
+ },
2562
+ "isEmpty": {
2563
+ g: function () { return _isEmpty(cachedItems.v, parent); }
2564
+ },
2565
+ "toString": {
2566
+ v: _toString,
2567
+ e: false
2568
+ },
2569
+ "_p": {
2570
+ v: parent,
2571
+ e: false
2572
+ }
2573
+ });
2574
+ objDefine(traceStateList, getKnownSymbol(11 ), { g: _toString });
2575
+ return traceStateList;
2576
+ }
2577
+
2113
2578
  var _aiNamespace = null;
2114
2579
  function _getExtensionNamespace() {
2115
2580
  var target = getInst("Microsoft");
@@ -2420,83 +2885,151 @@ function doPerf(mgrSource, getSource, func, details, isAsync) {
2420
2885
  return func();
2421
2886
  }
2422
2887
 
2423
- function generateW3CId() {
2424
- var hexValues = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
2425
- var oct = STR_EMPTY, tmp;
2426
- for (var a = 0; a < 4; a++) {
2427
- tmp = random32();
2428
- oct +=
2429
- hexValues[tmp & 0xF] +
2430
- hexValues[tmp >> 4 & 0xF] +
2431
- hexValues[tmp >> 8 & 0xF] +
2432
- hexValues[tmp >> 12 & 0xF] +
2433
- hexValues[tmp >> 16 & 0xF] +
2434
- hexValues[tmp >> 20 & 0xF] +
2435
- hexValues[tmp >> 24 & 0xF] +
2436
- hexValues[tmp >> 28 & 0xF];
2437
- }
2438
- var clockSequenceHi = hexValues[8 + (random32() & 0x03) | 0];
2439
- return strSubstr(oct, 0, 8) + strSubstr(oct, 9, 4) + "4" + strSubstr(oct, 13, 3) + clockSequenceHi + strSubstr(oct, 16, 3) + strSubstr(oct, 19, 12);
2888
+ var pluginStateData = createElmNodeData("plugin");
2889
+ function _getPluginState(plugin) {
2890
+ return pluginStateData.get(plugin, "state", {}, true);
2440
2891
  }
2441
-
2442
- var DEFAULT_VERSION = "00";
2443
- var INVALID_VERSION = "ff";
2444
- var INVALID_TRACE_ID = "00000000000000000000000000000000";
2445
- var INVALID_SPAN_ID = "0000000000000000";
2446
- function _isValid(value, len, invalidValue) {
2447
- if (value && value[_DYN_LENGTH$2 ] === len && value !== invalidValue) {
2448
- return !!value.match(/^[\da-f]*$/i);
2892
+ function isDistributedTraceContext(obj) {
2893
+ return obj &&
2894
+ isFunction(obj.getName) &&
2895
+ isFunction(obj.getTraceId) &&
2896
+ isFunction(obj.getSpanId) &&
2897
+ isFunction(obj.getTraceFlags) &&
2898
+ isFunction(obj.setName) &&
2899
+ isFunction(obj.setTraceId) &&
2900
+ isFunction(obj.setSpanId) &&
2901
+ isFunction(obj[_DYN_SET_TRACE_FLAGS ]);
2902
+ }
2903
+ function createDistributedTraceContext(parent) {
2904
+ var _a;
2905
+ var parentCtx = null;
2906
+ var spanContext = null;
2907
+ var traceId = (parent && isValidTraceId(parent[_DYN_TRACE_ID$1 ])) ? parent[_DYN_TRACE_ID$1 ] : generateW3CId();
2908
+ var spanId = (parent && isValidSpanId(parent[_DYN_SPAN_ID$1 ])) ? parent[_DYN_SPAN_ID$1 ] : STR_EMPTY;
2909
+ var traceFlags = parent ? parent[_DYN_TRACE_FLAGS$2 ] : UNDEFINED_VALUE;
2910
+ var isRemote = parent ? parent.isRemote : false;
2911
+ var pageName = STR_EMPTY;
2912
+ var traceState = null;
2913
+ if (parent) {
2914
+ if (isDistributedTraceContext(parent)) {
2915
+ parentCtx = parent;
2916
+ pageName = parentCtx.getName();
2917
+ }
2918
+ else {
2919
+ spanContext = parent;
2920
+ }
2449
2921
  }
2450
- return false;
2451
- }
2452
- function _formatValue(value, len, defValue) {
2453
- if (_isValid(value, len)) {
2454
- return value;
2922
+ if (!pageName) {
2923
+ pageName = "_unknown_";
2924
+ var location_1 = getLocation();
2925
+ if (location_1 && location_1.pathname) {
2926
+ pageName = location_1.pathname + (location_1.hash || "");
2927
+ }
2455
2928
  }
2456
- return defValue;
2457
- }
2458
- function _formatFlags(value) {
2459
- if (isNaN(value) || value < 0 || value > 255) {
2460
- value = 0x01;
2929
+ function _getName() {
2930
+ return pageName;
2461
2931
  }
2462
- var result = value.toString(16);
2463
- while (result[_DYN_LENGTH$2 ] < 2) {
2464
- result = "0" + result;
2932
+ function _setPageNameFn(updateParent) {
2933
+ return function (newValue) {
2934
+ if (updateParent) {
2935
+ parentCtx && parentCtx.setName(newValue);
2936
+ }
2937
+ pageName = newValue;
2938
+ };
2465
2939
  }
2466
- return result;
2467
- }
2468
- function createTraceParent(traceId, spanId, flags, version) {
2469
- return {
2470
- version: _isValid(version, 2, INVALID_VERSION) ? version : DEFAULT_VERSION,
2471
- traceId: isValidTraceId(traceId) ? traceId : generateW3CId(),
2472
- spanId: isValidSpanId(spanId) ? spanId : strLeft(generateW3CId(), 16),
2473
- traceFlags: flags >= 0 && flags <= 0xFF ? flags : 1
2474
- };
2475
- }
2476
- function isValidTraceId(value) {
2477
- return _isValid(value, 32, INVALID_TRACE_ID);
2478
- }
2479
- function isValidSpanId(value) {
2480
- return _isValid(value, 16, INVALID_SPAN_ID);
2481
- }
2482
- function formatTraceParent(value) {
2483
- if (value) {
2484
- var flags = _formatFlags(value[_DYN_TRACE_FLAGS$1 ]);
2485
- if (!_isValid(flags, 2)) {
2486
- flags = "01";
2487
- }
2488
- var version = value[_DYN_VERSION ] || DEFAULT_VERSION;
2489
- if (version !== "00" && version !== "ff") {
2490
- version = DEFAULT_VERSION;
2940
+ function _getTraceId() {
2941
+ return traceId;
2942
+ }
2943
+ function _setTraceIdFn(updateParent) {
2944
+ return function (newValue) {
2945
+ if (updateParent) {
2946
+ parentCtx && parentCtx.setTraceId(newValue);
2947
+ }
2948
+ if (isValidTraceId(newValue)) {
2949
+ traceId = newValue;
2950
+ }
2951
+ };
2952
+ }
2953
+ function _getSpanId() {
2954
+ return spanId;
2955
+ }
2956
+ function _setSpanIdFn(updateParent) {
2957
+ return function (newValue) {
2958
+ if (updateParent) {
2959
+ parentCtx && parentCtx.setSpanId(newValue);
2960
+ }
2961
+ if (isValidSpanId(newValue)) {
2962
+ spanId = newValue;
2963
+ }
2964
+ };
2965
+ }
2966
+ function _getTraceFlags() {
2967
+ return traceFlags;
2968
+ }
2969
+ function _setTraceFlagsFn(updateParent) {
2970
+ return function (newTraceFlags) {
2971
+ if (updateParent) {
2972
+ parentCtx && parentCtx[_DYN_SET_TRACE_FLAGS ](newTraceFlags);
2973
+ }
2974
+ traceFlags = newTraceFlags;
2975
+ };
2976
+ }
2977
+ function _getTraceState() {
2978
+ if (!traceState) {
2979
+ if (spanContext && spanContext[_DYN_TRACE_STATE$1 ]) {
2980
+ traceState = createW3cTraceState(spanContext[_DYN_TRACE_STATE$1 ].serialize() || STR_EMPTY, parentCtx ? parentCtx[_DYN_TRACE_STATE$1 ] : undefined);
2981
+ }
2982
+ else {
2983
+ traceState = createW3cTraceState(STR_EMPTY, parentCtx ? parentCtx[_DYN_TRACE_STATE$1 ] : undefined);
2984
+ }
2491
2985
  }
2492
- 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());
2986
+ return traceState;
2493
2987
  }
2494
- return "";
2495
- }
2496
-
2497
- var pluginStateData = createElmNodeData("plugin");
2498
- function _getPluginState(plugin) {
2499
- return pluginStateData.get(plugin, "state", {}, true);
2988
+ var traceCtx = (_a = {
2989
+ getName: _getName,
2990
+ setName: _setPageNameFn(true),
2991
+ getTraceId: _getTraceId,
2992
+ setTraceId: _setTraceIdFn(true),
2993
+ getSpanId: _getSpanId,
2994
+ setSpanId: _setSpanIdFn(true),
2995
+ getTraceFlags: _getTraceFlags
2996
+ },
2997
+ _a[_DYN_SET_TRACE_FLAGS ] = _setTraceFlagsFn(true),
2998
+ _a.traceId = traceId,
2999
+ _a.spanId = spanId,
3000
+ _a.traceFlags = traceFlags,
3001
+ _a.traceState = traceState,
3002
+ _a.isRemote = isRemote,
3003
+ _a.pageName = pageName,
3004
+ _a);
3005
+ return objDefineProps(traceCtx, {
3006
+ pageName: {
3007
+ g: _getName,
3008
+ s: _setPageNameFn(false)
3009
+ },
3010
+ traceId: {
3011
+ g: _getTraceId,
3012
+ s: _setTraceIdFn(false)
3013
+ },
3014
+ spanId: {
3015
+ g: _getSpanId,
3016
+ s: _setSpanIdFn(false)
3017
+ },
3018
+ traceFlags: {
3019
+ g: _getTraceFlags,
3020
+ s: _setTraceFlagsFn(false)
3021
+ },
3022
+ isRemote: {
3023
+ v: isRemote,
3024
+ w: false
3025
+ },
3026
+ traceState: {
3027
+ g: _getTraceState
3028
+ },
3029
+ parentCtx: {
3030
+ g: function () { return parentCtx; }
3031
+ }
3032
+ });
2500
3033
  }
2501
3034
 
2502
3035
  var strTelemetryPluginChain = "TelemetryPluginChain";
@@ -2582,27 +3115,26 @@ function _createInternalContext(telemetryChain, dynamicHandler, core, startAt) {
2582
3115
  }
2583
3116
  function _getExtCfg(identifier, createIfMissing) {
2584
3117
  var idCfg = null;
2585
- var cfg = dynamicHandler.cfg;
3118
+ var extCfg = _getCfg(dynamicHandler.cfg, "extensionConfig", createIfMissing);
3119
+ if (extCfg) {
3120
+ idCfg = _getCfg(extCfg, identifier, createIfMissing);
3121
+ }
3122
+ return idCfg;
3123
+ }
3124
+ function _getCfg(cfg, identifier, createIfMissing) {
3125
+ var idCfg = null;
2586
3126
  if (cfg && identifier) {
2587
- var extCfg = cfg[STR_EXTENSION_CONFIG ];
2588
- if (!extCfg && createIfMissing) {
2589
- extCfg = {};
2590
- }
2591
- cfg[STR_EXTENSION_CONFIG] = extCfg;
2592
- extCfg = dynamicHandler.ref(cfg, STR_EXTENSION_CONFIG);
2593
- if (extCfg) {
2594
- idCfg = extCfg[identifier];
2595
- if (!idCfg && createIfMissing) {
2596
- idCfg = {};
2597
- }
2598
- extCfg[identifier] = idCfg;
2599
- idCfg = dynamicHandler.ref(extCfg, identifier);
3127
+ idCfg = cfg[identifier];
3128
+ if (!idCfg && createIfMissing) {
3129
+ idCfg = {};
2600
3130
  }
3131
+ cfg[identifier] = idCfg;
3132
+ idCfg = dynamicHandler.ref(cfg, identifier);
2601
3133
  }
2602
3134
  return idCfg;
2603
3135
  }
2604
- function _resolveExtCfg(identifier, defaultValues) {
2605
- var newConfig = _getExtCfg(identifier, true);
3136
+ function _resolveExtCfg(identifier, defaultValues, rootOnly) {
3137
+ var newConfig = rootOnly ? _getCfg(dynamicHandler.cfg, identifier, true) : _getExtCfg(identifier, true);
2606
3138
  if (defaultValues) {
2607
3139
  objForEachKey(defaultValues, function (field, defaultValue) {
2608
3140
  if (isNullOrUndefined(newConfig[field])) {
@@ -3311,7 +3843,7 @@ var DEFAULT_BREEZE_PATH = "/v2/track";
3311
3843
  var strNotSpecified = "not_specified";
3312
3844
  var strIkey = "iKey";
3313
3845
 
3314
- var RequestHeaders = createValueMap({
3846
+ var RequestHeaders = ( /* @__PURE__ */createValueMap({
3315
3847
  requestContextHeader: [0 , "Request-Context"],
3316
3848
  requestContextTargetKey: [1 , "appId"],
3317
3849
  requestContextAppIdFormat: [2 , "appId=cid-v1:"],
@@ -3321,7 +3853,7 @@ var RequestHeaders = createValueMap({
3321
3853
  sdkContextHeader: [6 , "Sdk-Context"],
3322
3854
  sdkContextHeaderAppIdRequest: [7 , "appId"],
3323
3855
  requestContextHeaderLowerCase: [8 , "request-context"]
3324
- });
3856
+ }));
3325
3857
 
3326
3858
  var _DYN_SPLIT = "split";
3327
3859
  var _DYN_LENGTH$1 = "length";
@@ -3331,6 +3863,7 @@ var _DYN_PATHNAME = "pathname";
3331
3863
  var _DYN_MATCH = "match";
3332
3864
  var _DYN_CORRELATION_HEADER_E0 = "correlationHeaderExcludePatterns";
3333
3865
  var _DYN_NAME = "name";
3866
+ var _DYN_TRACE_FLAGS$1 = "traceFlags";
3334
3867
  var _DYN_PROPERTIES = "properties";
3335
3868
  var _DYN_MEASUREMENTS = "measurements";
3336
3869
  var _DYN_DURATION = "duration";
@@ -3373,7 +3906,10 @@ function dataSanitizeString(logger, value, maxLength) {
3373
3906
  }
3374
3907
  return valueTrunc || value;
3375
3908
  }
3376
- function dataSanitizeUrl(logger, url) {
3909
+ function dataSanitizeUrl(logger, url, config) {
3910
+ if (isString(url)) {
3911
+ url = fieldRedaction(url, config);
3912
+ }
3377
3913
  return dataSanitizeInput(logger, url, 2048 , 66 );
3378
3914
  }
3379
3915
  function dataSanitizeProperties(logger, properties) {
@@ -3606,41 +4142,14 @@ function dateTimeUtilsDuration(start, end) {
3606
4142
  return result;
3607
4143
  }
3608
4144
  function createDistributedTraceContextFromTrace(telemetryTrace, parentCtx) {
3609
- var trace = telemetryTrace || {};
3610
- return {
3611
- getName: function () {
3612
- return trace[_DYN_NAME ];
3613
- },
3614
- setName: function (newValue) {
3615
- parentCtx && parentCtx.setName(newValue);
3616
- trace[_DYN_NAME ] = newValue;
3617
- },
3618
- getTraceId: function () {
3619
- return trace.traceID;
3620
- },
3621
- setTraceId: function (newValue) {
3622
- parentCtx && parentCtx.setTraceId(newValue);
3623
- if (isValidTraceId(newValue)) {
3624
- trace.traceID = newValue;
3625
- }
3626
- },
3627
- getSpanId: function () {
3628
- return trace.parentID;
3629
- },
3630
- setSpanId: function (newValue) {
3631
- parentCtx && parentCtx.setSpanId(newValue);
3632
- if (isValidSpanId(newValue)) {
3633
- trace.parentID = newValue;
3634
- }
3635
- },
3636
- getTraceFlags: function () {
3637
- return trace.traceFlags;
3638
- },
3639
- setTraceFlags: function (newTraceFlags) {
3640
- parentCtx && parentCtx.setTraceFlags(newTraceFlags);
3641
- trace.traceFlags = newTraceFlags;
3642
- }
3643
- };
4145
+ var traceCtx = createDistributedTraceContext(parentCtx);
4146
+ if (telemetryTrace) {
4147
+ traceCtx.pageName = telemetryTrace[_DYN_NAME ] || traceCtx.pageName || "";
4148
+ traceCtx.traceId = telemetryTrace.traceID || traceCtx.traceId || "";
4149
+ traceCtx.spanId = telemetryTrace.parentID || traceCtx.spanId || "";
4150
+ traceCtx[_DYN_TRACE_FLAGS$1 ] = (!isNullOrUndefined(telemetryTrace[_DYN_TRACE_FLAGS$1 ]) ? telemetryTrace[_DYN_TRACE_FLAGS$1 ] : traceCtx[_DYN_TRACE_FLAGS$1 ]) || 0;
4151
+ }
4152
+ return traceCtx;
3644
4153
  }
3645
4154
 
3646
4155
  var strEmpty = "";
@@ -3838,11 +4347,12 @@ var STR_PROPERTIES = "properties";
3838
4347
 
3839
4348
  var _DYN_REQUEST_URL = "requestUrl";
3840
4349
  var _DYN_LENGTH = "length";
3841
- var _DYN_TRACE_ID = "traceID";
3842
- var _DYN_SPAN_ID = "spanID";
4350
+ var _DYN_ABORTED = "aborted";
4351
+ var _DYN_TRACE_ID = "traceId";
4352
+ var _DYN_SPAN_ID = "spanId";
3843
4353
  var _DYN_TRACE_FLAGS = "traceFlags";
4354
+ var _DYN_TRACE_STATE = "traceState";
3844
4355
  var _DYN_CONTEXT = "context";
3845
- var _DYN_ABORTED = "aborted";
3846
4356
  var _DYN__ADD_HOOK = "_addHook";
3847
4357
  var _DYN_CORE = "core";
3848
4358
  var _DYN_INCLUDE_CORRELATION_0 = "includeCorrelationHeaders";
@@ -3866,8 +4376,6 @@ var _DYN_STATUS = "status";
3866
4376
  var _DYN_STATUS_TEXT = "statusText";
3867
4377
  var _DYN_HEADER_MAP = "headerMap";
3868
4378
  var _DYN_REQUEST_SENT_TIME = "requestSentTime";
3869
- var _DYN_GET_TRACE_ID = "getTraceId";
3870
- var _DYN_GET_TRACE_FLAGS = "getTraceFlags";
3871
4379
  var _DYN_METHOD = "method";
3872
4380
  var _DYN_ERROR_STATUS_TEXT = "errorStatusText";
3873
4381
  var _DYN_STATE_CHANGE_ATTACHE11 = "stateChangeAttached";
@@ -3875,13 +4383,10 @@ var _DYN_RESPONSE_TEXT = "responseText";
3875
4383
  var _DYN_RESPONSE_FINISHED_TI12 = "responseFinishedTime";
3876
4384
  var _DYN__CREATE_TRACK_ITEM = "CreateTrackItem";
3877
4385
  var _DYN_GET_ALL_RESPONSE_HEA13 = "getAllResponseHeaders";
3878
- var _DYN_GET_PART_APROPS = "getPartAProps";
3879
- var _DYN_PERF_MARK = "perfMark";
3880
4386
  var _DYN_PERF_TIMING = "perfTiming";
3881
4387
  var _DYN_AJAX_DIAGNOSTICS_MES14 = "ajaxDiagnosticsMessage";
3882
4388
  var _DYN_CORRELATION_CONTEXT = "correlationContext";
3883
4389
  var _DYN_AJAX_TOTAL_DURATION = "ajaxTotalDuration";
3884
- var _DYN_EVENT_TRACE_CTX = "eventTraceCtx";
3885
4390
 
3886
4391
  function _calcPerfDuration(resourceEntry, start, end) {
3887
4392
  var result = 0;
@@ -3976,7 +4481,7 @@ function _populatePerfData(ajaxData, dependency) {
3976
4481
  propsSet |= _setPerfValue(props, strDecodedBodySize, resourceEntry[strDecodedBodySize]);
3977
4482
  }
3978
4483
  else {
3979
- if (ajaxData[_DYN_PERF_MARK ]) {
4484
+ if (ajaxData.perfMark) {
3980
4485
  propsSet |= _setPerfValue(props, "missing", ajaxData.perfAttempts);
3981
4486
  }
3982
4487
  }
@@ -3984,144 +4489,130 @@ function _populatePerfData(ajaxData, dependency) {
3984
4489
  dependency[STR_PROPERTIES ] = props;
3985
4490
  }
3986
4491
  }
3987
- var XHRMonitoringState = /** @class */ (function () {
3988
- function XHRMonitoringState() {
3989
- var self = this;
3990
- self.openDone = false;
3991
- self.setRequestHeaderDone = false;
3992
- self.sendDone = false;
3993
- self.abortDone = false;
3994
- self[_DYN_STATE_CHANGE_ATTACHE11 ] = false;
3995
- }
3996
- return XHRMonitoringState;
3997
- }());
3998
- var ajaxRecord = /** @class */ (function () {
3999
- function ajaxRecord(traceId, spanId, logger, traceCtx) {
4000
- var self = this;
4001
- var _logger = logger;
4002
- var strResponseText = "responseText";
4003
- self[_DYN_PERF_MARK ] = null;
4004
- self.completed = false;
4005
- self.requestHeadersSize = null;
4006
- self[_DYN_REQUEST_HEADERS ] = null;
4007
- self.responseReceivingDuration = null;
4008
- self.callbackDuration = null;
4009
- self[_DYN_AJAX_TOTAL_DURATION ] = null;
4010
- self[_DYN_ABORTED ] = 0;
4011
- self.pageUrl = null;
4012
- self[_DYN_REQUEST_URL ] = null;
4013
- self.requestSize = 0;
4014
- self[_DYN_METHOD ] = null;
4015
- self[_DYN_STATUS ] = null;
4016
- self[_DYN_REQUEST_SENT_TIME ] = null;
4017
- self.responseStartedTime = null;
4018
- self[_DYN_RESPONSE_FINISHED_TI12 ] = null;
4019
- self.callbackFinishedTime = null;
4020
- self.endTime = null;
4021
- self.xhrMonitoringState = new XHRMonitoringState();
4022
- self.clientFailure = 0;
4023
- self[_DYN_TRACE_ID ] = traceId;
4024
- self[_DYN_SPAN_ID ] = spanId;
4025
- self[_DYN_TRACE_FLAGS ] = traceCtx === null || traceCtx === void 0 ? void 0 : traceCtx.getTraceFlags();
4026
- if (traceCtx) {
4027
- self[_DYN_EVENT_TRACE_CTX ] = {
4028
- traceId: traceCtx[_DYN_GET_TRACE_ID ](),
4029
- spanId: traceCtx.getSpanId(),
4030
- traceFlags: traceCtx[_DYN_GET_TRACE_FLAGS ]()
4031
- };
4032
- }
4033
- else {
4034
- self[_DYN_EVENT_TRACE_CTX ] = null;
4035
- }
4036
- dynamicProto(ajaxRecord, self, function (self) {
4037
- self.getAbsoluteUrl = function () {
4038
- return self[_DYN_REQUEST_URL ] ? urlGetAbsoluteUrl(self[_DYN_REQUEST_URL ]) : null;
4039
- };
4040
- self.getPathName = function () {
4041
- return self[_DYN_REQUEST_URL ] ? dataSanitizeUrl(_logger, urlGetCompleteUrl(self[_DYN_METHOD ], self[_DYN_REQUEST_URL ])) : null;
4042
- };
4043
- self[_DYN__CREATE_TRACK_ITEM ] = function (ajaxType, enableRequestHeaderTracking, getResponse) {
4044
- var _a;
4045
- self.ajaxTotalDuration = mathRound(dateTimeUtilsDuration(self.requestSentTime, self.responseFinishedTime) * 1000) / 1000;
4046
- if (self[_DYN_AJAX_TOTAL_DURATION ] < 0) {
4047
- return null;
4048
- }
4049
- var dependency = (_a = {
4050
- id: "|" + self[_DYN_TRACE_ID ] + "." + self[_DYN_SPAN_ID ],
4051
- target: self[_DYN_GET_ABSOLUTE_URL ](),
4052
- name: self.getPathName(),
4053
- type: ajaxType,
4054
- startTime: null,
4055
- duration: self[_DYN_AJAX_TOTAL_DURATION ],
4056
- success: (+(self[_DYN_STATUS ])) >= 200 && (+(self[_DYN_STATUS ])) < 400,
4057
- responseCode: (+(self[_DYN_STATUS ]))
4058
- },
4059
- _a[STR_PROPERTIES] = { HttpMethod: self[_DYN_METHOD ] },
4060
- _a);
4061
- var props = dependency[STR_PROPERTIES];
4062
- if (self[_DYN_ABORTED ]) {
4063
- props[_DYN_ABORTED ] = true;
4064
- }
4065
- if (self[_DYN_REQUEST_SENT_TIME ]) {
4066
- dependency[_DYN_START_TIME ] = new Date();
4067
- dependency[_DYN_START_TIME ].setTime(self[_DYN_REQUEST_SENT_TIME ]);
4068
- }
4069
- _populatePerfData(self, dependency);
4070
- if (enableRequestHeaderTracking) {
4071
- if (objKeys(self.requestHeaders)[_DYN_LENGTH ] > 0) {
4072
- props[_DYN_REQUEST_HEADERS ] = self[_DYN_REQUEST_HEADERS ];
4073
- }
4492
+ function createXHRMonitoringState() {
4493
+ var _a;
4494
+ return _a = {
4495
+ openDone: false,
4496
+ setRequestHeaderDone: false,
4497
+ sendDone: false,
4498
+ abortDone: false
4499
+ },
4500
+ _a[_DYN_STATE_CHANGE_ATTACHE11 ] = false,
4501
+ _a;
4502
+ }
4503
+ function createAjaxRecord(traceCtx, logger) {
4504
+ var _a;
4505
+ var _logger = logger;
4506
+ var ajaxRecord = (_a = {
4507
+ perfMark: null,
4508
+ completed: false,
4509
+ requestHeadersSize: null
4510
+ },
4511
+ _a[_DYN_REQUEST_HEADERS ] = null,
4512
+ _a.responseReceivingDuration = null,
4513
+ _a.callbackDuration = null,
4514
+ _a[_DYN_AJAX_TOTAL_DURATION ] = null,
4515
+ _a.aborted = 0,
4516
+ _a.pageUrl = null,
4517
+ _a.requestUrl = null,
4518
+ _a.requestSize = 0,
4519
+ _a.method = null,
4520
+ _a.status = null,
4521
+ _a[_DYN_REQUEST_SENT_TIME ] = null,
4522
+ _a.responseStartedTime = null,
4523
+ _a[_DYN_RESPONSE_FINISHED_TI12 ] = null,
4524
+ _a.callbackFinishedTime = null,
4525
+ _a.endTime = null,
4526
+ _a.xhrMonitoringState = createXHRMonitoringState(),
4527
+ _a.clientFailure = 0,
4528
+ _a.traceCtx = traceCtx,
4529
+ _a.perfTiming = null,
4530
+ _a[_DYN_GET_ABSOLUTE_URL ] = function () {
4531
+ return ajaxRecord[_DYN_REQUEST_URL ] ? urlGetAbsoluteUrl(ajaxRecord[_DYN_REQUEST_URL ]) : null;
4532
+ },
4533
+ _a.getPathName = function () {
4534
+ return ajaxRecord[_DYN_REQUEST_URL ] ? dataSanitizeUrl(_logger, urlGetCompleteUrl(ajaxRecord[_DYN_METHOD ], ajaxRecord[_DYN_REQUEST_URL ])) : null;
4535
+ },
4536
+ _a[_DYN__CREATE_TRACK_ITEM ] = function (ajaxType, enableRequestHeaderTracking, getResponse) {
4537
+ var _a;
4538
+ ajaxRecord.ajaxTotalDuration = mathRound(dateTimeUtilsDuration(ajaxRecord.requestSentTime, ajaxRecord.responseFinishedTime) * 1000) / 1000;
4539
+ if (ajaxRecord[_DYN_AJAX_TOTAL_DURATION ] < 0) {
4540
+ return null;
4541
+ }
4542
+ var dependency = (_a = {
4543
+ id: "|" + traceCtx[_DYN_TRACE_ID ] + "." + traceCtx[_DYN_SPAN_ID ],
4544
+ target: ajaxRecord[_DYN_GET_ABSOLUTE_URL ](),
4545
+ name: ajaxRecord.getPathName(),
4546
+ type: ajaxType,
4547
+ startTime: null,
4548
+ duration: ajaxRecord[_DYN_AJAX_TOTAL_DURATION ],
4549
+ success: (+(ajaxRecord[_DYN_STATUS ])) >= 200 && (+(ajaxRecord[_DYN_STATUS ])) < 400,
4550
+ responseCode: (+(ajaxRecord[_DYN_STATUS ]))
4551
+ },
4552
+ _a[STR_PROPERTIES] = { HttpMethod: ajaxRecord[_DYN_METHOD ] },
4553
+ _a);
4554
+ var props = dependency[STR_PROPERTIES];
4555
+ if (ajaxRecord[_DYN_ABORTED ]) {
4556
+ props[_DYN_ABORTED ] = true;
4557
+ }
4558
+ if (ajaxRecord[_DYN_REQUEST_SENT_TIME ]) {
4559
+ dependency[_DYN_START_TIME ] = new Date();
4560
+ dependency[_DYN_START_TIME ].setTime(ajaxRecord[_DYN_REQUEST_SENT_TIME ]);
4561
+ }
4562
+ _populatePerfData(this, dependency);
4563
+ if (enableRequestHeaderTracking) {
4564
+ if (objKeys(ajaxRecord.requestHeaders)[_DYN_LENGTH ] > 0) {
4565
+ props[_DYN_REQUEST_HEADERS ] = ajaxRecord[_DYN_REQUEST_HEADERS ];
4074
4566
  }
4075
- if (getResponse) {
4076
- var response = getResponse();
4077
- if (response) {
4078
- var correlationContext = response[_DYN_CORRELATION_CONTEXT ];
4079
- if (correlationContext) {
4080
- dependency.correlationContext = correlationContext;
4081
- }
4082
- if (response[_DYN_HEADER_MAP ]) {
4083
- if (objKeys(response.headerMap)[_DYN_LENGTH ] > 0) {
4084
- props.responseHeaders = response[_DYN_HEADER_MAP ];
4085
- }
4567
+ }
4568
+ if (getResponse) {
4569
+ var response = getResponse();
4570
+ if (response) {
4571
+ var correlationContext = response[_DYN_CORRELATION_CONTEXT ];
4572
+ if (correlationContext) {
4573
+ dependency.correlationContext = correlationContext;
4574
+ }
4575
+ if (response[_DYN_HEADER_MAP ]) {
4576
+ if (objKeys(response.headerMap)[_DYN_LENGTH ] > 0) {
4577
+ props.responseHeaders = response[_DYN_HEADER_MAP ];
4086
4578
  }
4087
- if (self[_DYN_ERROR_STATUS_TEXT ]) {
4088
- if (self[_DYN_STATUS ] >= 400) {
4089
- var responseType = response.type;
4090
- if (responseType === "" || responseType === "text") {
4091
- props.responseText = response.responseText ? response[_DYN_STATUS_TEXT ] + " - " + response[strResponseText] : response[_DYN_STATUS_TEXT ];
4092
- }
4093
- if (responseType === "json") {
4094
- props.responseText = response.response ? response[_DYN_STATUS_TEXT ] + " - " + JSON.stringify(response.response) : response[_DYN_STATUS_TEXT ];
4095
- }
4579
+ }
4580
+ if (ajaxRecord[_DYN_ERROR_STATUS_TEXT ]) {
4581
+ if ((+(ajaxRecord[_DYN_STATUS ])) >= 400) {
4582
+ var responseType = response.type;
4583
+ if (responseType === "" || responseType === "text") {
4584
+ props.responseText = response.responseText ? response[_DYN_STATUS_TEXT ] + " - " + response[_DYN_RESPONSE_TEXT ] : response[_DYN_STATUS_TEXT ];
4096
4585
  }
4097
- else if (self[_DYN_STATUS ] === 0) {
4098
- props.responseText = response[_DYN_STATUS_TEXT ] || "";
4586
+ if (responseType === "json") {
4587
+ props.responseText = response.response ? response[_DYN_STATUS_TEXT ] + " - " + JSON.stringify(response.response) : response[_DYN_STATUS_TEXT ];
4099
4588
  }
4100
4589
  }
4590
+ else if (ajaxRecord[_DYN_STATUS ] === 0) {
4591
+ props.responseText = response[_DYN_STATUS_TEXT ] || "";
4592
+ }
4101
4593
  }
4102
4594
  }
4103
- return dependency;
4104
- };
4105
- self[_DYN_GET_PART_APROPS ] = function () {
4106
- var partA = null;
4107
- var traceCtx = self[_DYN_EVENT_TRACE_CTX ];
4108
- if (traceCtx && (traceCtx.traceId || traceCtx.spanId)) {
4109
- partA = {};
4110
- var traceExt = partA[Extensions.TraceExt] = {
4111
- traceID: traceCtx.traceId,
4112
- parentID: traceCtx.spanId
4113
- };
4114
- if (!isNullOrUndefined(traceCtx[_DYN_TRACE_FLAGS ])) {
4115
- traceExt[_DYN_TRACE_FLAGS ] = traceCtx[_DYN_TRACE_FLAGS ];
4116
- }
4595
+ }
4596
+ return dependency;
4597
+ },
4598
+ _a.getPartAProps = function () {
4599
+ var partA = null;
4600
+ var parentCtx = ajaxRecord.traceCtx.parentCtx;
4601
+ if (parentCtx && (parentCtx[_DYN_TRACE_ID ] || parentCtx[_DYN_SPAN_ID ])) {
4602
+ partA = {};
4603
+ var traceExt = partA[Extensions.TraceExt] = {
4604
+ traceID: parentCtx[_DYN_TRACE_ID ],
4605
+ parentID: parentCtx[_DYN_SPAN_ID ]
4606
+ };
4607
+ if (!isNullOrUndefined(parentCtx[_DYN_TRACE_FLAGS ])) {
4608
+ traceExt[_DYN_TRACE_FLAGS ] = parentCtx[_DYN_TRACE_FLAGS ];
4117
4609
  }
4118
- return partA;
4119
- };
4120
- });
4121
- }
4122
- ajaxRecord.__ieDyn=1;
4610
+ }
4611
+ return partA;
4612
+ },
4613
+ _a);
4123
4614
  return ajaxRecord;
4124
- }());
4615
+ }
4125
4616
 
4126
4617
  var _a;
4127
4618
  var strDiagLog = "diagLog";
@@ -4281,22 +4772,44 @@ function _processDependencyListeners(listeners, core, ajaxData, xhr, input, init
4281
4772
  var initializersCount = listeners[_DYN_LENGTH ];
4282
4773
  var result = true;
4283
4774
  if (initializersCount > 0) {
4775
+ var traceCtx_1 = ajaxData.traceCtx;
4284
4776
  var details = {
4285
4777
  core: core,
4286
4778
  xhr: xhr,
4287
4779
  input: input,
4288
4780
  init: init,
4289
- traceId: ajaxData[_DYN_TRACE_ID ],
4290
- spanId: ajaxData[_DYN_SPAN_ID ],
4291
- traceFlags: ajaxData[_DYN_TRACE_FLAGS ],
4292
- context: ajaxData[_DYN_CONTEXT ] || {},
4293
4781
  aborted: !!ajaxData[_DYN_ABORTED ]
4294
4782
  };
4783
+ objDefineProps(details, {
4784
+ "traceId": {
4785
+ g: function () { return traceCtx_1[_DYN_TRACE_ID ]; },
4786
+ s: function (value) {
4787
+ traceCtx_1[_DYN_TRACE_ID ] = value;
4788
+ }
4789
+ },
4790
+ "spanId": {
4791
+ g: function () { return traceCtx_1[_DYN_SPAN_ID ]; },
4792
+ s: function (value) {
4793
+ traceCtx_1[_DYN_SPAN_ID ] = value;
4794
+ }
4795
+ },
4796
+ "traceFlags": {
4797
+ g: function () { return traceCtx_1[_DYN_TRACE_FLAGS ]; },
4798
+ s: function (value) {
4799
+ traceCtx_1[_DYN_TRACE_FLAGS ] = value;
4800
+ }
4801
+ },
4802
+ "traceState": {
4803
+ g: function () { return traceCtx_1[_DYN_TRACE_STATE ]; }
4804
+ },
4805
+ "context": {
4806
+ g: function () { return ajaxData[_DYN_CONTEXT ] || {}; },
4807
+ s: function (value) {
4808
+ ajaxData[_DYN_CONTEXT ] = value;
4809
+ }
4810
+ }
4811
+ });
4295
4812
  result = _processDependencyContainer(core, listeners, details, "listener");
4296
- ajaxData[_DYN_TRACE_ID ] = details.traceId;
4297
- ajaxData[_DYN_SPAN_ID ] = details.spanId;
4298
- ajaxData[_DYN_TRACE_FLAGS ] = details[_DYN_TRACE_FLAGS ];
4299
- ajaxData[_DYN_CONTEXT ] = details[_DYN_CONTEXT ];
4300
4813
  }
4301
4814
  return result;
4302
4815
  }
@@ -4352,6 +4865,7 @@ var AjaxMonitor = /** @class */ (function (_super) {
4352
4865
  var _context;
4353
4866
  var _isUsingW3CHeaders;
4354
4867
  var _isUsingAIHeaders;
4868
+ var _isUsingW3CTraceState;
4355
4869
  var _markPrefix;
4356
4870
  var _enableAjaxPerfTracking;
4357
4871
  var _maxAjaxCallsPerView;
@@ -4399,41 +4913,65 @@ var AjaxMonitor = /** @class */ (function (_super) {
4399
4913
  if (!init) {
4400
4914
  init = {};
4401
4915
  }
4402
- var headers = new Headers(init[_DYN_HEADERS ] || (input instanceof Request ? (input[_DYN_HEADERS ] || {}) : {}));
4916
+ var traceCtx = ajaxData.traceCtx;
4917
+ var headers_1 = new Headers(init[_DYN_HEADERS ] || (input instanceof Request ? (input[_DYN_HEADERS ] || {}) : {}));
4403
4918
  if (_isUsingAIHeaders) {
4404
- var id = "|" + ajaxData[_DYN_TRACE_ID ] + "." + ajaxData[_DYN_SPAN_ID ];
4405
- headers.set(RequestHeaders[3 ], id);
4919
+ var id = "|" + traceCtx[_DYN_TRACE_ID ] + "." + traceCtx[_DYN_SPAN_ID ];
4920
+ headers_1.set(RequestHeaders[3 ], id);
4406
4921
  if (_enableRequestHeaderTracking) {
4407
4922
  ajaxData[_DYN_REQUEST_HEADERS ][RequestHeaders[3 ]] = id;
4408
4923
  }
4409
4924
  }
4410
4925
  var appId = _appId || (_context && _context.appId());
4411
4926
  if (appId) {
4412
- headers.set(RequestHeaders[0 ], RequestHeaders[2 ] + appId);
4927
+ headers_1.set(RequestHeaders[0 ], RequestHeaders[2 ] + appId);
4413
4928
  if (_enableRequestHeaderTracking) {
4414
4929
  ajaxData[_DYN_REQUEST_HEADERS ][RequestHeaders[0 ]] = RequestHeaders[2 ] + appId;
4415
4930
  }
4416
4931
  }
4417
4932
  if (_isUsingW3CHeaders) {
4418
- var traceFlags = ajaxData[_DYN_TRACE_FLAGS ];
4933
+ var traceFlags = traceCtx[_DYN_TRACE_FLAGS ];
4419
4934
  if (isNullOrUndefined(traceFlags)) {
4420
- traceFlags = 0x01;
4935
+ traceFlags = 1 ;
4421
4936
  }
4422
- var traceParent = formatTraceParent(createTraceParent(ajaxData[_DYN_TRACE_ID ], ajaxData[_DYN_SPAN_ID ], traceFlags));
4423
- headers.set(RequestHeaders[4 ], traceParent);
4937
+ var traceParent = formatTraceParent(createTraceParent(traceCtx[_DYN_TRACE_ID ], traceCtx[_DYN_SPAN_ID ], traceFlags));
4938
+ headers_1.set(RequestHeaders[4 ], traceParent);
4424
4939
  if (_enableRequestHeaderTracking) {
4425
4940
  ajaxData[_DYN_REQUEST_HEADERS ][RequestHeaders[4 ]] = traceParent;
4426
4941
  }
4427
4942
  }
4428
- init[_DYN_HEADERS ] = headers;
4943
+ if (_isUsingW3CTraceState) {
4944
+ if (traceCtx[_DYN_TRACE_STATE ] && !traceCtx[_DYN_TRACE_STATE ].isEmpty) {
4945
+ var traceStateHeaders = traceCtx[_DYN_TRACE_STATE ].hdrs();
4946
+ if (traceStateHeaders && traceStateHeaders[_DYN_LENGTH ] > 0) {
4947
+ var stateSet_1 = false;
4948
+ arrForEach(traceStateHeaders, function (stateValue) {
4949
+ if (stateValue) {
4950
+ if (!stateSet_1) {
4951
+ stateSet_1 = true;
4952
+ headers_1.set(RequestHeaders[5 ], stateValue);
4953
+ }
4954
+ else {
4955
+ headers_1.append(RequestHeaders[5 ], stateValue);
4956
+ }
4957
+ }
4958
+ });
4959
+ }
4960
+ if (_enableRequestHeaderTracking) {
4961
+ ajaxData[_DYN_REQUEST_HEADERS ][RequestHeaders[5 ]] = traceStateHeaders.join(",");
4962
+ }
4963
+ }
4964
+ }
4965
+ init[_DYN_HEADERS ] = headers_1;
4429
4966
  }
4430
4967
  return init;
4431
4968
  }
4432
4969
  else if (xhr) {
4433
4970
  if (correlationIdCanIncludeCorrelationHeader(_extensionConfig, ajaxData[_DYN_GET_ABSOLUTE_URL ](), currentWindowHost)) {
4971
+ var traceCtx = ajaxData.traceCtx;
4434
4972
  if (_isUsingAIHeaders) {
4435
4973
  if (!_isHeaderSet(xhr, RequestHeaders[3 ])) {
4436
- var id = "|" + ajaxData[_DYN_TRACE_ID ] + "." + ajaxData[_DYN_SPAN_ID ];
4974
+ var id = "|" + traceCtx[_DYN_TRACE_ID ] + "." + traceCtx[_DYN_SPAN_ID ];
4437
4975
  xhr[_DYN_SET_REQUEST_HEADER ](RequestHeaders[3 ], id);
4438
4976
  if (_enableRequestHeaderTracking) {
4439
4977
  ajaxData[_DYN_REQUEST_HEADERS ][RequestHeaders[3 ]] = id;
@@ -4456,12 +4994,12 @@ var AjaxMonitor = /** @class */ (function (_super) {
4456
4994
  }
4457
4995
  }
4458
4996
  if (_isUsingW3CHeaders) {
4459
- var traceFlags = ajaxData[_DYN_TRACE_FLAGS ];
4997
+ var traceFlags = traceCtx[_DYN_TRACE_FLAGS ];
4460
4998
  if (isNullOrUndefined(traceFlags)) {
4461
- traceFlags = 0x01;
4999
+ traceFlags = 1 ;
4462
5000
  }
4463
5001
  if (!_isHeaderSet(xhr, RequestHeaders[4 ])) {
4464
- var traceParent = formatTraceParent(createTraceParent(ajaxData[_DYN_TRACE_ID ], ajaxData[_DYN_SPAN_ID ], traceFlags));
5002
+ var traceParent = formatTraceParent(createTraceParent(traceCtx[_DYN_TRACE_ID ], traceCtx[_DYN_SPAN_ID ], traceFlags));
4465
5003
  xhr[_DYN_SET_REQUEST_HEADER ](RequestHeaders[4 ], traceParent);
4466
5004
  if (_enableRequestHeaderTracking) {
4467
5005
  ajaxData[_DYN_REQUEST_HEADERS ][RequestHeaders[4 ]] = traceParent;
@@ -4471,6 +5009,21 @@ var AjaxMonitor = /** @class */ (function (_super) {
4471
5009
  _throwInternalWarning(_self, 71 , "Unable to set [" + RequestHeaders[4 ] + "] as it has already been set by another instance");
4472
5010
  }
4473
5011
  }
5012
+ if (_isUsingW3CTraceState) {
5013
+ if (traceCtx[_DYN_TRACE_STATE ] && !traceCtx[_DYN_TRACE_STATE ].isEmpty) {
5014
+ var traceStateHeaders = traceCtx[_DYN_TRACE_STATE ].hdrs();
5015
+ if (traceStateHeaders && traceStateHeaders[_DYN_LENGTH ] > 0) {
5016
+ arrForEach(traceStateHeaders, function (stateValue) {
5017
+ if (stateValue) {
5018
+ xhr[_DYN_SET_REQUEST_HEADER ](RequestHeaders[5 ], stateValue);
5019
+ }
5020
+ });
5021
+ }
5022
+ if (_enableRequestHeaderTracking) {
5023
+ ajaxData[_DYN_REQUEST_HEADERS ][RequestHeaders[5 ]] = traceStateHeaders.join(",");
5024
+ }
5025
+ }
5026
+ }
4474
5027
  }
4475
5028
  return xhr;
4476
5029
  }
@@ -4513,6 +5066,7 @@ var AjaxMonitor = /** @class */ (function (_super) {
4513
5066
  _trackAjaxAttempts = 0;
4514
5067
  _context = null;
4515
5068
  _isUsingW3CHeaders = false;
5069
+ _isUsingW3CTraceState = false;
4516
5070
  _isUsingAIHeaders = false;
4517
5071
  _markPrefix = null;
4518
5072
  _enableAjaxPerfTracking = false;
@@ -4547,8 +5101,10 @@ var AjaxMonitor = /** @class */ (function (_super) {
4547
5101
  _maxAjaxCallsPerView = _extensionConfig[_DYN_MAX_AJAX_CALLS_PER_V5 ];
4548
5102
  _excludeRequestFromAutoTrackingPatterns = [].concat(_extensionConfig[_DYN_EXCLUDE_REQUEST_FROM6 ] || [], _extensionConfig.addIntEndpoints !== false ? _internalExcludeEndpoints : []);
4549
5103
  _addRequestContext = _extensionConfig.addRequestContext;
4550
- _isUsingAIHeaders = _distributedTracingMode === 0 || _distributedTracingMode === 1 ;
4551
- _isUsingW3CHeaders = _distributedTracingMode === 1 || _distributedTracingMode === 2 ;
5104
+ var baseDistributedTracingMode = _distributedTracingMode & 15 ;
5105
+ _isUsingAIHeaders = baseDistributedTracingMode === 0 || baseDistributedTracingMode === 1 ;
5106
+ _isUsingW3CHeaders = baseDistributedTracingMode === 1 || baseDistributedTracingMode === 2 ;
5107
+ _isUsingW3CTraceState = !!(_distributedTracingMode & 16 );
4552
5108
  if (_enableAjaxPerfTracking) {
4553
5109
  _markPrefix = _ajaxDataId;
4554
5110
  }
@@ -4786,25 +5342,32 @@ var AjaxMonitor = /** @class */ (function (_super) {
4786
5342
  return initialized
4787
5343
  && ajaxValidation;
4788
5344
  }
4789
- function _getDistributedTraceCtx() {
5345
+ function _startSpan() {
4790
5346
  var distributedTraceCtx = null;
4791
5347
  if (_self[_DYN_CORE ] && _self[_DYN_CORE ].getTraceCtx) {
4792
- distributedTraceCtx = _self[_DYN_CORE ].getTraceCtx(false);
5348
+ distributedTraceCtx = createDistributedTraceContext(_self[_DYN_CORE ].getTraceCtx());
4793
5349
  }
4794
5350
  if (!distributedTraceCtx && _context && _context.telemetryTrace) {
4795
5351
  distributedTraceCtx = createDistributedTraceContextFromTrace(_context.telemetryTrace);
4796
5352
  }
4797
- return distributedTraceCtx;
5353
+ var newCtx = createDistributedTraceContext(distributedTraceCtx);
5354
+ newCtx[_DYN_TRACE_ID ] = newCtx[_DYN_TRACE_ID ] || generateW3CId();
5355
+ newCtx[_DYN_SPAN_ID ] = strSubstr(generateW3CId(), 0, 16);
5356
+ return createAjaxRecord(newCtx, _self[strDiagLog]());
5357
+ }
5358
+ function _endSpan(ajaxData, dependency, properties) {
5359
+ if (dependency) {
5360
+ if (properties !== undefined) {
5361
+ dependency[STR_PROPERTIES ] = __assignFn(__assignFn({}, dependency.properties), properties);
5362
+ }
5363
+ var sysProperties = ajaxData.getPartAProps();
5364
+ _reportDependencyInternal(_dependencyInitializers, _self[_DYN_CORE ], ajaxData, dependency, properties, sysProperties);
5365
+ }
4798
5366
  }
4799
5367
  function _openHandler(xhr, method, url, async) {
4800
- var _a;
4801
- var distributedTraceCtx = _getDistributedTraceCtx();
4802
- var traceID = (distributedTraceCtx && distributedTraceCtx[_DYN_GET_TRACE_ID ]()) || generateW3CId();
4803
- var spanID = strSubstr(generateW3CId(), 0, 16);
4804
5368
  var xhrRequestData = xhr[AJAX_DATA_CONTAINER] = (xhr[AJAX_DATA_CONTAINER] || { xh: [], i: {} });
4805
5369
  var ajaxDataCntr = xhrRequestData.i = (xhrRequestData.i || {});
4806
- var ajaxData = ajaxDataCntr[_ajaxDataId] = (ajaxDataCntr[_ajaxDataId] || new ajaxRecord(traceID, spanID, _self[strDiagLog](), (_a = _self.core) === null || _a === void 0 ? void 0 : _a.getTraceCtx()));
4807
- ajaxData[_DYN_TRACE_FLAGS ] = distributedTraceCtx && distributedTraceCtx[_DYN_GET_TRACE_FLAGS ]();
5370
+ var ajaxData = ajaxDataCntr[_ajaxDataId] = (ajaxDataCntr[_ajaxDataId] || _startSpan());
4808
5371
  ajaxData[_DYN_METHOD ] = method;
4809
5372
  ajaxData[_DYN_REQUEST_URL ] = url;
4810
5373
  ajaxData.xhrMonitoringState.openDone = true;
@@ -4895,19 +5458,13 @@ var AjaxMonitor = /** @class */ (function (_super) {
4895
5458
  catch (e) {
4896
5459
  _throwInternalWarning(_self, 104 , CUSTOM_REQUEST_CONTEXT_ERROR);
4897
5460
  }
4898
- if (dependency) {
4899
- if (properties !== undefined) {
4900
- dependency[STR_PROPERTIES ] = __assignFn(__assignFn({}, dependency.properties), properties);
4901
- }
4902
- var sysProperties = ajaxData[_DYN_GET_PART_APROPS ]();
4903
- _reportDependencyInternal(_dependencyInitializers, _self[_DYN_CORE ], ajaxData, dependency, null, sysProperties);
4904
- }
4905
- else {
5461
+ if (!dependency) {
4906
5462
  _reportXhrError(null, {
4907
5463
  requestSentTime: ajaxData[_DYN_REQUEST_SENT_TIME ],
4908
5464
  responseFinishedTime: ajaxData[_DYN_RESPONSE_FINISHED_TI12 ]
4909
5465
  });
4910
5466
  }
5467
+ _endSpan(ajaxData, dependency, properties);
4911
5468
  }
4912
5469
  finally {
4913
5470
  try {
@@ -4952,13 +5509,13 @@ var AjaxMonitor = /** @class */ (function (_super) {
4952
5509
  performance_1.mark(markId);
4953
5510
  var entries = performance_1.getEntriesByName(markId);
4954
5511
  if (entries && entries[_DYN_LENGTH ] === 1) {
4955
- ajaxData[_DYN_PERF_MARK ] = entries[0];
5512
+ ajaxData.perfMark = entries[0];
4956
5513
  }
4957
5514
  }
4958
5515
  }
4959
5516
  }
4960
5517
  function _findPerfResourceEntry(initiatorType, ajaxData, trackCallback, reportError) {
4961
- var perfMark = ajaxData[_DYN_PERF_MARK ];
5518
+ var perfMark = ajaxData.perfMark;
4962
5519
  var performance = getPerformance();
4963
5520
  var maxAttempts = _maxAjaxPerfLookupAttempts;
4964
5521
  var retryDelay = _ajaxPerfLookupDelay;
@@ -5009,12 +5566,7 @@ var AjaxMonitor = /** @class */ (function (_super) {
5009
5566
  })();
5010
5567
  }
5011
5568
  function _createFetchRecord(input, init) {
5012
- var _a;
5013
- var distributedTraceCtx = _getDistributedTraceCtx();
5014
- var traceID = (distributedTraceCtx && distributedTraceCtx[_DYN_GET_TRACE_ID ]()) || generateW3CId();
5015
- var spanID = strSubstr(generateW3CId(), 0, 16);
5016
- var ajaxData = new ajaxRecord(traceID, spanID, _self[strDiagLog](), (_a = _self.core) === null || _a === void 0 ? void 0 : _a.getTraceCtx());
5017
- ajaxData[_DYN_TRACE_FLAGS ] = distributedTraceCtx && distributedTraceCtx[_DYN_GET_TRACE_FLAGS ]();
5569
+ var ajaxData = _startSpan();
5018
5570
  ajaxData[_DYN_REQUEST_SENT_TIME ] = dateTimeUtilsNow();
5019
5571
  ajaxData[_DYN_ERROR_STATUS_TEXT ] = _enableAjaxErrorStatusText;
5020
5572
  var requestUrl;
@@ -5030,6 +5582,9 @@ var AjaxMonitor = /** @class */ (function (_super) {
5030
5582
  requestUrl = strSplit(location_1.href, "#")[0];
5031
5583
  }
5032
5584
  }
5585
+ if (_self[_DYN_CORE ] && _self[_DYN_CORE ].config) {
5586
+ requestUrl = fieldRedaction(requestUrl, _self[_DYN_CORE ].config);
5587
+ }
5033
5588
  ajaxData[_DYN_REQUEST_URL ] = requestUrl;
5034
5589
  var method = "GET";
5035
5590
  if (init && init[_DYN_METHOD ]) {
@@ -5094,19 +5649,13 @@ var AjaxMonitor = /** @class */ (function (_super) {
5094
5649
  catch (e) {
5095
5650
  _throwInternalWarning(_self, 104 , CUSTOM_REQUEST_CONTEXT_ERROR);
5096
5651
  }
5097
- if (dependency) {
5098
- if (properties !== undefined) {
5099
- dependency[STR_PROPERTIES ] = __assignFn(__assignFn({}, dependency.properties), properties);
5100
- }
5101
- var sysProperties = ajaxData[_DYN_GET_PART_APROPS ]();
5102
- _reportDependencyInternal(_dependencyInitializers, _self[_DYN_CORE ], ajaxData, dependency, null, sysProperties);
5103
- }
5104
- else {
5652
+ if (!dependency) {
5105
5653
  _reportFetchError(14 , null, {
5106
5654
  requestSentTime: ajaxData[_DYN_REQUEST_SENT_TIME ],
5107
5655
  responseFinishedTime: ajaxData[_DYN_RESPONSE_FINISHED_TI12 ]
5108
5656
  });
5109
5657
  }
5658
+ _endSpan(ajaxData, dependency, properties);
5110
5659
  }, function (e) {
5111
5660
  _reportFetchError(18 , e, null);
5112
5661
  });
@@ -5157,7 +5706,6 @@ var AjaxMonitor = /** @class */ (function (_super) {
5157
5706
 
5158
5707
  exports.AjaxPlugin = AjaxMonitor;
5159
5708
  exports.DfltAjaxCorrelationHeaderExDomains = DfltAjaxCorrelationHeaderExDomains;
5160
- exports.ajaxRecord = ajaxRecord;
5161
5709
 
5162
5710
  }));
5163
5711
  //# sourceMappingURL=applicationinsights-dependencies-js.js.map