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