@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.
Files changed (118) hide show
  1. package/browser/applicationinsights-common.integrity.json +9 -9
  2. package/browser/applicationinsights-common.js +174 -127
  3. package/browser/applicationinsights-common.js.map +1 -1
  4. package/browser/applicationinsights-common.min.js +2 -2
  5. package/browser/applicationinsights-common.min.js.map +1 -1
  6. package/dist/applicationinsights-common.api.json +81 -501
  7. package/dist/applicationinsights-common.api.md +24 -23
  8. package/dist/applicationinsights-common.d.ts +33 -91
  9. package/dist/applicationinsights-common.js +174 -127
  10. package/dist/applicationinsights-common.js.map +1 -1
  11. package/dist/applicationinsights-common.min.js +2 -2
  12. package/dist/applicationinsights-common.min.js.map +1 -1
  13. package/dist/applicationinsights-common.rollup.d.ts +33 -91
  14. package/dist-esm/ConnectionStringParser.js +1 -1
  15. package/dist-esm/Constants.js +1 -1
  16. package/dist-esm/DomHelperFuncs.js +1 -1
  17. package/dist-esm/Enums.js +6 -6
  18. package/dist-esm/Enums.js.map +1 -1
  19. package/dist-esm/HelperFuncs.js +1 -1
  20. package/dist-esm/Interfaces/ConnectionString.js +1 -1
  21. package/dist-esm/Interfaces/Context/IApplication.js +1 -1
  22. package/dist-esm/Interfaces/Context/IDevice.js +1 -1
  23. package/dist-esm/Interfaces/Context/IInternal.js +1 -1
  24. package/dist-esm/Interfaces/Context/ILocation.js +1 -1
  25. package/dist-esm/Interfaces/Context/IOperatingSystem.js +1 -1
  26. package/dist-esm/Interfaces/Context/ISample.js +1 -1
  27. package/dist-esm/Interfaces/Context/ISession.js +1 -1
  28. package/dist-esm/Interfaces/Context/ITelemetryTrace.js +1 -1
  29. package/dist-esm/Interfaces/Context/IUser.js +1 -1
  30. package/dist-esm/Interfaces/Context/IWeb.js +1 -1
  31. package/dist-esm/Interfaces/Contracts/AvailabilityData.js +1 -1
  32. package/dist-esm/Interfaces/Contracts/ContextTagKeys.js +1 -1
  33. package/dist-esm/Interfaces/Contracts/DataPointType.js +1 -1
  34. package/dist-esm/Interfaces/Contracts/DependencyKind.js +1 -1
  35. package/dist-esm/Interfaces/Contracts/DependencySourceType.js +1 -1
  36. package/dist-esm/Interfaces/Contracts/IBase.js +1 -1
  37. package/dist-esm/Interfaces/Contracts/IData.js +1 -1
  38. package/dist-esm/Interfaces/Contracts/IDataPoint.js +1 -1
  39. package/dist-esm/Interfaces/Contracts/IDomain.js +1 -1
  40. package/dist-esm/Interfaces/Contracts/IEnvelope.js +1 -1
  41. package/dist-esm/Interfaces/Contracts/IEventData.js +1 -1
  42. package/dist-esm/Interfaces/Contracts/IExceptionData.js +1 -1
  43. package/dist-esm/Interfaces/Contracts/IExceptionDetails.js +1 -1
  44. package/dist-esm/Interfaces/Contracts/IMessageData.js +1 -1
  45. package/dist-esm/Interfaces/Contracts/IMetricData.js +1 -1
  46. package/dist-esm/Interfaces/Contracts/IPageViewData.js +1 -1
  47. package/dist-esm/Interfaces/Contracts/IPageViewPerfData.js +1 -1
  48. package/dist-esm/Interfaces/Contracts/IRemoteDependencyData.js +1 -1
  49. package/dist-esm/Interfaces/Contracts/IStackFrame.js +1 -1
  50. package/dist-esm/Interfaces/Contracts/RequestData.js +1 -1
  51. package/dist-esm/Interfaces/Contracts/SeverityLevel.js +6 -6
  52. package/dist-esm/Interfaces/Contracts/SeverityLevel.js.map +1 -1
  53. package/dist-esm/Interfaces/IAppInsights.js +1 -1
  54. package/dist-esm/Interfaces/IChannelControlsAI.js +1 -1
  55. package/dist-esm/Interfaces/IConfig.js +1 -1
  56. package/dist-esm/Interfaces/ICorrelationConfig.js +1 -1
  57. package/dist-esm/Interfaces/IDependencyTelemetry.js +1 -1
  58. package/dist-esm/Interfaces/IEventTelemetry.js +1 -1
  59. package/dist-esm/Interfaces/IExceptionTelemetry.js +1 -1
  60. package/dist-esm/Interfaces/IMetricTelemetry.js +1 -1
  61. package/dist-esm/Interfaces/IPageViewPerformanceTelemetry.js +1 -1
  62. package/dist-esm/Interfaces/IPageViewTelemetry.js +1 -1
  63. package/dist-esm/Interfaces/IPartC.js +1 -1
  64. package/dist-esm/Interfaces/IPropertiesPlugin.js +1 -1
  65. package/dist-esm/Interfaces/IRequestContext.js +1 -1
  66. package/dist-esm/Interfaces/ITelemetryContext.js +1 -1
  67. package/dist-esm/Interfaces/ITraceTelemetry.js +1 -1
  68. package/dist-esm/Interfaces/PartAExtensions.js +1 -1
  69. package/dist-esm/Interfaces/Telemetry/IEnvelope.js +1 -1
  70. package/dist-esm/Interfaces/Telemetry/ISerializable.js +1 -1
  71. package/dist-esm/RequestResponseHeaders.js +10 -10
  72. package/dist-esm/RequestResponseHeaders.js.map +1 -1
  73. package/dist-esm/StorageHelperFuncs.js +7 -7
  74. package/dist-esm/StorageHelperFuncs.js.map +1 -1
  75. package/dist-esm/Telemetry/Common/Data.js +3 -3
  76. package/dist-esm/Telemetry/Common/Data.js.map +1 -1
  77. package/dist-esm/Telemetry/Common/DataPoint.js +9 -9
  78. package/dist-esm/Telemetry/Common/DataPoint.js.map +1 -1
  79. package/dist-esm/Telemetry/Common/DataSanitizer.js +26 -26
  80. package/dist-esm/Telemetry/Common/DataSanitizer.js.map +1 -1
  81. package/dist-esm/Telemetry/Common/Envelope.js +7 -7
  82. package/dist-esm/Telemetry/Common/Envelope.js.map +1 -1
  83. package/dist-esm/Telemetry/Event.js +5 -5
  84. package/dist-esm/Telemetry/Event.js.map +1 -1
  85. package/dist-esm/Telemetry/Exception.js +18 -18
  86. package/dist-esm/Telemetry/Exception.js.map +1 -1
  87. package/dist-esm/Telemetry/Metric.js +4 -4
  88. package/dist-esm/Telemetry/Metric.js.map +1 -1
  89. package/dist-esm/Telemetry/PageView.js +8 -8
  90. package/dist-esm/Telemetry/PageView.js.map +1 -1
  91. package/dist-esm/Telemetry/PageViewPerformance.js +12 -12
  92. package/dist-esm/Telemetry/PageViewPerformance.js.map +1 -1
  93. package/dist-esm/Telemetry/RemoteDependencyData.js +22 -22
  94. package/dist-esm/Telemetry/RemoteDependencyData.js.map +1 -1
  95. package/dist-esm/Telemetry/Trace.js +5 -5
  96. package/dist-esm/Telemetry/Trace.js.map +1 -1
  97. package/dist-esm/TelemetryItemCreator.js +1 -1
  98. package/dist-esm/UrlHelperFuncs.js +1 -1
  99. package/dist-esm/Util.js +46 -3
  100. package/dist-esm/Util.js.map +1 -1
  101. package/dist-esm/applicationinsights-common.js +3 -4
  102. package/dist-esm/applicationinsights-common.js.map +1 -1
  103. package/package.json +3 -3
  104. package/src/Interfaces/Context/ITelemetryTrace.ts +6 -0
  105. package/src/Util.ts +49 -2
  106. package/src/applicationinsights-common.ts +6 -6
  107. package/types/Interfaces/Context/ITelemetryTrace.d.ts +5 -0
  108. package/types/Util.d.ts +9 -1
  109. package/types/applicationinsights-common.d.ts +2 -4
  110. package/types/tsdoc-metadata.json +1 -1
  111. package/dist-esm/Interfaces/ITraceParent.js +0 -8
  112. package/dist-esm/Interfaces/ITraceParent.js.map +0 -1
  113. package/dist-esm/W3cTraceParent.js +0 -192
  114. package/dist-esm/W3cTraceParent.js.map +0 -1
  115. package/src/Interfaces/ITraceParent.ts +0 -38
  116. package/src/W3cTraceParent.ts +0 -219
  117. package/types/Interfaces/ITraceParent.d.ts +0 -32
  118. 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-07",
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-2aie95e2/S7nqM6i66eT5PYkF3lMMX9vPO9VviSywGE= sha384-kv7GXZhuiWAYV+9rp1f1bmfHvpEAhOPcw2M36GC9H5O8DR7y18g1G7EBBGEWQ9hw sha512-5+SItJ/lA18HhrGp4u8QYkatrBnkx5wpNBfKxjnfSwPyuhBFLH+gN4u1cOMdzLO7OKt6nNRk1DyOQfq0e1f70Q==",
8
+ "integrity": "sha256-K5Hft5U/6peApiXcvc0j4+TNFxxyeZv6fzoUcMIUcuk= sha384-LhNyv+6hC9bI9XnvigPVLZrkwW9f5NEUMZlXws4+dT58Hv+xw6xzuWbahgdKeq7Z sha512-I7m9U2o2wSfqQBsyP3+hQjo74ngMw4kJUPEAohxNr+Un9mEijsrV7m5kyU5eJnKGmh+rf/dj8EYuMDaleeFRjw==",
9
9
  "hashes": {
10
- "sha256": "2aie95e2/S7nqM6i66eT5PYkF3lMMX9vPO9VviSywGE=",
11
- "sha384": "kv7GXZhuiWAYV+9rp1f1bmfHvpEAhOPcw2M36GC9H5O8DR7y18g1G7EBBGEWQ9hw",
12
- "sha512": "5+SItJ/lA18HhrGp4u8QYkatrBnkx5wpNBfKxjnfSwPyuhBFLH+gN4u1cOMdzLO7OKt6nNRk1DyOQfq0e1f70Q=="
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-ppY+Lz4hoyWnUFV5xovVUpkKUgJcRo7phETgzTpmthY= sha384-VlitV1ssFsW1eCa7VAsq687L3vzYump5G3NrHlb25Vfd1OJZf7yIzhpbi5TBW2Di sha512-YKO545oYf2s5Hs+PZ5dc90rCKdYW5EL0QurTqwLCIOl3w+5iKG52Y3cm6SvdqBYKVRDwRH4v48Y92rql+WqGew==",
18
+ "integrity": "sha256-E2Qab+RDpfwTJoJppJ8yeiQpcanXDz/R2eJHYZFbBRo= sha384-ghTeZZbb2A73wWANkMIDya2PxOEQgIVYqr9hyAA0pCq/9dQvucJZqklKeX0vUEsA sha512-NOzGUi1NSWyeV3FDI37yfnvmxywn8goUCEGnBWgzGm+dTQSJJXivRpsPYxk7gDEU1IWET1RMUWuG6waV5J+rew==",
19
19
  "hashes": {
20
- "sha256": "ppY+Lz4hoyWnUFV5xovVUpkKUgJcRo7phETgzTpmthY=",
21
- "sha384": "VlitV1ssFsW1eCa7VAsq687L3vzYump5G3NrHlb25Vfd1OJZf7yIzhpbi5TBW2Di",
22
- "sha512": "YKO545oYf2s5Hs+PZ5dc90rCKdYW5EL0QurTqwLCIOl3w+5iKG52Y3cm6SvdqBYKVRDwRH4v48Y92rql+WqGew=="
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-07
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-07";
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;