@microsoft/applicationinsights-common 2.8.0-nightly.2204-06 → 2.8.0-nightly.2204-09

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 (114) hide show
  1. package/browser/applicationinsights-common.integrity.json +9 -9
  2. package/browser/applicationinsights-common.js +201 -55
  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 +1198 -400
  7. package/dist/applicationinsights-common.api.md +101 -25
  8. package/dist/applicationinsights-common.d.ts +165 -28
  9. package/dist/applicationinsights-common.js +201 -55
  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 +165 -28
  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 +1 -1
  18. package/dist-esm/HelperFuncs.js +1 -1
  19. package/dist-esm/Interfaces/ConnectionString.js +1 -1
  20. package/dist-esm/Interfaces/Context/IApplication.js +1 -1
  21. package/dist-esm/Interfaces/Context/IDevice.js +1 -1
  22. package/dist-esm/Interfaces/Context/IInternal.js +1 -1
  23. package/dist-esm/Interfaces/Context/ILocation.js +1 -1
  24. package/dist-esm/Interfaces/Context/IOperatingSystem.js +1 -1
  25. package/dist-esm/Interfaces/Context/ISample.js +1 -1
  26. package/dist-esm/Interfaces/Context/ISession.js +1 -1
  27. package/dist-esm/Interfaces/Context/ITelemetryTrace.js +1 -1
  28. package/dist-esm/Interfaces/Context/IUser.js +1 -1
  29. package/dist-esm/Interfaces/Context/IWeb.js +1 -1
  30. package/dist-esm/Interfaces/Contracts/AvailabilityData.js +1 -1
  31. package/dist-esm/Interfaces/Contracts/ContextTagKeys.js +1 -1
  32. package/dist-esm/Interfaces/Contracts/DataPointType.js +1 -1
  33. package/dist-esm/Interfaces/Contracts/DependencyKind.js +1 -1
  34. package/dist-esm/Interfaces/Contracts/DependencySourceType.js +1 -1
  35. package/dist-esm/Interfaces/Contracts/IBase.js +1 -1
  36. package/dist-esm/Interfaces/Contracts/IData.js +1 -1
  37. package/dist-esm/Interfaces/Contracts/IDataPoint.js +1 -1
  38. package/dist-esm/Interfaces/Contracts/IDomain.js +1 -1
  39. package/dist-esm/Interfaces/Contracts/IEnvelope.js +1 -1
  40. package/dist-esm/Interfaces/Contracts/IEventData.js +1 -1
  41. package/dist-esm/Interfaces/Contracts/IExceptionData.js +1 -1
  42. package/dist-esm/Interfaces/Contracts/IExceptionDetails.js +1 -1
  43. package/dist-esm/Interfaces/Contracts/IMessageData.js +1 -1
  44. package/dist-esm/Interfaces/Contracts/IMetricData.js +1 -1
  45. package/dist-esm/Interfaces/Contracts/IPageViewData.js +1 -1
  46. package/dist-esm/Interfaces/Contracts/IPageViewPerfData.js +1 -1
  47. package/dist-esm/Interfaces/Contracts/IRemoteDependencyData.js +1 -1
  48. package/dist-esm/Interfaces/Contracts/IStackFrame.js +1 -1
  49. package/dist-esm/Interfaces/Contracts/RequestData.js +1 -1
  50. package/dist-esm/Interfaces/Contracts/SeverityLevel.js +9 -10
  51. package/dist-esm/Interfaces/Contracts/SeverityLevel.js.map +1 -1
  52. package/dist-esm/Interfaces/IAppInsights.js +1 -1
  53. package/dist-esm/Interfaces/IChannelControlsAI.js +1 -1
  54. package/dist-esm/Interfaces/IConfig.js +1 -1
  55. package/dist-esm/Interfaces/ICorrelationConfig.js +1 -1
  56. package/dist-esm/Interfaces/IDependencyTelemetry.js +1 -1
  57. package/dist-esm/Interfaces/IEventTelemetry.js +1 -1
  58. package/dist-esm/Interfaces/IExceptionTelemetry.js +1 -1
  59. package/dist-esm/Interfaces/IMetricTelemetry.js +1 -1
  60. package/dist-esm/Interfaces/IPageViewPerformanceTelemetry.js +1 -1
  61. package/dist-esm/Interfaces/IPageViewTelemetry.js +1 -1
  62. package/dist-esm/Interfaces/IPartC.js +1 -1
  63. package/dist-esm/Interfaces/IPropertiesPlugin.js +1 -1
  64. package/dist-esm/Interfaces/IRequestContext.js +1 -1
  65. package/dist-esm/Interfaces/ITelemetryContext.js +1 -1
  66. package/dist-esm/Interfaces/ITraceParent.js +8 -0
  67. package/dist-esm/Interfaces/ITraceParent.js.map +1 -0
  68. package/dist-esm/Interfaces/ITraceTelemetry.js +1 -1
  69. package/dist-esm/Interfaces/PartAExtensions.js +1 -1
  70. package/dist-esm/Interfaces/Telemetry/IEnvelope.js +1 -1
  71. package/dist-esm/Interfaces/Telemetry/ISerializable.js +1 -1
  72. package/dist-esm/RequestResponseHeaders.js +13 -12
  73. package/dist-esm/RequestResponseHeaders.js.map +1 -1
  74. package/dist-esm/StorageHelperFuncs.js +5 -5
  75. package/dist-esm/StorageHelperFuncs.js.map +1 -1
  76. package/dist-esm/Telemetry/Common/Data.js +1 -1
  77. package/dist-esm/Telemetry/Common/DataPoint.js +1 -1
  78. package/dist-esm/Telemetry/Common/DataSanitizer.js +1 -1
  79. package/dist-esm/Telemetry/Common/Envelope.js +1 -1
  80. package/dist-esm/Telemetry/Event.js +1 -1
  81. package/dist-esm/Telemetry/Exception.js +1 -1
  82. package/dist-esm/Telemetry/Metric.js +1 -1
  83. package/dist-esm/Telemetry/PageView.js +1 -1
  84. package/dist-esm/Telemetry/PageViewPerformance.js +1 -1
  85. package/dist-esm/Telemetry/RemoteDependencyData.js +1 -1
  86. package/dist-esm/Telemetry/Trace.js +1 -1
  87. package/dist-esm/TelemetryItemCreator.js +42 -32
  88. package/dist-esm/TelemetryItemCreator.js.map +1 -1
  89. package/dist-esm/UrlHelperFuncs.js +1 -1
  90. package/dist-esm/Util.js +2 -2
  91. package/dist-esm/Util.js.map +1 -1
  92. package/dist-esm/W3cTraceParent.js +192 -0
  93. package/dist-esm/W3cTraceParent.js.map +1 -0
  94. package/dist-esm/applicationinsights-common.js +3 -2
  95. package/dist-esm/applicationinsights-common.js.map +1 -1
  96. package/package.json +2 -2
  97. package/src/Enums.ts +2 -3
  98. package/src/Interfaces/Contracts/SeverityLevel.ts +15 -2
  99. package/src/Interfaces/IConfig.ts +2 -9
  100. package/src/Interfaces/ITraceParent.ts +38 -0
  101. package/src/RequestResponseHeaders.ts +38 -2
  102. package/src/StorageHelperFuncs.ts +4 -4
  103. package/src/TelemetryItemCreator.ts +56 -44
  104. package/src/Util.ts +3 -3
  105. package/src/W3cTraceParent.ts +219 -0
  106. package/src/applicationinsights-common.ts +8 -3
  107. package/types/Enums.d.ts +2 -9
  108. package/types/Interfaces/Contracts/SeverityLevel.d.ts +6 -1
  109. package/types/Interfaces/IConfig.d.ts +3 -9
  110. package/types/Interfaces/ITraceParent.d.ts +32 -0
  111. package/types/RequestResponseHeaders.d.ts +31 -1
  112. package/types/TelemetryItemCreator.d.ts +15 -5
  113. package/types/W3cTraceParent.d.ts +59 -0
  114. package/types/applicationinsights-common.d.ts +5 -3
@@ -1,25 +1,25 @@
1
1
  {
2
2
  "name": "applicationinsights-common",
3
- "version": "2.8.0-nightly.2204-06",
3
+ "version": "2.8.0-nightly.2204-09",
4
4
  "ext": {
5
5
  "@js": {
6
6
  "file": "applicationinsights-common.js",
7
7
  "type": "text/javascript; charset=utf-8",
8
- "integrity": "sha256-6/DNmP9Q/DFO1YMqVinI8sI4UByl7TMvYUMj++YI8QQ= sha384-2gQLOaltQWzSxB+dYXxMfLoxbmSIVhe0ZSZiKcg0VGg9pWjpdw2ALMZv7DVcniH2 sha512-3Y+RlMAviTWZe6xgyeSfZ6RW1hwBMTiQC1wpFP5K+vZ+JH40GvLVOcFbrM0S3E62KZO53Gf4iFGeSr9Rff6eWA==",
8
+ "integrity": "sha256-F2baZV2dUk/Loh8UbxT6vDO+PfsdiLLpd/svjQWmwHI= sha384-KlOU0yvo24XlijRtZBux7LP8WGsZWou2C3k+SvagKRo32j3lO/DoWafrsE7wUbd4 sha512-M61id5GdB3W5LahQQthRBeUiju4m9YHDmj7tJwsF4W8Z1/FCTaWoJtHnvE3xHaMsULqyTyJMQHZO4PRs8lcVMw==",
9
9
  "hashes": {
10
- "sha256": "6/DNmP9Q/DFO1YMqVinI8sI4UByl7TMvYUMj++YI8QQ=",
11
- "sha384": "2gQLOaltQWzSxB+dYXxMfLoxbmSIVhe0ZSZiKcg0VGg9pWjpdw2ALMZv7DVcniH2",
12
- "sha512": "3Y+RlMAviTWZe6xgyeSfZ6RW1hwBMTiQC1wpFP5K+vZ+JH40GvLVOcFbrM0S3E62KZO53Gf4iFGeSr9Rff6eWA=="
10
+ "sha256": "F2baZV2dUk/Loh8UbxT6vDO+PfsdiLLpd/svjQWmwHI=",
11
+ "sha384": "KlOU0yvo24XlijRtZBux7LP8WGsZWou2C3k+SvagKRo32j3lO/DoWafrsE7wUbd4",
12
+ "sha512": "M61id5GdB3W5LahQQthRBeUiju4m9YHDmj7tJwsF4W8Z1/FCTaWoJtHnvE3xHaMsULqyTyJMQHZO4PRs8lcVMw=="
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-gUeP0S7Z6EsM9JFAkJMFm/3cnFpVDZO1os6blDirzWo= sha384-sTwqofDXhHmdBuRSpJ4lBPuBikEwnjouUJkxKyOjm3uzB6Iz2oykZejHPmte6E8c sha512-ST/XAuhcY4GU4DZryPFbJ4SJOb8/X+rA0GVUI2Z5QgtyRTioArZrxW3AWILOsV5yiB2vyoJtLPHy9INfBPDvVw==",
18
+ "integrity": "sha256-DqslmVJZO+F2vwgoGcx961iTv9Yvet0PWTJN9PcaW+A= sha384-co7oeRWX7Eilb5WNpGzNqhLqhXWZy5JD1KOX1GEH0skY/YEKhclq4vGrTR8M/are sha512-exARH+4N+8ZXcD+a7px9rzAnjNtHmi56kg/CA56eiXjLR1Us2SqFxIiydqBmBcXnxAVut3q7z4QsbETLEPOmLA==",
19
19
  "hashes": {
20
- "sha256": "gUeP0S7Z6EsM9JFAkJMFm/3cnFpVDZO1os6blDirzWo=",
21
- "sha384": "sTwqofDXhHmdBuRSpJ4lBPuBikEwnjouUJkxKyOjm3uzB6Iz2oykZejHPmte6E8c",
22
- "sha512": "ST/XAuhcY4GU4DZryPFbJ4SJOb8/X+rA0GVUI2Z5QgtyRTioArZrxW3AWILOsV5yiB2vyoJtLPHy9INfBPDvVw=="
20
+ "sha256": "DqslmVJZO+F2vwgoGcx961iTv9Yvet0PWTJN9PcaW+A=",
21
+ "sha384": "co7oeRWX7Eilb5WNpGzNqhLqhXWZy5JD1KOX1GEH0skY/YEKhclq4vGrTR8M/are",
22
+ "sha512": "exARH+4N+8ZXcD+a7px9rzAnjNtHmi56kg/CA56eiXjLR1Us2SqFxIiydqBmBcXnxAVut3q7z4QsbETLEPOmLA=="
23
23
  }
24
24
  }
25
25
  }
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Common, 2.8.0-nightly.2204-06
2
+ * Application Insights JavaScript SDK - Common, 2.8.0-nightly.2204-09
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
@@ -416,6 +416,9 @@
416
416
  function isTruthy(value) {
417
417
  return !!value;
418
418
  }
419
+ function throwError(message) {
420
+ throw new Error(message);
421
+ }
419
422
  function createClassFromInterface(defaults) {
420
423
  return /** @class */ (function () {
421
424
  function class_1() {
@@ -438,6 +441,14 @@
438
441
  });
439
442
  return deepFreeze(enumClass);
440
443
  }
444
+ function createValueMap(values) {
445
+ var mapClass = {};
446
+ objForEachKey(values, function (field, value) {
447
+ mapClass[field] = value[1];
448
+ mapClass[value[0]] = value[1];
449
+ });
450
+ return deepFreeze(mapClass);
451
+ }
441
452
 
442
453
  /*!
443
454
  * Microsoft Dynamic Proto Utility, 1.1.4
@@ -1067,7 +1078,7 @@
1067
1078
  }
1068
1079
 
1069
1080
  var _objDefineProperty = ObjDefineProperty;
1070
- var version = "2.8.0-nightly.2204-06";
1081
+ var version = "2.8.0-nightly.2204-09";
1071
1082
  var instanceName = "." + newId(6);
1072
1083
  var _dataUid = 0;
1073
1084
  function _createAccessor(target, prop, value) {
@@ -1590,17 +1601,17 @@
1590
1601
  return _legacyCookieMgr(null, logger).del(name);
1591
1602
  }
1592
1603
 
1593
- var RequestHeaders = {
1594
- requestContextHeader: "Request-Context",
1595
- requestContextTargetKey: "appId",
1596
- requestContextAppIdFormat: "appId=cid-v1:",
1597
- requestIdHeader: "Request-Id",
1598
- traceParentHeader: "traceparent",
1599
- traceStateHeader: "tracestate",
1600
- sdkContextHeader: "Sdk-Context",
1601
- sdkContextHeaderAppIdRequest: "appId",
1602
- requestContextHeaderLowerCase: "request-context"
1603
- };
1604
+ var RequestHeaders = createValueMap({
1605
+ requestContextHeader: [0 , "Request-Context"],
1606
+ requestContextTargetKey: [1 , "appId"],
1607
+ requestContextAppIdFormat: [2 , "appId=cid-v1:"],
1608
+ requestIdHeader: [3 , "Request-Id"],
1609
+ traceParentHeader: [4 , "traceparent"],
1610
+ traceStateHeader: [5 , "tracestate"],
1611
+ sdkContextHeader: [6 , "Sdk-Context"],
1612
+ sdkContextHeaderAppIdRequest: [7 , "appId"],
1613
+ requestContextHeaderLowerCase: [8 , "request-context"]
1614
+ });
1604
1615
 
1605
1616
  function dataSanitizeKeyAndAddUniqueness(logger, key, map) {
1606
1617
  var origLength = key.length;
@@ -1819,11 +1830,11 @@
1819
1830
  if (isNullOrUndefined(getGlobal())) {
1820
1831
  return null;
1821
1832
  }
1822
- var uid = new Date;
1833
+ var uid = (new Date).toString();
1823
1834
  var storage = getGlobalInst(storageType === StorageType.LocalStorage ? "localStorage" : "sessionStorage");
1824
- storage.setItem(uid.toString(), uid.toString());
1825
- var fail = storage.getItem(uid.toString()) !== uid.toString();
1826
- storage.removeItem(uid.toString());
1835
+ storage.setItem(uid, uid);
1836
+ var fail = storage.getItem(uid) !== uid;
1837
+ storage.removeItem(uid);
1827
1838
  if (!fail) {
1828
1839
  return storage;
1829
1840
  }
@@ -2126,7 +2137,7 @@
2126
2137
  },
2127
2138
  getCorrelationContext: function (responseHeader) {
2128
2139
  if (responseHeader) {
2129
- var correlationId = CorrelationIdHelper.getCorrelationContextValue(responseHeader, RequestHeaders.requestContextTargetKey);
2140
+ var correlationId = CorrelationIdHelper.getCorrelationContextValue(responseHeader, RequestHeaders[1 ]);
2130
2141
  if (correlationId && correlationId !== CorrelationIdHelper.correlationIdPrefix) {
2131
2142
  return correlationId;
2132
2143
  }
@@ -2908,14 +2919,13 @@
2908
2919
  return Data;
2909
2920
  }());
2910
2921
 
2911
- exports.SeverityLevel = void 0;
2912
- (function (SeverityLevel) {
2913
- SeverityLevel[SeverityLevel["Verbose"] = 0] = "Verbose";
2914
- SeverityLevel[SeverityLevel["Information"] = 1] = "Information";
2915
- SeverityLevel[SeverityLevel["Warning"] = 2] = "Warning";
2916
- SeverityLevel[SeverityLevel["Error"] = 3] = "Error";
2917
- SeverityLevel[SeverityLevel["Critical"] = 4] = "Critical";
2918
- })(exports.SeverityLevel || (exports.SeverityLevel = {}));
2922
+ var SeverityLevel = createEnumStyle({
2923
+ Verbose: 0 ,
2924
+ Information: 1 ,
2925
+ Warning: 2 ,
2926
+ Error: 3 ,
2927
+ Critical: 4
2928
+ });
2919
2929
 
2920
2930
  var ConfigurationManager = /** @class */ (function () {
2921
2931
  function ConfigurationManager() {
@@ -3014,38 +3024,39 @@
3014
3024
  internalSdkSrc: _aiInternal("sdkSrc")
3015
3025
  })));
3016
3026
 
3027
+ function createTelemetryItem(item, baseType, envelopeName, logger, customProperties, systemProperties) {
3028
+ envelopeName = dataSanitizeString(logger, envelopeName) || strNotSpecified;
3029
+ if (isNullOrUndefined(item) ||
3030
+ isNullOrUndefined(baseType) ||
3031
+ isNullOrUndefined(envelopeName)) {
3032
+ throwError("Input doesn't contain all required fields");
3033
+ }
3034
+ var iKey = "";
3035
+ if (item[strIkey]) {
3036
+ iKey = item[strIkey];
3037
+ delete item[strIkey];
3038
+ }
3039
+ var telemetryItem = {
3040
+ name: envelopeName,
3041
+ time: toISOString(new Date()),
3042
+ iKey: iKey,
3043
+ ext: systemProperties ? systemProperties : {},
3044
+ tags: [],
3045
+ data: {},
3046
+ baseType: baseType,
3047
+ baseData: item
3048
+ };
3049
+ if (!isNullOrUndefined(customProperties)) {
3050
+ objForEachKey(customProperties, function (prop, value) {
3051
+ telemetryItem.data[prop] = value;
3052
+ });
3053
+ }
3054
+ return telemetryItem;
3055
+ }
3017
3056
  var TelemetryItemCreator = /** @class */ (function () {
3018
3057
  function TelemetryItemCreator() {
3019
3058
  }
3020
- TelemetryItemCreator.create = function (item, baseType, envelopeName, logger, customProperties, systemProperties) {
3021
- envelopeName = dataSanitizeString(logger, envelopeName) || strNotSpecified;
3022
- if (isNullOrUndefined(item) ||
3023
- isNullOrUndefined(baseType) ||
3024
- isNullOrUndefined(envelopeName)) {
3025
- throw Error("Input doesn't contain all required fields");
3026
- }
3027
- var iKey = "";
3028
- if (item[strIkey]) {
3029
- iKey = item[strIkey];
3030
- delete item[strIkey];
3031
- }
3032
- var telemetryItem = {
3033
- name: envelopeName,
3034
- time: toISOString(new Date()),
3035
- iKey: iKey,
3036
- ext: systemProperties ? systemProperties : {},
3037
- tags: [],
3038
- data: {},
3039
- baseType: baseType,
3040
- baseData: item
3041
- };
3042
- if (!isNullOrUndefined(customProperties)) {
3043
- objForEachKey(customProperties, function (prop, value) {
3044
- telemetryItem.data[prop] = value;
3045
- });
3046
- }
3047
- return telemetryItem;
3048
- };
3059
+ TelemetryItemCreator.create = createTelemetryItem;
3049
3060
  return TelemetryItemCreator;
3050
3061
  }());
3051
3062
 
@@ -3061,6 +3072,131 @@
3061
3072
  };
3062
3073
  var CtxTagKeys = new ContextTagKeys();
3063
3074
 
3075
+ var TRACE_PARENT_REGEX = /^([\da-f]{2})-([\da-f]{32})-([\da-f]{16})-([\da-f]{2})(-[^\s]*)?$/;
3076
+ var DEFAULT_VERSION = "00";
3077
+ var INVALID_VERSION = "ff";
3078
+ var INVALID_TRACE_ID = "00000000000000000000000000000000";
3079
+ var INVALID_SPAN_ID = "0000000000000000";
3080
+ var SAMPLED_FLAG = 0x01;
3081
+ function _isValid(value, len, invalidValue) {
3082
+ if (value && value.length === len && value !== invalidValue) {
3083
+ return !!value.match(/^[\da-f]*$/);
3084
+ }
3085
+ return false;
3086
+ }
3087
+ function _formatValue(value, len, defValue) {
3088
+ if (_isValid(value, len)) {
3089
+ return value;
3090
+ }
3091
+ return defValue;
3092
+ }
3093
+ function _formatFlags(value) {
3094
+ if (isNaN(value) || value < 0 || value > 255) {
3095
+ value = 0x01;
3096
+ }
3097
+ var result = value.toString(16);
3098
+ while (result.length < 2) {
3099
+ result = "0" + result;
3100
+ }
3101
+ return result;
3102
+ }
3103
+ function _getTraceParentValue(values) {
3104
+ if (values) {
3105
+ for (var i = 0; i < values.length; i++) {
3106
+ var value = values[i];
3107
+ if (value.name) {
3108
+ if (value.name === "traceparent") {
3109
+ return value;
3110
+ }
3111
+ }
3112
+ }
3113
+ }
3114
+ return {};
3115
+ }
3116
+ function createTraceParent(traceId, spanId, flags, version) {
3117
+ return {
3118
+ version: _isValid(version, 2, INVALID_VERSION) ? version : DEFAULT_VERSION,
3119
+ traceId: isValidTraceId(traceId) ? traceId : generateW3CId(),
3120
+ spanId: isValidSpanId(spanId) ? spanId : generateW3CId().substr(0, 16),
3121
+ traceFlags: flags >= 0 && flags <= 0xFF ? flags : 1
3122
+ };
3123
+ }
3124
+ function parseTraceParent(value) {
3125
+ if (!value) {
3126
+ return null;
3127
+ }
3128
+ if (isArray(value)) {
3129
+ value = value[0] || "";
3130
+ }
3131
+ if (!value || !isString(value) || value.length > 8192) {
3132
+ return null;
3133
+ }
3134
+ var match = TRACE_PARENT_REGEX.exec(strTrim(value));
3135
+ if (!match ||
3136
+ match[1] === INVALID_VERSION ||
3137
+ match[2] === INVALID_TRACE_ID ||
3138
+ match[3] === INVALID_SPAN_ID) {
3139
+ return null;
3140
+ }
3141
+ return {
3142
+ version: match[1],
3143
+ traceId: match[2],
3144
+ spanId: match[3],
3145
+ traceFlags: parseInt(match[4], 16)
3146
+ };
3147
+ }
3148
+ function isValidTraceId(value) {
3149
+ return _isValid(value, 32, INVALID_TRACE_ID);
3150
+ }
3151
+ function isValidSpanId(value) {
3152
+ return _isValid(value, 16, INVALID_SPAN_ID);
3153
+ }
3154
+ function isValidTraceParent(value) {
3155
+ if (!value ||
3156
+ !_isValid(value.version, 2, INVALID_VERSION) ||
3157
+ !_isValid(value.traceId, 32, INVALID_TRACE_ID) ||
3158
+ !_isValid(value.spanId, 16, INVALID_SPAN_ID) ||
3159
+ !_isValid(_formatFlags(value.traceFlags), 2)) {
3160
+ return false;
3161
+ }
3162
+ return true;
3163
+ }
3164
+ function isSampledFlag(value) {
3165
+ if (isValidTraceParent(value)) {
3166
+ return (value.traceFlags & SAMPLED_FLAG) === SAMPLED_FLAG;
3167
+ }
3168
+ return false;
3169
+ }
3170
+ function formatTraceParent(value) {
3171
+ if (value) {
3172
+ var flags = _formatFlags(value.traceFlags);
3173
+ if (!_isValid(flags, 2)) {
3174
+ flags = "01";
3175
+ }
3176
+ var version = value.version || DEFAULT_VERSION;
3177
+ if (version !== "00" && version !== "ff") {
3178
+ version = DEFAULT_VERSION;
3179
+ }
3180
+ return "".concat(version, "-").concat(_formatValue(value.traceId, 32, INVALID_TRACE_ID), "-").concat(_formatValue(value.spanId, 16, INVALID_SPAN_ID), "-").concat(flags);
3181
+ }
3182
+ return "";
3183
+ }
3184
+ function findW3cTraceParent() {
3185
+ var traceParent;
3186
+ var doc = getDocument();
3187
+ if (doc) {
3188
+ traceParent = parseTraceParent(_getTraceParentValue(doc.querySelectorAll("meta")).content);
3189
+ }
3190
+ if (!traceParent) {
3191
+ var perf = getPerformance();
3192
+ if (perf) {
3193
+ var navPerf = perf.getEntriesByType("navigation") || [];
3194
+ traceParent = parseTraceParent(_getTraceParentValue((navPerf.length > 0 ? navPerf[0] : {}).serverTiming).description);
3195
+ }
3196
+ }
3197
+ return traceParent;
3198
+ }
3199
+
3064
3200
  var PropertiesPluginIdentifier = "AppInsightsPropertiesPlugin";
3065
3201
  var BreezeChannelIdentifier = "AppInsightsChannelPlugin";
3066
3202
  var AnalyticsPluginIdentifier = "ApplicationInsightsAnalytics";
@@ -3091,11 +3227,14 @@
3091
3227
  exports.RemoteDependencyData = RemoteDependencyData;
3092
3228
  exports.RequestHeaders = RequestHeaders;
3093
3229
  exports.SampleRate = SampleRate;
3230
+ exports.SeverityLevel = SeverityLevel;
3094
3231
  exports.TelemetryItemCreator = TelemetryItemCreator;
3095
3232
  exports.Trace = Trace;
3096
3233
  exports.UrlHelper = UrlHelper;
3097
3234
  exports.Util = Util;
3098
3235
  exports.createDomEvent = createDomEvent;
3236
+ exports.createTelemetryItem = createTelemetryItem;
3237
+ exports.createTraceParent = createTraceParent;
3099
3238
  exports.dataSanitizeException = dataSanitizeException;
3100
3239
  exports.dataSanitizeId = dataSanitizeId;
3101
3240
  exports.dataSanitizeInput = dataSanitizeInput;
@@ -3109,12 +3248,19 @@
3109
3248
  exports.dateTimeUtilsDuration = dateTimeUtilsDuration;
3110
3249
  exports.dateTimeUtilsNow = dateTimeUtilsNow;
3111
3250
  exports.dsPadNumber = dsPadNumber;
3251
+ exports.findW3cTraceParent = findW3cTraceParent;
3252
+ exports.formatTraceParent = formatTraceParent;
3112
3253
  exports.getExtensionByName = getExtensionByName;
3113
3254
  exports.isBeaconApiSupported = isBeaconsSupported;
3114
3255
  exports.isCrossOriginError = isCrossOriginError;
3115
3256
  exports.isInternalApplicationInsightsEndpoint = isInternalApplicationInsightsEndpoint;
3257
+ exports.isSampledFlag = isSampledFlag;
3258
+ exports.isValidSpanId = isValidSpanId;
3259
+ exports.isValidTraceId = isValidTraceId;
3260
+ exports.isValidTraceParent = isValidTraceParent;
3116
3261
  exports.msToTimeSpan = msToTimeSpan;
3117
3262
  exports.parseConnectionString = parseConnectionString;
3263
+ exports.parseTraceParent = parseTraceParent;
3118
3264
  exports.strNotSpecified = strNotSpecified;
3119
3265
  exports.stringToBoolOrDefault = stringToBoolOrDefault;
3120
3266
  exports.urlGetAbsoluteUrl = urlGetAbsoluteUrl;