@microsoft/applicationinsights-dependencies-js 2.8.4-nightly.2205-08 → 2.8.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,25 +1,25 @@
1
1
  {
2
2
  "name": "applicationinsights-dependencies-js",
3
- "version": "2.8.4-nightly.2205-08",
3
+ "version": "2.8.4",
4
4
  "ext": {
5
5
  "@js": {
6
6
  "file": "applicationinsights-dependencies-js.js",
7
7
  "type": "text/javascript; charset=utf-8",
8
- "integrity": "sha256-Ga4PJPm2pWKY9h3X56FzG3x4k124GiB02ikY5ALe/Ro= sha384-jB8IQ1aRAkxHaCwBZauSra0aQ2/X+dWauVJPLZw/yxm8Nh2ApHjpsw5laT/0QEBD sha512-USKGs0De/ve5WOIcDVmSKXnzIYt6smen0Vz/KbDsxGAKFbHRJO5q5EKrhlF4EN8lR/JyXfRPMQtcejw7hdQtKQ==",
8
+ "integrity": "sha256-88dbB/m9Nl4Se15BWt/Q7YhIm6wE9PpquheEW57Z0HY= sha384-hI9ENskwBAMX+bMNrrQEhVW3KPi1Kv5uLGlgt+Nhr+qisVKDCEMTUX7UJ8elFFFu sha512-XQPF42klnJOG1QYqQ4loUv00Q1VJsh0PEst0/jU5j+aGXyN9kuC0lZeeyyeaAsS/lslX7U37tBd2v8TnIQc9ww==",
9
9
  "hashes": {
10
- "sha256": "Ga4PJPm2pWKY9h3X56FzG3x4k124GiB02ikY5ALe/Ro=",
11
- "sha384": "jB8IQ1aRAkxHaCwBZauSra0aQ2/X+dWauVJPLZw/yxm8Nh2ApHjpsw5laT/0QEBD",
12
- "sha512": "USKGs0De/ve5WOIcDVmSKXnzIYt6smen0Vz/KbDsxGAKFbHRJO5q5EKrhlF4EN8lR/JyXfRPMQtcejw7hdQtKQ=="
10
+ "sha256": "88dbB/m9Nl4Se15BWt/Q7YhIm6wE9PpquheEW57Z0HY=",
11
+ "sha384": "hI9ENskwBAMX+bMNrrQEhVW3KPi1Kv5uLGlgt+Nhr+qisVKDCEMTUX7UJ8elFFFu",
12
+ "sha512": "XQPF42klnJOG1QYqQ4loUv00Q1VJsh0PEst0/jU5j+aGXyN9kuC0lZeeyyeaAsS/lslX7U37tBd2v8TnIQc9ww=="
13
13
  }
14
14
  },
15
15
  "@min.js": {
16
16
  "file": "applicationinsights-dependencies-js.min.js",
17
17
  "type": "text/javascript; charset=utf-8",
18
- "integrity": "sha256-JERMCgGq6y60P9M94NzJTFf3CziWOkHKnSsSmE6nrl4= sha384-zbRO7PrrCMt0w3tMUWNvL0x3dt+01hHsaOCa5YQJHjuXJJNZcLtTY8AufcBiKYh+ sha512-jynWDMzMslld0pOLZXaF55dShupZbrNTZhSJjkGjtYX02qoMBqMxe8QkxKfJRoJxnxEd1yVqush2I5SLppi5aQ==",
18
+ "integrity": "sha256-uf/AGgVfjjTLT0w9AITEVmcoj+VC/pYa1kpnVPxHq/4= sha384-0JURq36b9aRlhaYxtfthfGYCUtAv4sNmZ/YDQ4KMwId7lsQZFig2H1U2iA2IrPOC sha512-rjzEwowCrI0imFbvLDVGkyUPCl8DFQj8ZAKl+St2he9gzeR1Hc6X8G5wEicPUoSacfqveC45klHaB9Vh3drc2A==",
19
19
  "hashes": {
20
- "sha256": "JERMCgGq6y60P9M94NzJTFf3CziWOkHKnSsSmE6nrl4=",
21
- "sha384": "zbRO7PrrCMt0w3tMUWNvL0x3dt+01hHsaOCa5YQJHjuXJJNZcLtTY8AufcBiKYh+",
22
- "sha512": "jynWDMzMslld0pOLZXaF55dShupZbrNTZhSJjkGjtYX02qoMBqMxe8QkxKfJRoJxnxEd1yVqush2I5SLppi5aQ=="
20
+ "sha256": "uf/AGgVfjjTLT0w9AITEVmcoj+VC/pYa1kpnVPxHq/4=",
21
+ "sha384": "0JURq36b9aRlhaYxtfthfGYCUtAv4sNmZ/YDQ4KMwId7lsQZFig2H1U2iA2IrPOC",
22
+ "sha512": "rjzEwowCrI0imFbvLDVGkyUPCl8DFQj8ZAKl+St2he9gzeR1Hc6X8G5wEicPUoSacfqveC45klHaB9Vh3drc2A=="
23
23
  }
24
24
  }
25
25
  }
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Dependencies Plugin, 2.8.4-nightly.2205-08
2
+ * Application Insights JavaScript SDK - Dependencies Plugin, 2.8.4
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
@@ -192,6 +192,9 @@
192
192
  function _isArrayPoly(obj) {
193
193
  return !!(obj && _objToString.call(obj) === "[object Array]");
194
194
  }
195
+ function isError(obj) {
196
+ return !!(obj && _objToString.call(obj) === "[object Error]");
197
+ }
195
198
  function isString(value) {
196
199
  return typeof value === "string";
197
200
  }
@@ -353,6 +356,12 @@
353
356
  var dt = Date;
354
357
  return dt.now ? dt.now() : new dt().getTime();
355
358
  }
359
+ function getExceptionName(object) {
360
+ if (isError(object)) {
361
+ return object.name;
362
+ }
363
+ return strEmpty$1;
364
+ }
356
365
  function setValue(target, field, value, valChk, srcChk) {
357
366
  var theValue = value;
358
367
  if (target) {
@@ -1181,7 +1190,7 @@
1181
1190
  }
1182
1191
 
1183
1192
  var _objDefineProperty = ObjDefineProperty;
1184
- var version = "2.8.4-nightly.2205-08";
1193
+ var version = "2.8.4";
1185
1194
  var instanceName = "." + newId(6);
1186
1195
  var _dataUid = 0;
1187
1196
  function _createAccessor(target, prop, value) {
@@ -1252,6 +1261,190 @@
1252
1261
  return data;
1253
1262
  }
1254
1263
 
1264
+ var strOnPrefix = "on";
1265
+ var strAttachEvent = "attachEvent";
1266
+ var strAddEventHelper = "addEventListener";
1267
+ var strEvents = "events";
1268
+ createUniqueNamespace("aiEvtPageHide");
1269
+ createUniqueNamespace("aiEvtPageShow");
1270
+ var rRemoveEmptyNs = /\.[\.]+/g;
1271
+ var rRemoveTrailingEmptyNs = /[\.]+$/;
1272
+ var _guid = 1;
1273
+ var elmNodeData = createElmNodeData("events");
1274
+ var eventNamespace = /^([^.]*)(?:\.(.+)|)/;
1275
+ function _normalizeNamespace(name) {
1276
+ if (name && name.replace) {
1277
+ return name.replace(/^\s*\.*|\.*\s*$/g, "");
1278
+ }
1279
+ return name;
1280
+ }
1281
+ function _getEvtNamespace(eventName, evtNamespace) {
1282
+ if (evtNamespace) {
1283
+ var theNamespace_1 = "";
1284
+ if (isArray(evtNamespace)) {
1285
+ theNamespace_1 = "";
1286
+ arrForEach(evtNamespace, function (name) {
1287
+ name = _normalizeNamespace(name);
1288
+ if (name) {
1289
+ if (name[0] !== ".") {
1290
+ name = "." + name;
1291
+ }
1292
+ theNamespace_1 += name;
1293
+ }
1294
+ });
1295
+ }
1296
+ else {
1297
+ theNamespace_1 = _normalizeNamespace(evtNamespace);
1298
+ }
1299
+ if (theNamespace_1) {
1300
+ if (theNamespace_1[0] !== ".") {
1301
+ theNamespace_1 = "." + theNamespace_1;
1302
+ }
1303
+ eventName = (eventName || "") + theNamespace_1;
1304
+ }
1305
+ }
1306
+ var parsedEvent = (eventNamespace.exec(eventName || "") || []);
1307
+ return {
1308
+ type: parsedEvent[1],
1309
+ ns: ((parsedEvent[2] || "").replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, "").split(".").sort()).join(".")
1310
+ };
1311
+ }
1312
+ function _getRegisteredEvents(target, evtName, addDefault) {
1313
+ if (addDefault === void 0) { addDefault = true; }
1314
+ var aiEvts = elmNodeData.get(target, strEvents, {}, addDefault);
1315
+ var registeredEvents = aiEvts[evtName];
1316
+ if (!registeredEvents) {
1317
+ registeredEvents = aiEvts[evtName] = [];
1318
+ }
1319
+ return registeredEvents;
1320
+ }
1321
+ function _doAttach(obj, evtName, handlerRef, useCapture) {
1322
+ var result = false;
1323
+ if (obj && evtName && evtName.type && handlerRef) {
1324
+ if (obj[strAddEventHelper]) {
1325
+ obj[strAddEventHelper](evtName.type, handlerRef, useCapture);
1326
+ result = true;
1327
+ }
1328
+ else if (obj[strAttachEvent]) {
1329
+ obj[strAttachEvent](strOnPrefix + evtName.type, handlerRef);
1330
+ result = true;
1331
+ }
1332
+ }
1333
+ return result;
1334
+ }
1335
+ function mergeEvtNamespace(theNamespace, namespaces) {
1336
+ var newNamespaces;
1337
+ if (namespaces) {
1338
+ if (isArray(namespaces)) {
1339
+ newNamespaces = [theNamespace].concat(namespaces);
1340
+ }
1341
+ else {
1342
+ newNamespaces = [theNamespace, namespaces];
1343
+ }
1344
+ newNamespaces = (_getEvtNamespace("xx", newNamespaces).ns).split(".");
1345
+ }
1346
+ else {
1347
+ newNamespaces = theNamespace;
1348
+ }
1349
+ return newNamespaces;
1350
+ }
1351
+ function eventOn(target, eventName, handlerRef, evtNamespace, useCapture) {
1352
+ if (useCapture === void 0) { useCapture = false; }
1353
+ var result = false;
1354
+ if (target) {
1355
+ try {
1356
+ var evtName = _getEvtNamespace(eventName, evtNamespace);
1357
+ result = _doAttach(target, evtName, handlerRef, useCapture);
1358
+ if (result && elmNodeData.accept(target)) {
1359
+ var registeredEvent = {
1360
+ guid: _guid++,
1361
+ evtName: evtName,
1362
+ handler: handlerRef,
1363
+ capture: useCapture
1364
+ };
1365
+ _getRegisteredEvents(target, evtName.type).push(registeredEvent);
1366
+ }
1367
+ }
1368
+ catch (e) {
1369
+ }
1370
+ }
1371
+ return result;
1372
+ }
1373
+
1374
+ function generateW3CId() {
1375
+ var hexValues = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
1376
+ var oct = strEmpty$1, tmp;
1377
+ for (var a = 0; a < 4; a++) {
1378
+ tmp = random32();
1379
+ oct +=
1380
+ hexValues[tmp & 0xF] +
1381
+ hexValues[tmp >> 4 & 0xF] +
1382
+ hexValues[tmp >> 8 & 0xF] +
1383
+ hexValues[tmp >> 12 & 0xF] +
1384
+ hexValues[tmp >> 16 & 0xF] +
1385
+ hexValues[tmp >> 20 & 0xF] +
1386
+ hexValues[tmp >> 24 & 0xF] +
1387
+ hexValues[tmp >> 28 & 0xF];
1388
+ }
1389
+ var clockSequenceHi = hexValues[8 + (random32() & 0x03) | 0];
1390
+ return oct.substr(0, 8) + oct.substr(9, 4) + "4" + oct.substr(13, 3) + clockSequenceHi + oct.substr(16, 3) + oct.substr(19, 12);
1391
+ }
1392
+
1393
+ var DEFAULT_VERSION = "00";
1394
+ var INVALID_VERSION = "ff";
1395
+ var INVALID_TRACE_ID = "00000000000000000000000000000000";
1396
+ var INVALID_SPAN_ID = "0000000000000000";
1397
+ function _isValid(value, len, invalidValue) {
1398
+ if (value && value.length === len && value !== invalidValue) {
1399
+ return !!value.match(/^[\da-f]*$/);
1400
+ }
1401
+ return false;
1402
+ }
1403
+ function _formatValue(value, len, defValue) {
1404
+ if (_isValid(value, len)) {
1405
+ return value;
1406
+ }
1407
+ return defValue;
1408
+ }
1409
+ function _formatFlags(value) {
1410
+ if (isNaN(value) || value < 0 || value > 255) {
1411
+ value = 0x01;
1412
+ }
1413
+ var result = value.toString(16);
1414
+ while (result.length < 2) {
1415
+ result = "0" + result;
1416
+ }
1417
+ return result;
1418
+ }
1419
+ function createTraceParent(traceId, spanId, flags, version) {
1420
+ return {
1421
+ version: _isValid(version, 2, INVALID_VERSION) ? version : DEFAULT_VERSION,
1422
+ traceId: isValidTraceId(traceId) ? traceId : generateW3CId(),
1423
+ spanId: isValidSpanId(spanId) ? spanId : generateW3CId().substr(0, 16),
1424
+ traceFlags: flags >= 0 && flags <= 0xFF ? flags : 1
1425
+ };
1426
+ }
1427
+ function isValidTraceId(value) {
1428
+ return _isValid(value, 32, INVALID_TRACE_ID);
1429
+ }
1430
+ function isValidSpanId(value) {
1431
+ return _isValid(value, 16, INVALID_SPAN_ID);
1432
+ }
1433
+ function formatTraceParent(value) {
1434
+ if (value) {
1435
+ var flags = _formatFlags(value.traceFlags);
1436
+ if (!_isValid(flags, 2)) {
1437
+ flags = "01";
1438
+ }
1439
+ var version = value.version || DEFAULT_VERSION;
1440
+ if (version !== "00" && version !== "ff") {
1441
+ version = DEFAULT_VERSION;
1442
+ }
1443
+ return "".concat(version, "-").concat(_formatValue(value.traceId, 32, INVALID_TRACE_ID), "-").concat(_formatValue(value.spanId, 16, INVALID_SPAN_ID), "-").concat(flags);
1444
+ }
1445
+ return "";
1446
+ }
1447
+
1255
1448
  var pluginStateData = createElmNodeData("plugin");
1256
1449
  function _getPluginState(plugin) {
1257
1450
  return pluginStateData.get(plugin, "state", {}, true);
@@ -1778,135 +1971,6 @@
1778
1971
  return BaseTelemetryPlugin;
1779
1972
  }());
1780
1973
 
1781
- var strOnPrefix = "on";
1782
- var strAttachEvent = "attachEvent";
1783
- var strAddEventHelper = "addEventListener";
1784
- var strEvents = "events";
1785
- createUniqueNamespace("aiEvtPageHide");
1786
- createUniqueNamespace("aiEvtPageShow");
1787
- var rRemoveEmptyNs = /\.[\.]+/g;
1788
- var rRemoveTrailingEmptyNs = /[\.]+$/;
1789
- var _guid = 1;
1790
- var elmNodeData = createElmNodeData("events");
1791
- var eventNamespace = /^([^.]*)(?:\.(.+)|)/;
1792
- function _normalizeNamespace(name) {
1793
- if (name && name.replace) {
1794
- return name.replace(/^\s*\.*|\.*\s*$/g, "");
1795
- }
1796
- return name;
1797
- }
1798
- function _getEvtNamespace(eventName, evtNamespace) {
1799
- if (evtNamespace) {
1800
- var theNamespace_1 = "";
1801
- if (isArray(evtNamespace)) {
1802
- theNamespace_1 = "";
1803
- arrForEach(evtNamespace, function (name) {
1804
- name = _normalizeNamespace(name);
1805
- if (name) {
1806
- if (name[0] !== ".") {
1807
- name = "." + name;
1808
- }
1809
- theNamespace_1 += name;
1810
- }
1811
- });
1812
- }
1813
- else {
1814
- theNamespace_1 = _normalizeNamespace(evtNamespace);
1815
- }
1816
- if (theNamespace_1) {
1817
- if (theNamespace_1[0] !== ".") {
1818
- theNamespace_1 = "." + theNamespace_1;
1819
- }
1820
- eventName = (eventName || "") + theNamespace_1;
1821
- }
1822
- }
1823
- var parsedEvent = (eventNamespace.exec(eventName || "") || []);
1824
- return {
1825
- type: parsedEvent[1],
1826
- ns: ((parsedEvent[2] || "").replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, "").split(".").sort()).join(".")
1827
- };
1828
- }
1829
- function _getRegisteredEvents(target, evtName, addDefault) {
1830
- if (addDefault === void 0) { addDefault = true; }
1831
- var aiEvts = elmNodeData.get(target, strEvents, {}, addDefault);
1832
- var registeredEvents = aiEvts[evtName];
1833
- if (!registeredEvents) {
1834
- registeredEvents = aiEvts[evtName] = [];
1835
- }
1836
- return registeredEvents;
1837
- }
1838
- function _doAttach(obj, evtName, handlerRef, useCapture) {
1839
- var result = false;
1840
- if (obj && evtName && evtName.type && handlerRef) {
1841
- if (obj[strAddEventHelper]) {
1842
- obj[strAddEventHelper](evtName.type, handlerRef, useCapture);
1843
- result = true;
1844
- }
1845
- else if (obj[strAttachEvent]) {
1846
- obj[strAttachEvent](strOnPrefix + evtName.type, handlerRef);
1847
- result = true;
1848
- }
1849
- }
1850
- return result;
1851
- }
1852
- function mergeEvtNamespace(theNamespace, namespaces) {
1853
- var newNamespaces;
1854
- if (namespaces) {
1855
- if (isArray(namespaces)) {
1856
- newNamespaces = [theNamespace].concat(namespaces);
1857
- }
1858
- else {
1859
- newNamespaces = [theNamespace, namespaces];
1860
- }
1861
- newNamespaces = (_getEvtNamespace("xx", newNamespaces).ns).split(".");
1862
- }
1863
- else {
1864
- newNamespaces = theNamespace;
1865
- }
1866
- return newNamespaces;
1867
- }
1868
- function eventOn(target, eventName, handlerRef, evtNamespace, useCapture) {
1869
- if (useCapture === void 0) { useCapture = false; }
1870
- var result = false;
1871
- if (target) {
1872
- try {
1873
- var evtName = _getEvtNamespace(eventName, evtNamespace);
1874
- result = _doAttach(target, evtName, handlerRef, useCapture);
1875
- if (result && elmNodeData.accept(target)) {
1876
- var registeredEvent = {
1877
- guid: _guid++,
1878
- evtName: evtName,
1879
- handler: handlerRef,
1880
- capture: useCapture
1881
- };
1882
- _getRegisteredEvents(target, evtName.type).push(registeredEvent);
1883
- }
1884
- }
1885
- catch (e) {
1886
- }
1887
- }
1888
- return result;
1889
- }
1890
-
1891
- function generateW3CId() {
1892
- var hexValues = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
1893
- var oct = strEmpty$1, tmp;
1894
- for (var a = 0; a < 4; a++) {
1895
- tmp = random32();
1896
- oct +=
1897
- hexValues[tmp & 0xF] +
1898
- hexValues[tmp >> 4 & 0xF] +
1899
- hexValues[tmp >> 8 & 0xF] +
1900
- hexValues[tmp >> 12 & 0xF] +
1901
- hexValues[tmp >> 16 & 0xF] +
1902
- hexValues[tmp >> 20 & 0xF] +
1903
- hexValues[tmp >> 24 & 0xF] +
1904
- hexValues[tmp >> 28 & 0xF];
1905
- }
1906
- var clockSequenceHi = hexValues[8 + (random32() & 0x03) | 0];
1907
- return oct.substr(0, 8) + oct.substr(9, 4) + "4" + oct.substr(13, 3) + clockSequenceHi + oct.substr(16, 3) + oct.substr(19, 12);
1908
- }
1909
-
1910
1974
  var aiInstrumentHooks = "_aiHooks";
1911
1975
  var cbNames = [
1912
1976
  "req", "rsp", "hkErr", "fnErr"
@@ -2361,6 +2425,43 @@
2361
2425
  }
2362
2426
  return result;
2363
2427
  }
2428
+ function createDistributedTraceContextFromTrace(telemetryTrace, parentCtx) {
2429
+ var trace = telemetryTrace || {};
2430
+ return {
2431
+ getName: function () {
2432
+ return trace.name;
2433
+ },
2434
+ setName: function (newValue) {
2435
+ parentCtx && parentCtx.setName(newValue);
2436
+ trace.name = newValue;
2437
+ },
2438
+ getTraceId: function () {
2439
+ return trace.traceID;
2440
+ },
2441
+ setTraceId: function (newValue) {
2442
+ parentCtx && parentCtx.setTraceId(newValue);
2443
+ if (isValidTraceId(newValue)) {
2444
+ trace.traceID = newValue;
2445
+ }
2446
+ },
2447
+ getSpanId: function () {
2448
+ return trace.parentID;
2449
+ },
2450
+ setSpanId: function (newValue) {
2451
+ parentCtx && parentCtx.setSpanId(newValue);
2452
+ if (isValidSpanId(newValue)) {
2453
+ trace.parentID = newValue;
2454
+ }
2455
+ },
2456
+ getTraceFlags: function () {
2457
+ return trace.traceFlags;
2458
+ },
2459
+ setTraceFlags: function (newTraceFlags) {
2460
+ parentCtx && parentCtx.setTraceFlags(newTraceFlags);
2461
+ trace.traceFlags = newTraceFlags;
2462
+ }
2463
+ };
2464
+ }
2364
2465
 
2365
2466
  var RemoteDependencyData = /** @class */ (function () {
2366
2467
  function RemoteDependencyData(logger, id, absoluteUrl, commandName, value, success, resultCode, method, requestAPI, correlationContext, properties, measurements) {
@@ -2440,61 +2541,6 @@
2440
2541
  return telemetryItem;
2441
2542
  }
2442
2543
 
2443
- var DEFAULT_VERSION = "00";
2444
- var INVALID_VERSION = "ff";
2445
- var INVALID_TRACE_ID = "00000000000000000000000000000000";
2446
- var INVALID_SPAN_ID = "0000000000000000";
2447
- function _isValid(value, len, invalidValue) {
2448
- if (value && value.length === len && value !== invalidValue) {
2449
- return !!value.match(/^[\da-f]*$/);
2450
- }
2451
- return false;
2452
- }
2453
- function _formatValue(value, len, defValue) {
2454
- if (_isValid(value, len)) {
2455
- return value;
2456
- }
2457
- return defValue;
2458
- }
2459
- function _formatFlags(value) {
2460
- if (isNaN(value) || value < 0 || value > 255) {
2461
- value = 0x01;
2462
- }
2463
- var result = value.toString(16);
2464
- while (result.length < 2) {
2465
- result = "0" + result;
2466
- }
2467
- return result;
2468
- }
2469
- function createTraceParent(traceId, spanId, flags, version) {
2470
- return {
2471
- version: _isValid(version, 2, INVALID_VERSION) ? version : DEFAULT_VERSION,
2472
- traceId: isValidTraceId(traceId) ? traceId : generateW3CId(),
2473
- spanId: isValidSpanId(spanId) ? spanId : generateW3CId().substr(0, 16),
2474
- traceFlags: flags >= 0 && flags <= 0xFF ? flags : 1
2475
- };
2476
- }
2477
- function isValidTraceId(value) {
2478
- return _isValid(value, 32, INVALID_TRACE_ID);
2479
- }
2480
- function isValidSpanId(value) {
2481
- return _isValid(value, 16, INVALID_SPAN_ID);
2482
- }
2483
- function formatTraceParent(value) {
2484
- if (value) {
2485
- var flags = _formatFlags(value.traceFlags);
2486
- if (!_isValid(flags, 2)) {
2487
- flags = "01";
2488
- }
2489
- var version = value.version || DEFAULT_VERSION;
2490
- if (version !== "00" && version !== "ff") {
2491
- version = DEFAULT_VERSION;
2492
- }
2493
- return "".concat(version, "-").concat(_formatValue(value.traceId, 32, INVALID_TRACE_ID), "-").concat(_formatValue(value.spanId, 16, INVALID_SPAN_ID), "-").concat(flags);
2494
- }
2495
- return "";
2496
- }
2497
-
2498
2544
  var PropertiesPluginIdentifier = "AppInsightsPropertiesPlugin";
2499
2545
 
2500
2546
  var strProperties = "properties";
@@ -2785,6 +2831,35 @@
2785
2831
  }
2786
2832
  return -1;
2787
2833
  }
2834
+ function _processDependencyListeners(listeners, core, ajaxData, xhr, input, init) {
2835
+ var initializersCount = listeners.length;
2836
+ if (initializersCount > 0) {
2837
+ var details = {
2838
+ core: core,
2839
+ xhr: xhr,
2840
+ input: input,
2841
+ init: init,
2842
+ traceId: ajaxData.traceID,
2843
+ spanId: ajaxData.spanID,
2844
+ traceFlags: ajaxData.traceFlags
2845
+ };
2846
+ for (var i = 0; i < initializersCount; ++i) {
2847
+ var dependencyListener = listeners[i];
2848
+ if (dependencyListener && dependencyListener.fn) {
2849
+ try {
2850
+ dependencyListener.fn.call(null, details);
2851
+ }
2852
+ catch (e) {
2853
+ var core_1 = details.core;
2854
+ _throwInternal(core_1 && core_1.logger, 1 , 64 , "Dependency listener [#" + i + "] failed: " + getExceptionName(e), { exception: dumpObj(e) }, true);
2855
+ }
2856
+ }
2857
+ }
2858
+ ajaxData.traceID = details.traceId;
2859
+ ajaxData.spanID = details.spanId;
2860
+ ajaxData.traceFlags = details.traceFlags;
2861
+ }
2862
+ }
2788
2863
  var AjaxMonitor = /** @class */ (function (_super) {
2789
2864
  __extendsFn(AjaxMonitor, _super);
2790
2865
  function AjaxMonitor() {
@@ -2811,6 +2886,8 @@
2811
2886
  var _excludeRequestFromAutoTrackingPatterns;
2812
2887
  var _addRequestContext;
2813
2888
  var _evtNamespace;
2889
+ var _dependencyListenerId;
2890
+ var _dependencyListeners;
2814
2891
  dynamicProto(AjaxMonitor, _this, function (_self, _base) {
2815
2892
  var _addHook = _base._addHook;
2816
2893
  _initDefaults();
@@ -2832,6 +2909,7 @@
2832
2909
  };
2833
2910
  _self.includeCorrelationHeaders = function (ajaxData, input, init, xhr) {
2834
2911
  var currentWindowHost = _self["_currentWindowHost"] || _currentWindowHost;
2912
+ _processDependencyListeners(_dependencyListeners, _self.core, ajaxData, xhr, input, init);
2835
2913
  if (input) {
2836
2914
  if (CorrelationIdHelper.canIncludeCorrelationHeader(_config, ajaxData.getAbsoluteUrl(), currentWindowHost)) {
2837
2915
  if (!init) {
@@ -2853,7 +2931,11 @@
2853
2931
  }
2854
2932
  }
2855
2933
  if (_isUsingW3CHeaders) {
2856
- var traceParent = formatTraceParent(createTraceParent(ajaxData.traceID, ajaxData.spanID, 0x01));
2934
+ var traceFlags = ajaxData.traceFlags;
2935
+ if (isNullOrUndefined(traceFlags)) {
2936
+ traceFlags = 0x01;
2937
+ }
2938
+ var traceParent = formatTraceParent(createTraceParent(ajaxData.traceID, ajaxData.spanID, traceFlags));
2857
2939
  init.headers.set(RequestHeaders[4 ], traceParent);
2858
2940
  if (_enableRequestHeaderTracking) {
2859
2941
  ajaxData.requestHeaders[RequestHeaders[4 ]] = traceParent;
@@ -2879,7 +2961,11 @@
2879
2961
  }
2880
2962
  }
2881
2963
  if (_isUsingW3CHeaders) {
2882
- var traceParent = formatTraceParent(createTraceParent(ajaxData.traceID, ajaxData.spanID, 0x01));
2964
+ var traceFlags = ajaxData.traceFlags;
2965
+ if (isNullOrUndefined(traceFlags)) {
2966
+ traceFlags = 0x01;
2967
+ }
2968
+ var traceParent = formatTraceParent(createTraceParent(ajaxData.traceID, ajaxData.spanID, traceFlags));
2883
2969
  xhr.setRequestHeader(RequestHeaders[4 ], traceParent);
2884
2970
  if (_enableRequestHeaderTracking) {
2885
2971
  ajaxData.requestHeaders[RequestHeaders[4 ]] = traceParent;
@@ -2908,6 +2994,24 @@
2908
2994
  }
2909
2995
  ++_trackAjaxAttempts;
2910
2996
  };
2997
+ _self.addDependencyListener = function (dependencyListener) {
2998
+ var theInitializer = {
2999
+ id: _dependencyListenerId++,
3000
+ fn: dependencyListener
3001
+ };
3002
+ _dependencyListeners.push(theInitializer);
3003
+ var handler = {
3004
+ remove: function () {
3005
+ arrForEach(_dependencyListeners, function (initializer, idx) {
3006
+ if (initializer.id === theInitializer.id) {
3007
+ _dependencyListeners.splice(idx, 1);
3008
+ return -1;
3009
+ }
3010
+ });
3011
+ }
3012
+ };
3013
+ return handler;
3014
+ };
2911
3015
  function _initDefaults() {
2912
3016
  var location = getLocation();
2913
3017
  _fetchInitialized = false;
@@ -2930,6 +3034,8 @@
2930
3034
  _excludeRequestFromAutoTrackingPatterns = null;
2931
3035
  _addRequestContext = null;
2932
3036
  _evtNamespace = null;
3037
+ _dependencyListenerId = 0;
3038
+ _dependencyListeners = [];
2933
3039
  }
2934
3040
  function _populateDefaults(config) {
2935
3041
  var ctx = createProcessTelemetryContext(null, config, _self.core);
@@ -3168,10 +3274,22 @@
3168
3274
  return initialized
3169
3275
  && ajaxValidation;
3170
3276
  }
3277
+ function _getDistributedTraceCtx() {
3278
+ var distributedTraceCtx = null;
3279
+ if (_self.core && _self.core.getTraceCtx) {
3280
+ distributedTraceCtx = _self.core.getTraceCtx(false);
3281
+ }
3282
+ if (!distributedTraceCtx && _context && _context.telemetryTrace) {
3283
+ distributedTraceCtx = createDistributedTraceContextFromTrace(_context.telemetryTrace);
3284
+ }
3285
+ return distributedTraceCtx;
3286
+ }
3171
3287
  function _openHandler(xhr, method, url, async) {
3172
- var traceID = (_context && _context.telemetryTrace && _context.telemetryTrace.traceID) || generateW3CId();
3288
+ var distributedTraceCtx = _getDistributedTraceCtx();
3289
+ var traceID = (distributedTraceCtx && distributedTraceCtx.getTraceId()) || generateW3CId();
3173
3290
  var spanID = generateW3CId().substr(0, 16);
3174
3291
  var ajaxData = new ajaxRecord(traceID, spanID, _self[strDiagLog]());
3292
+ ajaxData.traceFlags = distributedTraceCtx && distributedTraceCtx.getTraceFlags();
3175
3293
  ajaxData.method = method;
3176
3294
  ajaxData.requestUrl = url;
3177
3295
  ajaxData.xhrMonitoringState.openDone = true;
@@ -3367,9 +3485,11 @@
3367
3485
  })();
3368
3486
  }
3369
3487
  function _createFetchRecord(input, init) {
3370
- var traceID = (_context && _context.telemetryTrace && _context.telemetryTrace.traceID) || generateW3CId();
3488
+ var distributedTraceCtx = _getDistributedTraceCtx();
3489
+ var traceID = (distributedTraceCtx && distributedTraceCtx.getTraceId()) || generateW3CId();
3371
3490
  var spanID = generateW3CId().substr(0, 16);
3372
3491
  var ajaxData = new ajaxRecord(traceID, spanID, _self[strDiagLog]());
3492
+ ajaxData.traceFlags = distributedTraceCtx && distributedTraceCtx.getTraceFlags();
3373
3493
  ajaxData.requestSentTime = dateTimeUtilsNow();
3374
3494
  ajaxData.errorStatusText = _enableAjaxErrorStatusText;
3375
3495
  if (input instanceof Request) {