@microsoft/applicationinsights-dependencies-js 2.8.4-nightly.2205-07 → 2.8.4-nightly.2205-10
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.
- package/browser/applicationinsights-dependencies-js.integrity.json +9 -9
- package/browser/applicationinsights-dependencies-js.js +315 -190
- package/browser/applicationinsights-dependencies-js.js.map +1 -1
- package/browser/applicationinsights-dependencies-js.min.js +2 -2
- package/browser/applicationinsights-dependencies-js.min.js.map +1 -1
- package/dist/applicationinsights-dependencies-js.api.json +92 -3
- package/dist/applicationinsights-dependencies-js.api.md +8 -1
- package/dist/applicationinsights-dependencies-js.d.ts +65 -2
- package/dist/applicationinsights-dependencies-js.js +315 -190
- package/dist/applicationinsights-dependencies-js.js.map +1 -1
- package/dist/applicationinsights-dependencies-js.min.js +2 -2
- package/dist/applicationinsights-dependencies-js.min.js.map +1 -1
- package/dist/applicationinsights-dependencies-js.rollup.d.ts +65 -2
- package/dist-esm/DependencyListener.js +8 -0
- package/dist-esm/DependencyListener.js.map +1 -0
- package/dist-esm/ajax.js +121 -45
- package/dist-esm/ajax.js.map +1 -1
- package/dist-esm/ajaxRecord.js +1 -1
- package/dist-esm/ajaxUtils.js +1 -1
- package/dist-esm/applicationinsights-dependencies-js.js +1 -1
- package/package.json +4 -4
- package/src/DependencyListener.ts +65 -0
- package/src/ajax.ts +121 -9
- package/src/ajaxRecord.ts +1 -0
- package/types/DependencyListener.d.ts +52 -0
- package/types/ajax.d.ts +9 -1
- package/types/ajaxRecord.d.ts +1 -0
- package/types/tsdoc-metadata.json +1 -1
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "applicationinsights-dependencies-js",
|
|
3
|
-
"version": "2.8.4-nightly.2205-
|
|
3
|
+
"version": "2.8.4-nightly.2205-10",
|
|
4
4
|
"ext": {
|
|
5
5
|
"@js": {
|
|
6
6
|
"file": "applicationinsights-dependencies-js.js",
|
|
7
7
|
"type": "text/javascript; charset=utf-8",
|
|
8
|
-
"integrity": "sha256
|
|
8
|
+
"integrity": "sha256-vYehBv5hLHHmZ3Uy/RtsiI4LfIGy3QAlrssgfNvF7c4= sha384-uHvsVvgG6qpn0riQ/mULIWbLiBC/ir2WS6QDsHavfbdxyGhncuOYJc1Attv9qEAn sha512-5yzDinkSF49MnZLbO6kFsLVdGZbwdEZc1aXVSJ2ZupmmztenbM0hIJPH/+0Wjhn+K596D/mJoBar5unmWfNUCw==",
|
|
9
9
|
"hashes": {
|
|
10
|
-
"sha256": "
|
|
11
|
-
"sha384": "
|
|
12
|
-
"sha512": "
|
|
10
|
+
"sha256": "vYehBv5hLHHmZ3Uy/RtsiI4LfIGy3QAlrssgfNvF7c4=",
|
|
11
|
+
"sha384": "uHvsVvgG6qpn0riQ/mULIWbLiBC/ir2WS6QDsHavfbdxyGhncuOYJc1Attv9qEAn",
|
|
12
|
+
"sha512": "5yzDinkSF49MnZLbO6kFsLVdGZbwdEZc1aXVSJ2ZupmmztenbM0hIJPH/+0Wjhn+K596D/mJoBar5unmWfNUCw=="
|
|
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-
|
|
18
|
+
"integrity": "sha256-Zp4bz61TktgBsJy00l2mC215qSW4M4FTIkwbRSxgXz0= sha384-wTKQKgl1C8MUtPh/NQMprz4GvlN7vqswC6hB/yZLjd3zE3uRxICvJdIKQcMwB79f sha512-7y1bL3/64WX9gVhn4MWz5g+/KbrTdeMiUQaipwRnavyH9eyTaTqw7AwBr7rIZi/d1wqqPQ9YK5PelJMgkrpCoA==",
|
|
19
19
|
"hashes": {
|
|
20
|
-
"sha256": "
|
|
21
|
-
"sha384": "
|
|
22
|
-
"sha512": "
|
|
20
|
+
"sha256": "Zp4bz61TktgBsJy00l2mC215qSW4M4FTIkwbRSxgXz0=",
|
|
21
|
+
"sha384": "wTKQKgl1C8MUtPh/NQMprz4GvlN7vqswC6hB/yZLjd3zE3uRxICvJdIKQcMwB79f",
|
|
22
|
+
"sha512": "7y1bL3/64WX9gVhn4MWz5g+/KbrTdeMiUQaipwRnavyH9eyTaTqw7AwBr7rIZi/d1wqqPQ9YK5PelJMgkrpCoA=="
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Application Insights JavaScript SDK - Dependencies Plugin, 2.8.4-nightly.2205-
|
|
2
|
+
* Application Insights JavaScript SDK - Dependencies Plugin, 2.8.4-nightly.2205-10
|
|
3
3
|
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
(function (global, factory) {
|
|
@@ -108,6 +108,8 @@
|
|
|
108
108
|
var strDoTeardown = "_doTeardown";
|
|
109
109
|
|
|
110
110
|
var strToISOString = "toISOString";
|
|
111
|
+
var cStrEndsWith = "endsWith";
|
|
112
|
+
var cStrStartsWith = "startsWith";
|
|
111
113
|
var strIndexOf = "indexOf";
|
|
112
114
|
var cStrTrim = "trim";
|
|
113
115
|
var strToString = "toString";
|
|
@@ -115,9 +117,12 @@
|
|
|
115
117
|
var strConstructor = "constructor";
|
|
116
118
|
var _objDefineProperty$1 = ObjDefineProperty;
|
|
117
119
|
var _objFreeze = ObjClass.freeze;
|
|
120
|
+
ObjClass.seal;
|
|
118
121
|
var _objKeys = ObjClass.keys;
|
|
119
122
|
var StringProto = String[strShimPrototype];
|
|
120
123
|
var _strTrim = StringProto[cStrTrim];
|
|
124
|
+
StringProto[cStrEndsWith];
|
|
125
|
+
StringProto[cStrStartsWith];
|
|
121
126
|
var DateProto = Date[strShimPrototype];
|
|
122
127
|
var _dataToISOString = DateProto[strToISOString];
|
|
123
128
|
var _isArray = Array.isArray;
|
|
@@ -187,6 +192,9 @@
|
|
|
187
192
|
function _isArrayPoly(obj) {
|
|
188
193
|
return !!(obj && _objToString.call(obj) === "[object Array]");
|
|
189
194
|
}
|
|
195
|
+
function isError(obj) {
|
|
196
|
+
return !!(obj && _objToString.call(obj) === "[object Error]");
|
|
197
|
+
}
|
|
190
198
|
function isString(value) {
|
|
191
199
|
return typeof value === "string";
|
|
192
200
|
}
|
|
@@ -348,6 +356,12 @@
|
|
|
348
356
|
var dt = Date;
|
|
349
357
|
return dt.now ? dt.now() : new dt().getTime();
|
|
350
358
|
}
|
|
359
|
+
function getExceptionName(object) {
|
|
360
|
+
if (isError(object)) {
|
|
361
|
+
return object.name;
|
|
362
|
+
}
|
|
363
|
+
return strEmpty$1;
|
|
364
|
+
}
|
|
351
365
|
function setValue(target, field, value, valChk, srcChk) {
|
|
352
366
|
var theValue = value;
|
|
353
367
|
if (target) {
|
|
@@ -1176,7 +1190,7 @@
|
|
|
1176
1190
|
}
|
|
1177
1191
|
|
|
1178
1192
|
var _objDefineProperty = ObjDefineProperty;
|
|
1179
|
-
var version = "2.8.4-nightly.2205-
|
|
1193
|
+
var version = "2.8.4-nightly.2205-10";
|
|
1180
1194
|
var instanceName = "." + newId(6);
|
|
1181
1195
|
var _dataUid = 0;
|
|
1182
1196
|
function _createAccessor(target, prop, value) {
|
|
@@ -1247,6 +1261,190 @@
|
|
|
1247
1261
|
return data;
|
|
1248
1262
|
}
|
|
1249
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
|
+
|
|
1250
1448
|
var pluginStateData = createElmNodeData("plugin");
|
|
1251
1449
|
function _getPluginState(plugin) {
|
|
1252
1450
|
return pluginStateData.get(plugin, "state", {}, true);
|
|
@@ -1773,135 +1971,6 @@
|
|
|
1773
1971
|
return BaseTelemetryPlugin;
|
|
1774
1972
|
}());
|
|
1775
1973
|
|
|
1776
|
-
var strOnPrefix = "on";
|
|
1777
|
-
var strAttachEvent = "attachEvent";
|
|
1778
|
-
var strAddEventHelper = "addEventListener";
|
|
1779
|
-
var strEvents = "events";
|
|
1780
|
-
createUniqueNamespace("aiEvtPageHide");
|
|
1781
|
-
createUniqueNamespace("aiEvtPageShow");
|
|
1782
|
-
var rRemoveEmptyNs = /\.[\.]+/g;
|
|
1783
|
-
var rRemoveTrailingEmptyNs = /[\.]+$/;
|
|
1784
|
-
var _guid = 1;
|
|
1785
|
-
var elmNodeData = createElmNodeData("events");
|
|
1786
|
-
var eventNamespace = /^([^.]*)(?:\.(.+)|)/;
|
|
1787
|
-
function _normalizeNamespace(name) {
|
|
1788
|
-
if (name && name.replace) {
|
|
1789
|
-
return name.replace(/^\s*\.*|\.*\s*$/g, "");
|
|
1790
|
-
}
|
|
1791
|
-
return name;
|
|
1792
|
-
}
|
|
1793
|
-
function _getEvtNamespace(eventName, evtNamespace) {
|
|
1794
|
-
if (evtNamespace) {
|
|
1795
|
-
var theNamespace_1 = "";
|
|
1796
|
-
if (isArray(evtNamespace)) {
|
|
1797
|
-
theNamespace_1 = "";
|
|
1798
|
-
arrForEach(evtNamespace, function (name) {
|
|
1799
|
-
name = _normalizeNamespace(name);
|
|
1800
|
-
if (name) {
|
|
1801
|
-
if (name[0] !== ".") {
|
|
1802
|
-
name = "." + name;
|
|
1803
|
-
}
|
|
1804
|
-
theNamespace_1 += name;
|
|
1805
|
-
}
|
|
1806
|
-
});
|
|
1807
|
-
}
|
|
1808
|
-
else {
|
|
1809
|
-
theNamespace_1 = _normalizeNamespace(evtNamespace);
|
|
1810
|
-
}
|
|
1811
|
-
if (theNamespace_1) {
|
|
1812
|
-
if (theNamespace_1[0] !== ".") {
|
|
1813
|
-
theNamespace_1 = "." + theNamespace_1;
|
|
1814
|
-
}
|
|
1815
|
-
eventName = (eventName || "") + theNamespace_1;
|
|
1816
|
-
}
|
|
1817
|
-
}
|
|
1818
|
-
var parsedEvent = (eventNamespace.exec(eventName || "") || []);
|
|
1819
|
-
return {
|
|
1820
|
-
type: parsedEvent[1],
|
|
1821
|
-
ns: ((parsedEvent[2] || "").replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, "").split(".").sort()).join(".")
|
|
1822
|
-
};
|
|
1823
|
-
}
|
|
1824
|
-
function _getRegisteredEvents(target, evtName, addDefault) {
|
|
1825
|
-
if (addDefault === void 0) { addDefault = true; }
|
|
1826
|
-
var aiEvts = elmNodeData.get(target, strEvents, {}, addDefault);
|
|
1827
|
-
var registeredEvents = aiEvts[evtName];
|
|
1828
|
-
if (!registeredEvents) {
|
|
1829
|
-
registeredEvents = aiEvts[evtName] = [];
|
|
1830
|
-
}
|
|
1831
|
-
return registeredEvents;
|
|
1832
|
-
}
|
|
1833
|
-
function _doAttach(obj, evtName, handlerRef, useCapture) {
|
|
1834
|
-
var result = false;
|
|
1835
|
-
if (obj && evtName && evtName.type && handlerRef) {
|
|
1836
|
-
if (obj[strAddEventHelper]) {
|
|
1837
|
-
obj[strAddEventHelper](evtName.type, handlerRef, useCapture);
|
|
1838
|
-
result = true;
|
|
1839
|
-
}
|
|
1840
|
-
else if (obj[strAttachEvent]) {
|
|
1841
|
-
obj[strAttachEvent](strOnPrefix + evtName.type, handlerRef);
|
|
1842
|
-
result = true;
|
|
1843
|
-
}
|
|
1844
|
-
}
|
|
1845
|
-
return result;
|
|
1846
|
-
}
|
|
1847
|
-
function mergeEvtNamespace(theNamespace, namespaces) {
|
|
1848
|
-
var newNamespaces;
|
|
1849
|
-
if (namespaces) {
|
|
1850
|
-
if (isArray(namespaces)) {
|
|
1851
|
-
newNamespaces = [theNamespace].concat(namespaces);
|
|
1852
|
-
}
|
|
1853
|
-
else {
|
|
1854
|
-
newNamespaces = [theNamespace, namespaces];
|
|
1855
|
-
}
|
|
1856
|
-
newNamespaces = (_getEvtNamespace("xx", newNamespaces).ns).split(".");
|
|
1857
|
-
}
|
|
1858
|
-
else {
|
|
1859
|
-
newNamespaces = theNamespace;
|
|
1860
|
-
}
|
|
1861
|
-
return newNamespaces;
|
|
1862
|
-
}
|
|
1863
|
-
function eventOn(target, eventName, handlerRef, evtNamespace, useCapture) {
|
|
1864
|
-
if (useCapture === void 0) { useCapture = false; }
|
|
1865
|
-
var result = false;
|
|
1866
|
-
if (target) {
|
|
1867
|
-
try {
|
|
1868
|
-
var evtName = _getEvtNamespace(eventName, evtNamespace);
|
|
1869
|
-
result = _doAttach(target, evtName, handlerRef, useCapture);
|
|
1870
|
-
if (result && elmNodeData.accept(target)) {
|
|
1871
|
-
var registeredEvent = {
|
|
1872
|
-
guid: _guid++,
|
|
1873
|
-
evtName: evtName,
|
|
1874
|
-
handler: handlerRef,
|
|
1875
|
-
capture: useCapture
|
|
1876
|
-
};
|
|
1877
|
-
_getRegisteredEvents(target, evtName.type).push(registeredEvent);
|
|
1878
|
-
}
|
|
1879
|
-
}
|
|
1880
|
-
catch (e) {
|
|
1881
|
-
}
|
|
1882
|
-
}
|
|
1883
|
-
return result;
|
|
1884
|
-
}
|
|
1885
|
-
|
|
1886
|
-
function generateW3CId() {
|
|
1887
|
-
var hexValues = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
|
|
1888
|
-
var oct = strEmpty$1, tmp;
|
|
1889
|
-
for (var a = 0; a < 4; a++) {
|
|
1890
|
-
tmp = random32();
|
|
1891
|
-
oct +=
|
|
1892
|
-
hexValues[tmp & 0xF] +
|
|
1893
|
-
hexValues[tmp >> 4 & 0xF] +
|
|
1894
|
-
hexValues[tmp >> 8 & 0xF] +
|
|
1895
|
-
hexValues[tmp >> 12 & 0xF] +
|
|
1896
|
-
hexValues[tmp >> 16 & 0xF] +
|
|
1897
|
-
hexValues[tmp >> 20 & 0xF] +
|
|
1898
|
-
hexValues[tmp >> 24 & 0xF] +
|
|
1899
|
-
hexValues[tmp >> 28 & 0xF];
|
|
1900
|
-
}
|
|
1901
|
-
var clockSequenceHi = hexValues[8 + (random32() & 0x03) | 0];
|
|
1902
|
-
return oct.substr(0, 8) + oct.substr(9, 4) + "4" + oct.substr(13, 3) + clockSequenceHi + oct.substr(16, 3) + oct.substr(19, 12);
|
|
1903
|
-
}
|
|
1904
|
-
|
|
1905
1974
|
var aiInstrumentHooks = "_aiHooks";
|
|
1906
1975
|
var cbNames = [
|
|
1907
1976
|
"req", "rsp", "hkErr", "fnErr"
|
|
@@ -2356,6 +2425,43 @@
|
|
|
2356
2425
|
}
|
|
2357
2426
|
return result;
|
|
2358
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
|
+
}
|
|
2359
2465
|
|
|
2360
2466
|
var RemoteDependencyData = /** @class */ (function () {
|
|
2361
2467
|
function RemoteDependencyData(logger, id, absoluteUrl, commandName, value, success, resultCode, method, requestAPI, correlationContext, properties, measurements) {
|
|
@@ -2435,61 +2541,6 @@
|
|
|
2435
2541
|
return telemetryItem;
|
|
2436
2542
|
}
|
|
2437
2543
|
|
|
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.length === len && value !== invalidValue) {
|
|
2444
|
-
return !!value.match(/^[\da-f]*$/);
|
|
2445
|
-
}
|
|
2446
|
-
return false;
|
|
2447
|
-
}
|
|
2448
|
-
function _formatValue(value, len, defValue) {
|
|
2449
|
-
if (_isValid(value, len)) {
|
|
2450
|
-
return value;
|
|
2451
|
-
}
|
|
2452
|
-
return defValue;
|
|
2453
|
-
}
|
|
2454
|
-
function _formatFlags(value) {
|
|
2455
|
-
if (isNaN(value) || value < 0 || value > 255) {
|
|
2456
|
-
value = 0x01;
|
|
2457
|
-
}
|
|
2458
|
-
var result = value.toString(16);
|
|
2459
|
-
while (result.length < 2) {
|
|
2460
|
-
result = "0" + result;
|
|
2461
|
-
}
|
|
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 : generateW3CId().substr(0, 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.traceFlags);
|
|
2481
|
-
if (!_isValid(flags, 2)) {
|
|
2482
|
-
flags = "01";
|
|
2483
|
-
}
|
|
2484
|
-
var version = value.version || DEFAULT_VERSION;
|
|
2485
|
-
if (version !== "00" && version !== "ff") {
|
|
2486
|
-
version = DEFAULT_VERSION;
|
|
2487
|
-
}
|
|
2488
|
-
return "".concat(version, "-").concat(_formatValue(value.traceId, 32, INVALID_TRACE_ID), "-").concat(_formatValue(value.spanId, 16, INVALID_SPAN_ID), "-").concat(flags);
|
|
2489
|
-
}
|
|
2490
|
-
return "";
|
|
2491
|
-
}
|
|
2492
|
-
|
|
2493
2544
|
var PropertiesPluginIdentifier = "AppInsightsPropertiesPlugin";
|
|
2494
2545
|
|
|
2495
2546
|
var strProperties = "properties";
|
|
@@ -2780,6 +2831,35 @@
|
|
|
2780
2831
|
}
|
|
2781
2832
|
return -1;
|
|
2782
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
|
+
}
|
|
2783
2863
|
var AjaxMonitor = /** @class */ (function (_super) {
|
|
2784
2864
|
__extendsFn(AjaxMonitor, _super);
|
|
2785
2865
|
function AjaxMonitor() {
|
|
@@ -2806,6 +2886,8 @@
|
|
|
2806
2886
|
var _excludeRequestFromAutoTrackingPatterns;
|
|
2807
2887
|
var _addRequestContext;
|
|
2808
2888
|
var _evtNamespace;
|
|
2889
|
+
var _dependencyListenerId;
|
|
2890
|
+
var _dependencyListeners;
|
|
2809
2891
|
dynamicProto(AjaxMonitor, _this, function (_self, _base) {
|
|
2810
2892
|
var _addHook = _base._addHook;
|
|
2811
2893
|
_initDefaults();
|
|
@@ -2827,6 +2909,7 @@
|
|
|
2827
2909
|
};
|
|
2828
2910
|
_self.includeCorrelationHeaders = function (ajaxData, input, init, xhr) {
|
|
2829
2911
|
var currentWindowHost = _self["_currentWindowHost"] || _currentWindowHost;
|
|
2912
|
+
_processDependencyListeners(_dependencyListeners, _self.core, ajaxData, xhr, input, init);
|
|
2830
2913
|
if (input) {
|
|
2831
2914
|
if (CorrelationIdHelper.canIncludeCorrelationHeader(_config, ajaxData.getAbsoluteUrl(), currentWindowHost)) {
|
|
2832
2915
|
if (!init) {
|
|
@@ -2848,7 +2931,11 @@
|
|
|
2848
2931
|
}
|
|
2849
2932
|
}
|
|
2850
2933
|
if (_isUsingW3CHeaders) {
|
|
2851
|
-
var
|
|
2934
|
+
var traceFlags = ajaxData.traceFlags;
|
|
2935
|
+
if (isNullOrUndefined(traceFlags)) {
|
|
2936
|
+
traceFlags = 0x01;
|
|
2937
|
+
}
|
|
2938
|
+
var traceParent = formatTraceParent(createTraceParent(ajaxData.traceID, ajaxData.spanID, traceFlags));
|
|
2852
2939
|
init.headers.set(RequestHeaders[4 ], traceParent);
|
|
2853
2940
|
if (_enableRequestHeaderTracking) {
|
|
2854
2941
|
ajaxData.requestHeaders[RequestHeaders[4 ]] = traceParent;
|
|
@@ -2874,7 +2961,11 @@
|
|
|
2874
2961
|
}
|
|
2875
2962
|
}
|
|
2876
2963
|
if (_isUsingW3CHeaders) {
|
|
2877
|
-
var
|
|
2964
|
+
var traceFlags = ajaxData.traceFlags;
|
|
2965
|
+
if (isNullOrUndefined(traceFlags)) {
|
|
2966
|
+
traceFlags = 0x01;
|
|
2967
|
+
}
|
|
2968
|
+
var traceParent = formatTraceParent(createTraceParent(ajaxData.traceID, ajaxData.spanID, traceFlags));
|
|
2878
2969
|
xhr.setRequestHeader(RequestHeaders[4 ], traceParent);
|
|
2879
2970
|
if (_enableRequestHeaderTracking) {
|
|
2880
2971
|
ajaxData.requestHeaders[RequestHeaders[4 ]] = traceParent;
|
|
@@ -2903,6 +2994,24 @@
|
|
|
2903
2994
|
}
|
|
2904
2995
|
++_trackAjaxAttempts;
|
|
2905
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
|
+
};
|
|
2906
3015
|
function _initDefaults() {
|
|
2907
3016
|
var location = getLocation();
|
|
2908
3017
|
_fetchInitialized = false;
|
|
@@ -2925,6 +3034,8 @@
|
|
|
2925
3034
|
_excludeRequestFromAutoTrackingPatterns = null;
|
|
2926
3035
|
_addRequestContext = null;
|
|
2927
3036
|
_evtNamespace = null;
|
|
3037
|
+
_dependencyListenerId = 0;
|
|
3038
|
+
_dependencyListeners = [];
|
|
2928
3039
|
}
|
|
2929
3040
|
function _populateDefaults(config) {
|
|
2930
3041
|
var ctx = createProcessTelemetryContext(null, config, _self.core);
|
|
@@ -3163,10 +3274,22 @@
|
|
|
3163
3274
|
return initialized
|
|
3164
3275
|
&& ajaxValidation;
|
|
3165
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
|
+
}
|
|
3166
3287
|
function _openHandler(xhr, method, url, async) {
|
|
3167
|
-
var
|
|
3288
|
+
var distributedTraceCtx = _getDistributedTraceCtx();
|
|
3289
|
+
var traceID = (distributedTraceCtx && distributedTraceCtx.getTraceId()) || generateW3CId();
|
|
3168
3290
|
var spanID = generateW3CId().substr(0, 16);
|
|
3169
3291
|
var ajaxData = new ajaxRecord(traceID, spanID, _self[strDiagLog]());
|
|
3292
|
+
ajaxData.traceFlags = distributedTraceCtx && distributedTraceCtx.getTraceFlags();
|
|
3170
3293
|
ajaxData.method = method;
|
|
3171
3294
|
ajaxData.requestUrl = url;
|
|
3172
3295
|
ajaxData.xhrMonitoringState.openDone = true;
|
|
@@ -3362,9 +3485,11 @@
|
|
|
3362
3485
|
})();
|
|
3363
3486
|
}
|
|
3364
3487
|
function _createFetchRecord(input, init) {
|
|
3365
|
-
var
|
|
3488
|
+
var distributedTraceCtx = _getDistributedTraceCtx();
|
|
3489
|
+
var traceID = (distributedTraceCtx && distributedTraceCtx.getTraceId()) || generateW3CId();
|
|
3366
3490
|
var spanID = generateW3CId().substr(0, 16);
|
|
3367
3491
|
var ajaxData = new ajaxRecord(traceID, spanID, _self[strDiagLog]());
|
|
3492
|
+
ajaxData.traceFlags = distributedTraceCtx && distributedTraceCtx.getTraceFlags();
|
|
3368
3493
|
ajaxData.requestSentTime = dateTimeUtilsNow();
|
|
3369
3494
|
ajaxData.errorStatusText = _enableAjaxErrorStatusText;
|
|
3370
3495
|
if (input instanceof Request) {
|