@microsoft/applicationinsights-common 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-common.integrity.json +9 -9
- package/browser/applicationinsights-common.js +174 -127
- package/browser/applicationinsights-common.js.map +1 -1
- package/browser/applicationinsights-common.min.js +2 -2
- package/browser/applicationinsights-common.min.js.map +1 -1
- package/dist/applicationinsights-common.api.json +81 -501
- package/dist/applicationinsights-common.api.md +24 -23
- package/dist/applicationinsights-common.d.ts +33 -91
- package/dist/applicationinsights-common.js +174 -127
- package/dist/applicationinsights-common.js.map +1 -1
- package/dist/applicationinsights-common.min.js +2 -2
- package/dist/applicationinsights-common.min.js.map +1 -1
- package/dist/applicationinsights-common.rollup.d.ts +33 -91
- package/dist-esm/ConnectionStringParser.js +1 -1
- package/dist-esm/Constants.js +1 -1
- package/dist-esm/DomHelperFuncs.js +1 -1
- package/dist-esm/Enums.js +6 -6
- package/dist-esm/Enums.js.map +1 -1
- package/dist-esm/HelperFuncs.js +1 -1
- package/dist-esm/Interfaces/ConnectionString.js +1 -1
- package/dist-esm/Interfaces/Context/IApplication.js +1 -1
- package/dist-esm/Interfaces/Context/IDevice.js +1 -1
- package/dist-esm/Interfaces/Context/IInternal.js +1 -1
- package/dist-esm/Interfaces/Context/ILocation.js +1 -1
- package/dist-esm/Interfaces/Context/IOperatingSystem.js +1 -1
- package/dist-esm/Interfaces/Context/ISample.js +1 -1
- package/dist-esm/Interfaces/Context/ISession.js +1 -1
- package/dist-esm/Interfaces/Context/ITelemetryTrace.js +1 -1
- package/dist-esm/Interfaces/Context/IUser.js +1 -1
- package/dist-esm/Interfaces/Context/IWeb.js +1 -1
- package/dist-esm/Interfaces/Contracts/AvailabilityData.js +1 -1
- package/dist-esm/Interfaces/Contracts/ContextTagKeys.js +1 -1
- package/dist-esm/Interfaces/Contracts/DataPointType.js +1 -1
- package/dist-esm/Interfaces/Contracts/DependencyKind.js +1 -1
- package/dist-esm/Interfaces/Contracts/DependencySourceType.js +1 -1
- package/dist-esm/Interfaces/Contracts/IBase.js +1 -1
- package/dist-esm/Interfaces/Contracts/IData.js +1 -1
- package/dist-esm/Interfaces/Contracts/IDataPoint.js +1 -1
- package/dist-esm/Interfaces/Contracts/IDomain.js +1 -1
- package/dist-esm/Interfaces/Contracts/IEnvelope.js +1 -1
- package/dist-esm/Interfaces/Contracts/IEventData.js +1 -1
- package/dist-esm/Interfaces/Contracts/IExceptionData.js +1 -1
- package/dist-esm/Interfaces/Contracts/IExceptionDetails.js +1 -1
- package/dist-esm/Interfaces/Contracts/IMessageData.js +1 -1
- package/dist-esm/Interfaces/Contracts/IMetricData.js +1 -1
- package/dist-esm/Interfaces/Contracts/IPageViewData.js +1 -1
- package/dist-esm/Interfaces/Contracts/IPageViewPerfData.js +1 -1
- package/dist-esm/Interfaces/Contracts/IRemoteDependencyData.js +1 -1
- package/dist-esm/Interfaces/Contracts/IStackFrame.js +1 -1
- package/dist-esm/Interfaces/Contracts/RequestData.js +1 -1
- package/dist-esm/Interfaces/Contracts/SeverityLevel.js +6 -6
- package/dist-esm/Interfaces/Contracts/SeverityLevel.js.map +1 -1
- package/dist-esm/Interfaces/IAppInsights.js +1 -1
- package/dist-esm/Interfaces/IChannelControlsAI.js +1 -1
- package/dist-esm/Interfaces/IConfig.js +1 -1
- package/dist-esm/Interfaces/ICorrelationConfig.js +1 -1
- package/dist-esm/Interfaces/IDependencyTelemetry.js +1 -1
- package/dist-esm/Interfaces/IEventTelemetry.js +1 -1
- package/dist-esm/Interfaces/IExceptionTelemetry.js +1 -1
- package/dist-esm/Interfaces/IMetricTelemetry.js +1 -1
- package/dist-esm/Interfaces/IPageViewPerformanceTelemetry.js +1 -1
- package/dist-esm/Interfaces/IPageViewTelemetry.js +1 -1
- package/dist-esm/Interfaces/IPartC.js +1 -1
- package/dist-esm/Interfaces/IPropertiesPlugin.js +1 -1
- package/dist-esm/Interfaces/IRequestContext.js +1 -1
- package/dist-esm/Interfaces/ITelemetryContext.js +1 -1
- package/dist-esm/Interfaces/ITraceTelemetry.js +1 -1
- package/dist-esm/Interfaces/PartAExtensions.js +1 -1
- package/dist-esm/Interfaces/Telemetry/IEnvelope.js +1 -1
- package/dist-esm/Interfaces/Telemetry/ISerializable.js +1 -1
- package/dist-esm/RequestResponseHeaders.js +10 -10
- package/dist-esm/RequestResponseHeaders.js.map +1 -1
- package/dist-esm/StorageHelperFuncs.js +7 -7
- package/dist-esm/StorageHelperFuncs.js.map +1 -1
- package/dist-esm/Telemetry/Common/Data.js +3 -3
- package/dist-esm/Telemetry/Common/Data.js.map +1 -1
- package/dist-esm/Telemetry/Common/DataPoint.js +9 -9
- package/dist-esm/Telemetry/Common/DataPoint.js.map +1 -1
- package/dist-esm/Telemetry/Common/DataSanitizer.js +26 -26
- package/dist-esm/Telemetry/Common/DataSanitizer.js.map +1 -1
- package/dist-esm/Telemetry/Common/Envelope.js +7 -7
- package/dist-esm/Telemetry/Common/Envelope.js.map +1 -1
- package/dist-esm/Telemetry/Event.js +5 -5
- package/dist-esm/Telemetry/Event.js.map +1 -1
- package/dist-esm/Telemetry/Exception.js +18 -18
- package/dist-esm/Telemetry/Exception.js.map +1 -1
- package/dist-esm/Telemetry/Metric.js +4 -4
- package/dist-esm/Telemetry/Metric.js.map +1 -1
- package/dist-esm/Telemetry/PageView.js +8 -8
- package/dist-esm/Telemetry/PageView.js.map +1 -1
- package/dist-esm/Telemetry/PageViewPerformance.js +12 -12
- package/dist-esm/Telemetry/PageViewPerformance.js.map +1 -1
- package/dist-esm/Telemetry/RemoteDependencyData.js +22 -22
- package/dist-esm/Telemetry/RemoteDependencyData.js.map +1 -1
- package/dist-esm/Telemetry/Trace.js +5 -5
- package/dist-esm/Telemetry/Trace.js.map +1 -1
- package/dist-esm/TelemetryItemCreator.js +1 -1
- package/dist-esm/UrlHelperFuncs.js +1 -1
- package/dist-esm/Util.js +46 -3
- package/dist-esm/Util.js.map +1 -1
- package/dist-esm/applicationinsights-common.js +3 -4
- package/dist-esm/applicationinsights-common.js.map +1 -1
- package/package.json +3 -3
- package/src/Interfaces/Context/ITelemetryTrace.ts +6 -0
- package/src/Util.ts +49 -2
- package/src/applicationinsights-common.ts +6 -6
- package/types/Interfaces/Context/ITelemetryTrace.d.ts +5 -0
- package/types/Util.d.ts +9 -1
- package/types/applicationinsights-common.d.ts +2 -4
- package/types/tsdoc-metadata.json +1 -1
- package/dist-esm/Interfaces/ITraceParent.js +0 -8
- package/dist-esm/Interfaces/ITraceParent.js.map +0 -1
- package/dist-esm/W3cTraceParent.js +0 -192
- package/dist-esm/W3cTraceParent.js.map +0 -1
- package/src/Interfaces/ITraceParent.ts +0 -38
- package/src/W3cTraceParent.ts +0 -219
- package/types/Interfaces/ITraceParent.d.ts +0 -32
- package/types/W3cTraceParent.d.ts +0 -59
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "applicationinsights-common",
|
|
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-common.js",
|
|
7
7
|
"type": "text/javascript; charset=utf-8",
|
|
8
|
-
"integrity": "sha256-
|
|
8
|
+
"integrity": "sha256-K5Hft5U/6peApiXcvc0j4+TNFxxyeZv6fzoUcMIUcuk= sha384-LhNyv+6hC9bI9XnvigPVLZrkwW9f5NEUMZlXws4+dT58Hv+xw6xzuWbahgdKeq7Z sha512-I7m9U2o2wSfqQBsyP3+hQjo74ngMw4kJUPEAohxNr+Un9mEijsrV7m5kyU5eJnKGmh+rf/dj8EYuMDaleeFRjw==",
|
|
9
9
|
"hashes": {
|
|
10
|
-
"sha256": "
|
|
11
|
-
"sha384": "
|
|
12
|
-
"sha512": "
|
|
10
|
+
"sha256": "K5Hft5U/6peApiXcvc0j4+TNFxxyeZv6fzoUcMIUcuk=",
|
|
11
|
+
"sha384": "LhNyv+6hC9bI9XnvigPVLZrkwW9f5NEUMZlXws4+dT58Hv+xw6xzuWbahgdKeq7Z",
|
|
12
|
+
"sha512": "I7m9U2o2wSfqQBsyP3+hQjo74ngMw4kJUPEAohxNr+Un9mEijsrV7m5kyU5eJnKGmh+rf/dj8EYuMDaleeFRjw=="
|
|
13
13
|
}
|
|
14
14
|
},
|
|
15
15
|
"@min.js": {
|
|
16
16
|
"file": "applicationinsights-common.min.js",
|
|
17
17
|
"type": "text/javascript; charset=utf-8",
|
|
18
|
-
"integrity": "sha256-
|
|
18
|
+
"integrity": "sha256-E2Qab+RDpfwTJoJppJ8yeiQpcanXDz/R2eJHYZFbBRo= sha384-ghTeZZbb2A73wWANkMIDya2PxOEQgIVYqr9hyAA0pCq/9dQvucJZqklKeX0vUEsA sha512-NOzGUi1NSWyeV3FDI37yfnvmxywn8goUCEGnBWgzGm+dTQSJJXivRpsPYxk7gDEU1IWET1RMUWuG6waV5J+rew==",
|
|
19
19
|
"hashes": {
|
|
20
|
-
"sha256": "
|
|
21
|
-
"sha384": "
|
|
22
|
-
"sha512": "
|
|
20
|
+
"sha256": "E2Qab+RDpfwTJoJppJ8yeiQpcanXDz/R2eJHYZFbBRo=",
|
|
21
|
+
"sha384": "ghTeZZbb2A73wWANkMIDya2PxOEQgIVYqr9hyAA0pCq/9dQvucJZqklKeX0vUEsA",
|
|
22
|
+
"sha512": "NOzGUi1NSWyeV3FDI37yfnvmxywn8goUCEGnBWgzGm+dTQSJJXivRpsPYxk7gDEU1IWET1RMUWuG6waV5J+rew=="
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Application Insights JavaScript SDK - Common, 2.8.4-nightly.2205-
|
|
2
|
+
* Application Insights JavaScript SDK - Common, 2.8.4-nightly.2205-10
|
|
3
3
|
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
(function (global, factory) {
|
|
@@ -832,6 +832,35 @@
|
|
|
832
832
|
}
|
|
833
833
|
return _beaconsSupported;
|
|
834
834
|
}
|
|
835
|
+
function _getNamedValue(values, name) {
|
|
836
|
+
if (values) {
|
|
837
|
+
for (var i = 0; i < values.length; i++) {
|
|
838
|
+
var value = values[i];
|
|
839
|
+
if (value.name) {
|
|
840
|
+
if (value.name === name) {
|
|
841
|
+
return value;
|
|
842
|
+
}
|
|
843
|
+
}
|
|
844
|
+
}
|
|
845
|
+
}
|
|
846
|
+
return {};
|
|
847
|
+
}
|
|
848
|
+
function findMetaTag(name) {
|
|
849
|
+
var doc = getDocument();
|
|
850
|
+
if (doc && name) {
|
|
851
|
+
return _getNamedValue(doc.querySelectorAll("meta"), name).content;
|
|
852
|
+
}
|
|
853
|
+
return null;
|
|
854
|
+
}
|
|
855
|
+
function findNamedServerTiming(name) {
|
|
856
|
+
var value;
|
|
857
|
+
var perf = getPerformance();
|
|
858
|
+
if (perf) {
|
|
859
|
+
var navPerf = perf.getEntriesByType("navigation") || [];
|
|
860
|
+
value = _getNamedValue((navPerf.length > 0 ? navPerf[0] : {}).serverTiming, name).description;
|
|
861
|
+
}
|
|
862
|
+
return value;
|
|
863
|
+
}
|
|
835
864
|
|
|
836
865
|
var _aiNamespace = null;
|
|
837
866
|
function _getExtensionNamespace() {
|
|
@@ -1085,7 +1114,7 @@
|
|
|
1085
1114
|
}
|
|
1086
1115
|
|
|
1087
1116
|
var _objDefineProperty = ObjDefineProperty;
|
|
1088
|
-
var version = "2.8.4-nightly.2205-
|
|
1117
|
+
var version = "2.8.4-nightly.2205-10";
|
|
1089
1118
|
var instanceName = "." + newId(6);
|
|
1090
1119
|
var _dataUid = 0;
|
|
1091
1120
|
function _createAccessor(target, prop, value) {
|
|
@@ -1608,6 +1637,111 @@
|
|
|
1608
1637
|
return _legacyCookieMgr(null, logger).del(name);
|
|
1609
1638
|
}
|
|
1610
1639
|
|
|
1640
|
+
var TRACE_PARENT_REGEX = /^([\da-f]{2})-([\da-f]{32})-([\da-f]{16})-([\da-f]{2})(-[^\s]*)?$/;
|
|
1641
|
+
var DEFAULT_VERSION = "00";
|
|
1642
|
+
var INVALID_VERSION = "ff";
|
|
1643
|
+
var INVALID_TRACE_ID = "00000000000000000000000000000000";
|
|
1644
|
+
var INVALID_SPAN_ID = "0000000000000000";
|
|
1645
|
+
var SAMPLED_FLAG = 0x01;
|
|
1646
|
+
function _isValid(value, len, invalidValue) {
|
|
1647
|
+
if (value && value.length === len && value !== invalidValue) {
|
|
1648
|
+
return !!value.match(/^[\da-f]*$/);
|
|
1649
|
+
}
|
|
1650
|
+
return false;
|
|
1651
|
+
}
|
|
1652
|
+
function _formatValue(value, len, defValue) {
|
|
1653
|
+
if (_isValid(value, len)) {
|
|
1654
|
+
return value;
|
|
1655
|
+
}
|
|
1656
|
+
return defValue;
|
|
1657
|
+
}
|
|
1658
|
+
function _formatFlags(value) {
|
|
1659
|
+
if (isNaN(value) || value < 0 || value > 255) {
|
|
1660
|
+
value = 0x01;
|
|
1661
|
+
}
|
|
1662
|
+
var result = value.toString(16);
|
|
1663
|
+
while (result.length < 2) {
|
|
1664
|
+
result = "0" + result;
|
|
1665
|
+
}
|
|
1666
|
+
return result;
|
|
1667
|
+
}
|
|
1668
|
+
function createTraceParent(traceId, spanId, flags, version) {
|
|
1669
|
+
return {
|
|
1670
|
+
version: _isValid(version, 2, INVALID_VERSION) ? version : DEFAULT_VERSION,
|
|
1671
|
+
traceId: isValidTraceId(traceId) ? traceId : generateW3CId(),
|
|
1672
|
+
spanId: isValidSpanId(spanId) ? spanId : generateW3CId().substr(0, 16),
|
|
1673
|
+
traceFlags: flags >= 0 && flags <= 0xFF ? flags : 1
|
|
1674
|
+
};
|
|
1675
|
+
}
|
|
1676
|
+
function parseTraceParent(value) {
|
|
1677
|
+
if (!value) {
|
|
1678
|
+
return null;
|
|
1679
|
+
}
|
|
1680
|
+
if (isArray(value)) {
|
|
1681
|
+
value = value[0] || "";
|
|
1682
|
+
}
|
|
1683
|
+
if (!value || !isString(value) || value.length > 8192) {
|
|
1684
|
+
return null;
|
|
1685
|
+
}
|
|
1686
|
+
var match = TRACE_PARENT_REGEX.exec(strTrim(value));
|
|
1687
|
+
if (!match ||
|
|
1688
|
+
match[1] === INVALID_VERSION ||
|
|
1689
|
+
match[2] === INVALID_TRACE_ID ||
|
|
1690
|
+
match[3] === INVALID_SPAN_ID) {
|
|
1691
|
+
return null;
|
|
1692
|
+
}
|
|
1693
|
+
return {
|
|
1694
|
+
version: match[1],
|
|
1695
|
+
traceId: match[2],
|
|
1696
|
+
spanId: match[3],
|
|
1697
|
+
traceFlags: parseInt(match[4], 16)
|
|
1698
|
+
};
|
|
1699
|
+
}
|
|
1700
|
+
function isValidTraceId(value) {
|
|
1701
|
+
return _isValid(value, 32, INVALID_TRACE_ID);
|
|
1702
|
+
}
|
|
1703
|
+
function isValidSpanId(value) {
|
|
1704
|
+
return _isValid(value, 16, INVALID_SPAN_ID);
|
|
1705
|
+
}
|
|
1706
|
+
function isValidTraceParent(value) {
|
|
1707
|
+
if (!value ||
|
|
1708
|
+
!_isValid(value.version, 2, INVALID_VERSION) ||
|
|
1709
|
+
!_isValid(value.traceId, 32, INVALID_TRACE_ID) ||
|
|
1710
|
+
!_isValid(value.spanId, 16, INVALID_SPAN_ID) ||
|
|
1711
|
+
!_isValid(_formatFlags(value.traceFlags), 2)) {
|
|
1712
|
+
return false;
|
|
1713
|
+
}
|
|
1714
|
+
return true;
|
|
1715
|
+
}
|
|
1716
|
+
function isSampledFlag(value) {
|
|
1717
|
+
if (isValidTraceParent(value)) {
|
|
1718
|
+
return (value.traceFlags & SAMPLED_FLAG) === SAMPLED_FLAG;
|
|
1719
|
+
}
|
|
1720
|
+
return false;
|
|
1721
|
+
}
|
|
1722
|
+
function formatTraceParent(value) {
|
|
1723
|
+
if (value) {
|
|
1724
|
+
var flags = _formatFlags(value.traceFlags);
|
|
1725
|
+
if (!_isValid(flags, 2)) {
|
|
1726
|
+
flags = "01";
|
|
1727
|
+
}
|
|
1728
|
+
var version = value.version || DEFAULT_VERSION;
|
|
1729
|
+
if (version !== "00" && version !== "ff") {
|
|
1730
|
+
version = DEFAULT_VERSION;
|
|
1731
|
+
}
|
|
1732
|
+
return "".concat(version, "-").concat(_formatValue(value.traceId, 32, INVALID_TRACE_ID), "-").concat(_formatValue(value.spanId, 16, INVALID_SPAN_ID), "-").concat(flags);
|
|
1733
|
+
}
|
|
1734
|
+
return "";
|
|
1735
|
+
}
|
|
1736
|
+
function findW3cTraceParent() {
|
|
1737
|
+
var name = "traceparent";
|
|
1738
|
+
var traceParent = parseTraceParent(findMetaTag(name));
|
|
1739
|
+
if (!traceParent) {
|
|
1740
|
+
traceParent = parseTraceParent(findNamedServerTiming(name));
|
|
1741
|
+
}
|
|
1742
|
+
return traceParent;
|
|
1743
|
+
}
|
|
1744
|
+
|
|
1611
1745
|
var RequestHeaders = createValueMap({
|
|
1612
1746
|
requestContextHeader: [0 , "Request-Context"],
|
|
1613
1747
|
requestContextTargetKey: [1 , "appId"],
|
|
@@ -2212,6 +2346,43 @@
|
|
|
2212
2346
|
Now: dateTimeUtilsNow,
|
|
2213
2347
|
GetDuration: dateTimeUtilsDuration
|
|
2214
2348
|
};
|
|
2349
|
+
function createDistributedTraceContextFromTrace(telemetryTrace, parentCtx) {
|
|
2350
|
+
var trace = telemetryTrace || {};
|
|
2351
|
+
return {
|
|
2352
|
+
getName: function () {
|
|
2353
|
+
return trace.name;
|
|
2354
|
+
},
|
|
2355
|
+
setName: function (newValue) {
|
|
2356
|
+
parentCtx && parentCtx.setName(newValue);
|
|
2357
|
+
trace.name = newValue;
|
|
2358
|
+
},
|
|
2359
|
+
getTraceId: function () {
|
|
2360
|
+
return trace.traceID;
|
|
2361
|
+
},
|
|
2362
|
+
setTraceId: function (newValue) {
|
|
2363
|
+
parentCtx && parentCtx.setTraceId(newValue);
|
|
2364
|
+
if (isValidTraceId(newValue)) {
|
|
2365
|
+
trace.traceID = newValue;
|
|
2366
|
+
}
|
|
2367
|
+
},
|
|
2368
|
+
getSpanId: function () {
|
|
2369
|
+
return trace.parentID;
|
|
2370
|
+
},
|
|
2371
|
+
setSpanId: function (newValue) {
|
|
2372
|
+
parentCtx && parentCtx.setSpanId(newValue);
|
|
2373
|
+
if (isValidSpanId(newValue)) {
|
|
2374
|
+
trace.parentID = newValue;
|
|
2375
|
+
}
|
|
2376
|
+
},
|
|
2377
|
+
getTraceFlags: function () {
|
|
2378
|
+
return trace.traceFlags;
|
|
2379
|
+
},
|
|
2380
|
+
setTraceFlags: function (newTraceFlags) {
|
|
2381
|
+
parentCtx && parentCtx.setTraceFlags(newTraceFlags);
|
|
2382
|
+
trace.traceFlags = newTraceFlags;
|
|
2383
|
+
}
|
|
2384
|
+
};
|
|
2385
|
+
}
|
|
2215
2386
|
|
|
2216
2387
|
var _FIELDS_SEPARATOR = ";";
|
|
2217
2388
|
var _FIELD_KEY_VALUE_SEPARATOR = "=";
|
|
@@ -3079,131 +3250,6 @@
|
|
|
3079
3250
|
};
|
|
3080
3251
|
var CtxTagKeys = new ContextTagKeys();
|
|
3081
3252
|
|
|
3082
|
-
var TRACE_PARENT_REGEX = /^([\da-f]{2})-([\da-f]{32})-([\da-f]{16})-([\da-f]{2})(-[^\s]*)?$/;
|
|
3083
|
-
var DEFAULT_VERSION = "00";
|
|
3084
|
-
var INVALID_VERSION = "ff";
|
|
3085
|
-
var INVALID_TRACE_ID = "00000000000000000000000000000000";
|
|
3086
|
-
var INVALID_SPAN_ID = "0000000000000000";
|
|
3087
|
-
var SAMPLED_FLAG = 0x01;
|
|
3088
|
-
function _isValid(value, len, invalidValue) {
|
|
3089
|
-
if (value && value.length === len && value !== invalidValue) {
|
|
3090
|
-
return !!value.match(/^[\da-f]*$/);
|
|
3091
|
-
}
|
|
3092
|
-
return false;
|
|
3093
|
-
}
|
|
3094
|
-
function _formatValue(value, len, defValue) {
|
|
3095
|
-
if (_isValid(value, len)) {
|
|
3096
|
-
return value;
|
|
3097
|
-
}
|
|
3098
|
-
return defValue;
|
|
3099
|
-
}
|
|
3100
|
-
function _formatFlags(value) {
|
|
3101
|
-
if (isNaN(value) || value < 0 || value > 255) {
|
|
3102
|
-
value = 0x01;
|
|
3103
|
-
}
|
|
3104
|
-
var result = value.toString(16);
|
|
3105
|
-
while (result.length < 2) {
|
|
3106
|
-
result = "0" + result;
|
|
3107
|
-
}
|
|
3108
|
-
return result;
|
|
3109
|
-
}
|
|
3110
|
-
function _getTraceParentValue(values) {
|
|
3111
|
-
if (values) {
|
|
3112
|
-
for (var i = 0; i < values.length; i++) {
|
|
3113
|
-
var value = values[i];
|
|
3114
|
-
if (value.name) {
|
|
3115
|
-
if (value.name === "traceparent") {
|
|
3116
|
-
return value;
|
|
3117
|
-
}
|
|
3118
|
-
}
|
|
3119
|
-
}
|
|
3120
|
-
}
|
|
3121
|
-
return {};
|
|
3122
|
-
}
|
|
3123
|
-
function createTraceParent(traceId, spanId, flags, version) {
|
|
3124
|
-
return {
|
|
3125
|
-
version: _isValid(version, 2, INVALID_VERSION) ? version : DEFAULT_VERSION,
|
|
3126
|
-
traceId: isValidTraceId(traceId) ? traceId : generateW3CId(),
|
|
3127
|
-
spanId: isValidSpanId(spanId) ? spanId : generateW3CId().substr(0, 16),
|
|
3128
|
-
traceFlags: flags >= 0 && flags <= 0xFF ? flags : 1
|
|
3129
|
-
};
|
|
3130
|
-
}
|
|
3131
|
-
function parseTraceParent(value) {
|
|
3132
|
-
if (!value) {
|
|
3133
|
-
return null;
|
|
3134
|
-
}
|
|
3135
|
-
if (isArray(value)) {
|
|
3136
|
-
value = value[0] || "";
|
|
3137
|
-
}
|
|
3138
|
-
if (!value || !isString(value) || value.length > 8192) {
|
|
3139
|
-
return null;
|
|
3140
|
-
}
|
|
3141
|
-
var match = TRACE_PARENT_REGEX.exec(strTrim(value));
|
|
3142
|
-
if (!match ||
|
|
3143
|
-
match[1] === INVALID_VERSION ||
|
|
3144
|
-
match[2] === INVALID_TRACE_ID ||
|
|
3145
|
-
match[3] === INVALID_SPAN_ID) {
|
|
3146
|
-
return null;
|
|
3147
|
-
}
|
|
3148
|
-
return {
|
|
3149
|
-
version: match[1],
|
|
3150
|
-
traceId: match[2],
|
|
3151
|
-
spanId: match[3],
|
|
3152
|
-
traceFlags: parseInt(match[4], 16)
|
|
3153
|
-
};
|
|
3154
|
-
}
|
|
3155
|
-
function isValidTraceId(value) {
|
|
3156
|
-
return _isValid(value, 32, INVALID_TRACE_ID);
|
|
3157
|
-
}
|
|
3158
|
-
function isValidSpanId(value) {
|
|
3159
|
-
return _isValid(value, 16, INVALID_SPAN_ID);
|
|
3160
|
-
}
|
|
3161
|
-
function isValidTraceParent(value) {
|
|
3162
|
-
if (!value ||
|
|
3163
|
-
!_isValid(value.version, 2, INVALID_VERSION) ||
|
|
3164
|
-
!_isValid(value.traceId, 32, INVALID_TRACE_ID) ||
|
|
3165
|
-
!_isValid(value.spanId, 16, INVALID_SPAN_ID) ||
|
|
3166
|
-
!_isValid(_formatFlags(value.traceFlags), 2)) {
|
|
3167
|
-
return false;
|
|
3168
|
-
}
|
|
3169
|
-
return true;
|
|
3170
|
-
}
|
|
3171
|
-
function isSampledFlag(value) {
|
|
3172
|
-
if (isValidTraceParent(value)) {
|
|
3173
|
-
return (value.traceFlags & SAMPLED_FLAG) === SAMPLED_FLAG;
|
|
3174
|
-
}
|
|
3175
|
-
return false;
|
|
3176
|
-
}
|
|
3177
|
-
function formatTraceParent(value) {
|
|
3178
|
-
if (value) {
|
|
3179
|
-
var flags = _formatFlags(value.traceFlags);
|
|
3180
|
-
if (!_isValid(flags, 2)) {
|
|
3181
|
-
flags = "01";
|
|
3182
|
-
}
|
|
3183
|
-
var version = value.version || DEFAULT_VERSION;
|
|
3184
|
-
if (version !== "00" && version !== "ff") {
|
|
3185
|
-
version = DEFAULT_VERSION;
|
|
3186
|
-
}
|
|
3187
|
-
return "".concat(version, "-").concat(_formatValue(value.traceId, 32, INVALID_TRACE_ID), "-").concat(_formatValue(value.spanId, 16, INVALID_SPAN_ID), "-").concat(flags);
|
|
3188
|
-
}
|
|
3189
|
-
return "";
|
|
3190
|
-
}
|
|
3191
|
-
function findW3cTraceParent() {
|
|
3192
|
-
var traceParent;
|
|
3193
|
-
var doc = getDocument();
|
|
3194
|
-
if (doc) {
|
|
3195
|
-
traceParent = parseTraceParent(_getTraceParentValue(doc.querySelectorAll("meta")).content);
|
|
3196
|
-
}
|
|
3197
|
-
if (!traceParent) {
|
|
3198
|
-
var perf = getPerformance();
|
|
3199
|
-
if (perf) {
|
|
3200
|
-
var navPerf = perf.getEntriesByType("navigation") || [];
|
|
3201
|
-
traceParent = parseTraceParent(_getTraceParentValue((navPerf.length > 0 ? navPerf[0] : {}).serverTiming).description);
|
|
3202
|
-
}
|
|
3203
|
-
}
|
|
3204
|
-
return traceParent;
|
|
3205
|
-
}
|
|
3206
|
-
|
|
3207
3253
|
var PropertiesPluginIdentifier = "AppInsightsPropertiesPlugin";
|
|
3208
3254
|
var BreezeChannelIdentifier = "AppInsightsChannelPlugin";
|
|
3209
3255
|
var AnalyticsPluginIdentifier = "ApplicationInsightsAnalytics";
|
|
@@ -3239,6 +3285,7 @@
|
|
|
3239
3285
|
exports.Trace = Trace;
|
|
3240
3286
|
exports.UrlHelper = UrlHelper;
|
|
3241
3287
|
exports.Util = Util;
|
|
3288
|
+
exports.createDistributedTraceContextFromTrace = createDistributedTraceContextFromTrace;
|
|
3242
3289
|
exports.createDomEvent = createDomEvent;
|
|
3243
3290
|
exports.createTelemetryItem = createTelemetryItem;
|
|
3244
3291
|
exports.createTraceParent = createTraceParent;
|