@microsoft/applicationinsights-common 3.0.0-beta.2210-19 → 3.0.0-beta.2211-01
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 +399 -174
- 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 +2049 -1177
- package/dist/applicationinsights-common.api.md +65 -0
- package/dist/applicationinsights-common.d.ts +118 -1
- package/dist/applicationinsights-common.js +399 -174
- 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 +118 -1
- 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 +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 +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/IThrottleMgr.js +6 -0
- package/dist-esm/Interfaces/IThrottleMgr.js.map +1 -0
- 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 +1 -1
- package/dist-esm/StorageHelperFuncs.js +1 -1
- package/dist-esm/Telemetry/Common/Data.js +1 -1
- package/dist-esm/Telemetry/Common/DataPoint.js +1 -1
- package/dist-esm/Telemetry/Common/DataSanitizer.js +1 -1
- package/dist-esm/Telemetry/Common/Envelope.js +1 -1
- package/dist-esm/Telemetry/Event.js +1 -1
- package/dist-esm/Telemetry/Exception.js +4 -4
- package/dist-esm/Telemetry/Exception.js.map +1 -1
- package/dist-esm/Telemetry/Metric.js +3 -3
- package/dist-esm/Telemetry/Metric.js.map +1 -1
- package/dist-esm/Telemetry/PageView.js +1 -1
- package/dist-esm/Telemetry/PageViewPerformance.js +1 -1
- package/dist-esm/Telemetry/RemoteDependencyData.js +1 -1
- package/dist-esm/Telemetry/Trace.js +1 -1
- package/dist-esm/TelemetryItemCreator.js +1 -1
- package/dist-esm/ThrottleMgr.js +259 -0
- package/dist-esm/ThrottleMgr.js.map +1 -0
- package/dist-esm/UrlHelperFuncs.js +1 -1
- package/dist-esm/Util.js +4 -4
- package/dist-esm/Util.js.map +1 -1
- package/dist-esm/__DynamicConstants.js +16 -10
- package/dist-esm/__DynamicConstants.js.map +1 -1
- package/dist-esm/applicationinsights-common.js +2 -1
- package/dist-esm/applicationinsights-common.js.map +1 -1
- package/package.json +5 -4
- package/src/Enums.ts +6 -0
- package/src/Interfaces/IThrottleMgr.ts +109 -0
- package/src/ThrottleMgr.ts +285 -0
- package/src/__DynamicConstants.ts +15 -9
- package/src/applicationinsights-common.ts +3 -1
- package/types/Enums.d.ts +5 -0
- package/types/Interfaces/IThrottleMgr.d.ts +94 -0
- package/types/ThrottleMgr.d.ts +12 -0
- package/types/__DynamicConstants.d.ts +13 -7
- package/types/applicationinsights-common.d.ts +3 -1
- package/types/tsdoc-metadata.json +1 -1
package/dist-esm/Util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Util.js.map","sources":["Util.js"],"sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { arrForEach, arrIndexOf, dateNow, getPerformance, isNullOrUndefined, isValidSpanId, isValidTraceId } from \"@microsoft/applicationinsights-core-js\";\r\nimport { strIndexOf } from \"@nevware21/ts-utils\";\r\nimport { DEFAULT_BREEZE_ENDPOINT, DEFAULT_BREEZE_PATH } from \"./Constants\";\r\nimport { RequestHeaders } from \"./RequestResponseHeaders\";\r\nimport { dataSanitizeString } from \"./Telemetry/Common/DataSanitizer\";\r\nimport { urlParseFullHost, urlParseUrl } from \"./UrlHelperFuncs\";\r\nimport { _DYN_CORRELATION_HEADER_E0, _DYN_LENGTH, _DYN_NAME, _DYN_PATHNAME, _DYN_SPLIT, _DYN_TO_LOWER_CASE } from \"./__DynamicConstants\";\r\n// listing only non-geo specific locations\r\nvar _internalEndpoints = [\r\n DEFAULT_BREEZE_ENDPOINT + DEFAULT_BREEZE_PATH,\r\n \"https://breeze.aimon.applicationinsights.io\" + DEFAULT_BREEZE_PATH,\r\n \"https://dc-int.services.visualstudio.com\" + DEFAULT_BREEZE_PATH\r\n];\r\nvar _correlationIdPrefix = \"cid-v1:\";\r\nexport function isInternalApplicationInsightsEndpoint(endpointUrl) {\r\n return arrIndexOf(_internalEndpoints, endpointUrl[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]()) !== -1;\r\n}\r\nexport function correlationIdSetPrefix(prefix) {\r\n _correlationIdPrefix = prefix;\r\n}\r\nexport function correlationIdGetPrefix() {\r\n return _correlationIdPrefix;\r\n}\r\n/**\r\n * Checks if a request url is not on a excluded domain list and if it is safe to add correlation headers.\r\n * Headers are always included if the current domain matches the request domain. If they do not match (CORS),\r\n * they are regex-ed across correlationHeaderDomains and correlationHeaderExcludedDomains to determine if headers are included.\r\n * Some environments don't give information on currentHost via window.location.host (e.g. Cordova). In these cases, the user must\r\n * manually supply domains to include correlation headers on. Else, no headers will be included at all.\r\n */\r\nexport function correlationIdCanIncludeCorrelationHeader(config, requestUrl, currentHost) {\r\n if (!requestUrl || (config && config.disableCorrelationHeaders)) {\r\n return false;\r\n }\r\n if (config && config[_DYN_CORRELATION_HEADER_E0 /* @min:%2ecorrelationHeaderExcludePatterns */]) {\r\n for (var i = 0; i < config.correlationHeaderExcludePatterns[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n if (config[_DYN_CORRELATION_HEADER_E0 /* @min:%2ecorrelationHeaderExcludePatterns */][i].test(requestUrl)) {\r\n return false;\r\n }\r\n }\r\n }\r\n var requestHost = urlParseUrl(requestUrl).host[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n if (requestHost && (strIndexOf(requestHost, \":443\") !== -1 || strIndexOf(requestHost, \":80\") !== -1)) {\r\n // [Bug #1260] IE can include the port even for http and https URLs so if present\r\n // try and parse it to remove if it matches the default protocol port\r\n requestHost = (urlParseFullHost(requestUrl, true) || \"\")[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n }\r\n if ((!config || !config.enableCorsCorrelation) && (requestHost && requestHost !== currentHost)) {\r\n return false;\r\n }\r\n var includedDomains = config && config.correlationHeaderDomains;\r\n if (includedDomains) {\r\n var matchExists_1;\r\n arrForEach(includedDomains, function (domain) {\r\n var regex = new RegExp(domain.toLowerCase().replace(/\\\\/g, \"\\\\\\\\\").replace(/\\./g, \"\\\\.\").replace(/\\*/g, \".*\"));\r\n matchExists_1 = matchExists_1 || regex.test(requestHost);\r\n });\r\n if (!matchExists_1) {\r\n return false;\r\n }\r\n }\r\n var excludedDomains = config && config.correlationHeaderExcludedDomains;\r\n if (!excludedDomains || excludedDomains[_DYN_LENGTH /* @min:%2elength */] === 0) {\r\n return true;\r\n }\r\n for (var i = 0; i < excludedDomains[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n var regex = new RegExp(excludedDomains[i].toLowerCase().replace(/\\\\/g, \"\\\\\\\\\").replace(/\\./g, \"\\\\.\").replace(/\\*/g, \".*\"));\r\n if (regex.test(requestHost)) {\r\n return false;\r\n }\r\n }\r\n // if we don't know anything about the requestHost, require the user to use included/excludedDomains.\r\n // Previously we always returned false for a falsy requestHost\r\n return requestHost && requestHost[_DYN_LENGTH /* @min:%2elength */] > 0;\r\n}\r\n/**\r\n * Combines target appId and target role name from response header.\r\n */\r\nexport function correlationIdGetCorrelationContext(responseHeader) {\r\n if (responseHeader) {\r\n var correlationId = correlationIdGetCorrelationContextValue(responseHeader, RequestHeaders[1 /* eRequestHeaders.requestContextTargetKey */]);\r\n if (correlationId && correlationId !== _correlationIdPrefix) {\r\n return correlationId;\r\n }\r\n }\r\n}\r\n/**\r\n * Gets key from correlation response header\r\n */\r\nexport function correlationIdGetCorrelationContextValue(responseHeader, key) {\r\n if (responseHeader) {\r\n var keyValues = responseHeader[_DYN_SPLIT /* @min:%2esplit */](\",\");\r\n for (var i = 0; i < keyValues[_DYN_LENGTH /* @min:%2elength */]; ++i) {\r\n var keyValue = keyValues[i][_DYN_SPLIT /* @min:%2esplit */](\"=\");\r\n if (keyValue[_DYN_LENGTH /* @min:%2elength */] === 2 && keyValue[0] === key) {\r\n return keyValue[1];\r\n }\r\n }\r\n }\r\n}\r\nexport function AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName) {\r\n var target, name = commandName, data = commandName;\r\n if (absoluteUrl && absoluteUrl[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n var parsedUrl = urlParseUrl(absoluteUrl);\r\n target = parsedUrl.host;\r\n if (!name) {\r\n if (parsedUrl[_DYN_PATHNAME /* @min:%2epathname */] != null) {\r\n var pathName = (parsedUrl.pathname[_DYN_LENGTH /* @min:%2elength */] === 0) ? \"/\" : parsedUrl[_DYN_PATHNAME /* @min:%2epathname */];\r\n if (pathName.charAt(0) !== \"/\") {\r\n pathName = \"/\" + pathName;\r\n }\r\n data = parsedUrl[_DYN_PATHNAME /* @min:%2epathname */];\r\n name = dataSanitizeString(logger, method ? method + \" \" + pathName : pathName);\r\n }\r\n else {\r\n name = dataSanitizeString(logger, absoluteUrl);\r\n }\r\n }\r\n }\r\n else {\r\n target = commandName;\r\n name = commandName;\r\n }\r\n return {\r\n target: target,\r\n name: name,\r\n data: data\r\n };\r\n}\r\nexport function dateTimeUtilsNow() {\r\n // returns the window or webworker performance object\r\n var perf = getPerformance();\r\n if (perf && perf.now && perf.timing) {\r\n var now = perf.now() + perf.timing.navigationStart;\r\n // Known issue with IE where this calculation can be negative, so if it is then ignore and fallback\r\n if (now > 0) {\r\n return now;\r\n }\r\n }\r\n return dateNow();\r\n}\r\nexport function dateTimeUtilsDuration(start, end) {\r\n var result = null;\r\n if (start !== 0 && end !== 0 && !isNullOrUndefined(start) && !isNullOrUndefined(end)) {\r\n result = end - start;\r\n }\r\n return result;\r\n}\r\n/**\r\n * Creates a IDistributedTraceContext from an optional telemetryTrace\r\n * @param telemetryTrace - The telemetryTrace instance that is being wrapped\r\n * @param parentCtx - An optional parent distributed trace instance, almost always undefined as this scenario is only used in the case of multiple property handlers.\r\n * @returns A new IDistributedTraceContext instance that is backed by the telemetryTrace or temporary object\r\n */\r\nexport function createDistributedTraceContextFromTrace(telemetryTrace, parentCtx) {\r\n var trace = telemetryTrace || {};\r\n return {\r\n getName: function () {\r\n return trace[_DYN_NAME /* @min:%2ename */];\r\n },\r\n setName: function (newValue) {\r\n parentCtx && parentCtx.setName(newValue);\r\n trace[_DYN_NAME /* @min:%2ename */] = newValue;\r\n },\r\n getTraceId: function () {\r\n return trace.traceID;\r\n },\r\n setTraceId: function (newValue) {\r\n parentCtx && parentCtx.setTraceId(newValue);\r\n if (isValidTraceId(newValue)) {\r\n trace.traceID = newValue;\r\n }\r\n },\r\n getSpanId: function () {\r\n return trace.parentID;\r\n },\r\n setSpanId: function (newValue) {\r\n parentCtx && parentCtx.setSpanId(newValue);\r\n if (isValidSpanId(newValue)) {\r\n trace.parentID = newValue;\r\n }\r\n },\r\n getTraceFlags: function () {\r\n return trace.traceFlags;\r\n },\r\n setTraceFlags: function (newTraceFlags) {\r\n parentCtx && parentCtx.setTraceFlags(newTraceFlags);\r\n trace.traceFlags = newTraceFlags;\r\n }\r\n };\r\n}\r\n//# sourceMappingURL=Util.js.map"],"names":[],"mappings":";;;;AAA4D;AAC1B;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
|
|
1
|
+
{"version":3,"file":"Util.js.map","sources":["Util.js"],"sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { arrForEach, arrIndexOf, dateNow, getPerformance, isNullOrUndefined, isValidSpanId, isValidTraceId } from \"@microsoft/applicationinsights-core-js\";\r\nimport { strIndexOf } from \"@nevware21/ts-utils\";\r\nimport { DEFAULT_BREEZE_ENDPOINT, DEFAULT_BREEZE_PATH } from \"./Constants\";\r\nimport { RequestHeaders } from \"./RequestResponseHeaders\";\r\nimport { dataSanitizeString } from \"./Telemetry/Common/DataSanitizer\";\r\nimport { urlParseFullHost, urlParseUrl } from \"./UrlHelperFuncs\";\r\nimport { _DYN_CORRELATION_HEADER_E1, _DYN_LENGTH, _DYN_NAME, _DYN_PATHNAME, _DYN_SPLIT, _DYN_TO_LOWER_CASE } from \"./__DynamicConstants\";\r\n// listing only non-geo specific locations\r\nvar _internalEndpoints = [\r\n DEFAULT_BREEZE_ENDPOINT + DEFAULT_BREEZE_PATH,\r\n \"https://breeze.aimon.applicationinsights.io\" + DEFAULT_BREEZE_PATH,\r\n \"https://dc-int.services.visualstudio.com\" + DEFAULT_BREEZE_PATH\r\n];\r\nvar _correlationIdPrefix = \"cid-v1:\";\r\nexport function isInternalApplicationInsightsEndpoint(endpointUrl) {\r\n return arrIndexOf(_internalEndpoints, endpointUrl[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]()) !== -1;\r\n}\r\nexport function correlationIdSetPrefix(prefix) {\r\n _correlationIdPrefix = prefix;\r\n}\r\nexport function correlationIdGetPrefix() {\r\n return _correlationIdPrefix;\r\n}\r\n/**\r\n * Checks if a request url is not on a excluded domain list and if it is safe to add correlation headers.\r\n * Headers are always included if the current domain matches the request domain. If they do not match (CORS),\r\n * they are regex-ed across correlationHeaderDomains and correlationHeaderExcludedDomains to determine if headers are included.\r\n * Some environments don't give information on currentHost via window.location.host (e.g. Cordova). In these cases, the user must\r\n * manually supply domains to include correlation headers on. Else, no headers will be included at all.\r\n */\r\nexport function correlationIdCanIncludeCorrelationHeader(config, requestUrl, currentHost) {\r\n if (!requestUrl || (config && config.disableCorrelationHeaders)) {\r\n return false;\r\n }\r\n if (config && config[_DYN_CORRELATION_HEADER_E1 /* @min:%2ecorrelationHeaderExcludePatterns */]) {\r\n for (var i = 0; i < config.correlationHeaderExcludePatterns[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n if (config[_DYN_CORRELATION_HEADER_E1 /* @min:%2ecorrelationHeaderExcludePatterns */][i].test(requestUrl)) {\r\n return false;\r\n }\r\n }\r\n }\r\n var requestHost = urlParseUrl(requestUrl).host[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n if (requestHost && (strIndexOf(requestHost, \":443\") !== -1 || strIndexOf(requestHost, \":80\") !== -1)) {\r\n // [Bug #1260] IE can include the port even for http and https URLs so if present\r\n // try and parse it to remove if it matches the default protocol port\r\n requestHost = (urlParseFullHost(requestUrl, true) || \"\")[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n }\r\n if ((!config || !config.enableCorsCorrelation) && (requestHost && requestHost !== currentHost)) {\r\n return false;\r\n }\r\n var includedDomains = config && config.correlationHeaderDomains;\r\n if (includedDomains) {\r\n var matchExists_1;\r\n arrForEach(includedDomains, function (domain) {\r\n var regex = new RegExp(domain.toLowerCase().replace(/\\\\/g, \"\\\\\\\\\").replace(/\\./g, \"\\\\.\").replace(/\\*/g, \".*\"));\r\n matchExists_1 = matchExists_1 || regex.test(requestHost);\r\n });\r\n if (!matchExists_1) {\r\n return false;\r\n }\r\n }\r\n var excludedDomains = config && config.correlationHeaderExcludedDomains;\r\n if (!excludedDomains || excludedDomains[_DYN_LENGTH /* @min:%2elength */] === 0) {\r\n return true;\r\n }\r\n for (var i = 0; i < excludedDomains[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n var regex = new RegExp(excludedDomains[i].toLowerCase().replace(/\\\\/g, \"\\\\\\\\\").replace(/\\./g, \"\\\\.\").replace(/\\*/g, \".*\"));\r\n if (regex.test(requestHost)) {\r\n return false;\r\n }\r\n }\r\n // if we don't know anything about the requestHost, require the user to use included/excludedDomains.\r\n // Previously we always returned false for a falsy requestHost\r\n return requestHost && requestHost[_DYN_LENGTH /* @min:%2elength */] > 0;\r\n}\r\n/**\r\n * Combines target appId and target role name from response header.\r\n */\r\nexport function correlationIdGetCorrelationContext(responseHeader) {\r\n if (responseHeader) {\r\n var correlationId = correlationIdGetCorrelationContextValue(responseHeader, RequestHeaders[1 /* eRequestHeaders.requestContextTargetKey */]);\r\n if (correlationId && correlationId !== _correlationIdPrefix) {\r\n return correlationId;\r\n }\r\n }\r\n}\r\n/**\r\n * Gets key from correlation response header\r\n */\r\nexport function correlationIdGetCorrelationContextValue(responseHeader, key) {\r\n if (responseHeader) {\r\n var keyValues = responseHeader[_DYN_SPLIT /* @min:%2esplit */](\",\");\r\n for (var i = 0; i < keyValues[_DYN_LENGTH /* @min:%2elength */]; ++i) {\r\n var keyValue = keyValues[i][_DYN_SPLIT /* @min:%2esplit */](\"=\");\r\n if (keyValue[_DYN_LENGTH /* @min:%2elength */] === 2 && keyValue[0] === key) {\r\n return keyValue[1];\r\n }\r\n }\r\n }\r\n}\r\nexport function AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName) {\r\n var target, name = commandName, data = commandName;\r\n if (absoluteUrl && absoluteUrl[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n var parsedUrl = urlParseUrl(absoluteUrl);\r\n target = parsedUrl.host;\r\n if (!name) {\r\n if (parsedUrl[_DYN_PATHNAME /* @min:%2epathname */] != null) {\r\n var pathName = (parsedUrl.pathname[_DYN_LENGTH /* @min:%2elength */] === 0) ? \"/\" : parsedUrl[_DYN_PATHNAME /* @min:%2epathname */];\r\n if (pathName.charAt(0) !== \"/\") {\r\n pathName = \"/\" + pathName;\r\n }\r\n data = parsedUrl[_DYN_PATHNAME /* @min:%2epathname */];\r\n name = dataSanitizeString(logger, method ? method + \" \" + pathName : pathName);\r\n }\r\n else {\r\n name = dataSanitizeString(logger, absoluteUrl);\r\n }\r\n }\r\n }\r\n else {\r\n target = commandName;\r\n name = commandName;\r\n }\r\n return {\r\n target: target,\r\n name: name,\r\n data: data\r\n };\r\n}\r\nexport function dateTimeUtilsNow() {\r\n // returns the window or webworker performance object\r\n var perf = getPerformance();\r\n if (perf && perf.now && perf.timing) {\r\n var now = perf.now() + perf.timing.navigationStart;\r\n // Known issue with IE where this calculation can be negative, so if it is then ignore and fallback\r\n if (now > 0) {\r\n return now;\r\n }\r\n }\r\n return dateNow();\r\n}\r\nexport function dateTimeUtilsDuration(start, end) {\r\n var result = null;\r\n if (start !== 0 && end !== 0 && !isNullOrUndefined(start) && !isNullOrUndefined(end)) {\r\n result = end - start;\r\n }\r\n return result;\r\n}\r\n/**\r\n * Creates a IDistributedTraceContext from an optional telemetryTrace\r\n * @param telemetryTrace - The telemetryTrace instance that is being wrapped\r\n * @param parentCtx - An optional parent distributed trace instance, almost always undefined as this scenario is only used in the case of multiple property handlers.\r\n * @returns A new IDistributedTraceContext instance that is backed by the telemetryTrace or temporary object\r\n */\r\nexport function createDistributedTraceContextFromTrace(telemetryTrace, parentCtx) {\r\n var trace = telemetryTrace || {};\r\n return {\r\n getName: function () {\r\n return trace[_DYN_NAME /* @min:%2ename */];\r\n },\r\n setName: function (newValue) {\r\n parentCtx && parentCtx.setName(newValue);\r\n trace[_DYN_NAME /* @min:%2ename */] = newValue;\r\n },\r\n getTraceId: function () {\r\n return trace.traceID;\r\n },\r\n setTraceId: function (newValue) {\r\n parentCtx && parentCtx.setTraceId(newValue);\r\n if (isValidTraceId(newValue)) {\r\n trace.traceID = newValue;\r\n }\r\n },\r\n getSpanId: function () {\r\n return trace.parentID;\r\n },\r\n setSpanId: function (newValue) {\r\n parentCtx && parentCtx.setSpanId(newValue);\r\n if (isValidSpanId(newValue)) {\r\n trace.parentID = newValue;\r\n }\r\n },\r\n getTraceFlags: function () {\r\n return trace.traceFlags;\r\n },\r\n setTraceFlags: function (newTraceFlags) {\r\n parentCtx && parentCtx.setTraceFlags(newTraceFlags);\r\n trace.traceFlags = newTraceFlags;\r\n }\r\n };\r\n}\r\n//# sourceMappingURL=Util.js.map"],"names":[],"mappings":";;;;AAA4D;AAC1B;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Application Insights JavaScript SDK - Common, 3.0.0-beta.
|
|
2
|
+
* Application Insights JavaScript SDK - Common, 3.0.0-beta.2211-01
|
|
3
3
|
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -12,34 +12,40 @@
|
|
|
12
12
|
// Note: DON'T Export these const from the package as we are still targeting IE this will export a mutable variables that someone could change
|
|
13
13
|
// ###########################################################################################################################################
|
|
14
14
|
export var _DYN_SPLIT = "split"; // Count: 6
|
|
15
|
-
export var _DYN_LENGTH = "length"; // Count:
|
|
15
|
+
export var _DYN_LENGTH = "length"; // Count: 41
|
|
16
16
|
export var _DYN_TO_LOWER_CASE = "toLowerCase"; // Count: 6
|
|
17
17
|
export var _DYN_INGESTIONENDPOINT = "ingestionendpoint"; // Count: 4
|
|
18
18
|
export var _DYN_TO_STRING = "toString"; // Count: 12
|
|
19
|
-
export var _DYN_REMOVE_ITEM = "removeItem"; // Count: 3
|
|
20
|
-
export var _DYN_NAME = "name"; // Count: 11
|
|
21
|
-
export var _DYN_PATHNAME = "pathname"; // Count: 4
|
|
22
|
-
export var _DYN_CORRELATION_HEADER_E0 = "correlationHeaderExcludePatterns"; // Count: 2
|
|
23
19
|
export var _DYN_EXTENSION_CONFIG = "extensionConfig"; // Count: 4
|
|
24
20
|
export var _DYN_EXCEPTIONS = "exceptions"; // Count: 6
|
|
25
21
|
export var _DYN_PARSED_STACK = "parsedStack"; // Count: 11
|
|
22
|
+
export var _DYN_REMOVE_ITEM = "removeItem"; // Count: 3
|
|
23
|
+
export var _DYN_SUBSTRING = "substring"; // Count: 6
|
|
24
|
+
export var _DYN_STRINGIFY = "stringify"; // Count: 4
|
|
25
|
+
export var _DYN_NAME = "name"; // Count: 11
|
|
26
26
|
export var _DYN_PROPERTIES = "properties"; // Count: 9
|
|
27
27
|
export var _DYN_MEASUREMENTS = "measurements"; // Count: 9
|
|
28
|
-
export var
|
|
29
|
-
export var _DYN_MESSAGE = "message"; // Count: 8
|
|
28
|
+
export var _DYN_MESSAGE = "message"; // Count: 10
|
|
30
29
|
export var _DYN_SIZE_IN_BYTES = "sizeInBytes"; // Count: 11
|
|
31
30
|
export var _DYN_TYPE_NAME = "typeName"; // Count: 11
|
|
32
31
|
export var _DYN_SEVERITY_LEVEL = "severityLevel"; // Count: 5
|
|
33
32
|
export var _DYN_PROBLEM_GROUP = "problemGroup"; // Count: 3
|
|
34
33
|
export var _DYN_IS_MANUAL = "isManual"; // Count: 3
|
|
35
|
-
export var
|
|
34
|
+
export var _DYN__CREATE_FROM_INTERFA0 = "CreateFromInterface"; // Count: 2
|
|
36
35
|
export var _DYN_HAS_FULL_STACK = "hasFullStack"; // Count: 6
|
|
37
36
|
export var _DYN_LEVEL = "level"; // Count: 5
|
|
38
37
|
export var _DYN_METHOD = "method"; // Count: 7
|
|
39
38
|
export var _DYN_ASSEMBLY = "assembly"; // Count: 5
|
|
40
39
|
export var _DYN_FILE_NAME = "fileName"; // Count: 6
|
|
41
40
|
export var _DYN_LINE = "line"; // Count: 6
|
|
41
|
+
export var _DYN_COUNT = "count"; // Count: 8
|
|
42
42
|
export var _DYN_DURATION = "duration"; // Count: 4
|
|
43
43
|
export var _DYN_RECEIVED_RESPONSE = "receivedResponse"; // Count: 2
|
|
44
|
-
export var
|
|
44
|
+
export var _DYN_PRE_TRIGGER_DATE = "preTriggerDate"; // Count: 4
|
|
45
|
+
export var _DYN_DISABLED = "disabled"; // Count: 3
|
|
46
|
+
export var _DYN_DATE = "date"; // Count: 5
|
|
47
|
+
export var _DYN_GET_UTCDATE = "getUTCDate"; // Count: 3
|
|
48
|
+
export var _DYN_MAX_TIMES_PER_MONTH = "maxTimesPerMonth"; // Count: 2
|
|
49
|
+
export var _DYN_PATHNAME = "pathname"; // Count: 4
|
|
50
|
+
export var _DYN_CORRELATION_HEADER_E1 = "correlationHeaderExcludePatterns"; // Count: 2
|
|
45
51
|
//# sourceMappingURL=__DynamicConstants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"__DynamicConstants.js.map","sources":["__DynamicConstants.js"],"sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// ###########################################################################################################################################\r\n// Note: DON'T Export these const from the package as we are still targeting IE this will export a mutable variables that someone could change\r\n// ###########################################################################################################################################\r\nexport var _DYN_SPLIT = \"split\"; // Count: 6\r\nexport var _DYN_LENGTH = \"length\"; // Count:
|
|
1
|
+
{"version":3,"file":"__DynamicConstants.js.map","sources":["__DynamicConstants.js"],"sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// ###########################################################################################################################################\r\n// Note: DON'T Export these const from the package as we are still targeting IE this will export a mutable variables that someone could change\r\n// ###########################################################################################################################################\r\nexport var _DYN_SPLIT = \"split\"; // Count: 6\r\nexport var _DYN_LENGTH = \"length\"; // Count: 41\r\nexport var _DYN_TO_LOWER_CASE = \"toLowerCase\"; // Count: 6\r\nexport var _DYN_INGESTIONENDPOINT = \"ingestionendpoint\"; // Count: 4\r\nexport var _DYN_TO_STRING = \"toString\"; // Count: 12\r\nexport var _DYN_EXTENSION_CONFIG = \"extensionConfig\"; // Count: 4\r\nexport var _DYN_EXCEPTIONS = \"exceptions\"; // Count: 6\r\nexport var _DYN_PARSED_STACK = \"parsedStack\"; // Count: 11\r\nexport var _DYN_REMOVE_ITEM = \"removeItem\"; // Count: 3\r\nexport var _DYN_SUBSTRING = \"substring\"; // Count: 6\r\nexport var _DYN_STRINGIFY = \"stringify\"; // Count: 4\r\nexport var _DYN_NAME = \"name\"; // Count: 11\r\nexport var _DYN_PROPERTIES = \"properties\"; // Count: 9\r\nexport var _DYN_MEASUREMENTS = \"measurements\"; // Count: 9\r\nexport var _DYN_MESSAGE = \"message\"; // Count: 10\r\nexport var _DYN_SIZE_IN_BYTES = \"sizeInBytes\"; // Count: 11\r\nexport var _DYN_TYPE_NAME = \"typeName\"; // Count: 11\r\nexport var _DYN_SEVERITY_LEVEL = \"severityLevel\"; // Count: 5\r\nexport var _DYN_PROBLEM_GROUP = \"problemGroup\"; // Count: 3\r\nexport var _DYN_IS_MANUAL = \"isManual\"; // Count: 3\r\nexport var _DYN__CREATE_FROM_INTERFA0 = \"CreateFromInterface\"; // Count: 2\r\nexport var _DYN_HAS_FULL_STACK = \"hasFullStack\"; // Count: 6\r\nexport var _DYN_LEVEL = \"level\"; // Count: 5\r\nexport var _DYN_METHOD = \"method\"; // Count: 7\r\nexport var _DYN_ASSEMBLY = \"assembly\"; // Count: 5\r\nexport var _DYN_FILE_NAME = \"fileName\"; // Count: 6\r\nexport var _DYN_LINE = \"line\"; // Count: 6\r\nexport var _DYN_COUNT = \"count\"; // Count: 8\r\nexport var _DYN_DURATION = \"duration\"; // Count: 4\r\nexport var _DYN_RECEIVED_RESPONSE = \"receivedResponse\"; // Count: 2\r\nexport var _DYN_PRE_TRIGGER_DATE = \"preTriggerDate\"; // Count: 4\r\nexport var _DYN_DISABLED = \"disabled\"; // Count: 3\r\nexport var _DYN_DATE = \"date\"; // Count: 5\r\nexport var _DYN_GET_UTCDATE = \"getUTCDate\"; // Count: 3\r\nexport var _DYN_MAX_TIMES_PER_MONTH = \"maxTimesPerMonth\"; // Count: 2\r\nexport var _DYN_PATHNAME = \"pathname\"; // Count: 4\r\nexport var _DYN_CORRELATION_HEADER_E1 = \"correlationHeaderExcludePatterns\"; // Count: 2\r\n//# sourceMappingURL=__DynamicConstants.js.map"],"names":[],"mappings":";;;;AAA4D;AAC1B;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Application Insights JavaScript SDK - Common, 3.0.0-beta.
|
|
2
|
+
* Application Insights JavaScript SDK - Common, 3.0.0-beta.2211-01
|
|
3
3
|
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
// Licensed under the
|
|
7
7
|
export { correlationIdSetPrefix, correlationIdGetPrefix, correlationIdCanIncludeCorrelationHeader, correlationIdGetCorrelationContext, correlationIdGetCorrelationContextValue, dateTimeUtilsNow, dateTimeUtilsDuration, isInternalApplicationInsightsEndpoint, createDistributedTraceContextFromTrace } from "./Util";
|
|
8
|
+
export { ThrottleMgr } from "./ThrottleMgr";
|
|
8
9
|
export { parseConnectionString, ConnectionStringParser } from "./ConnectionStringParser";
|
|
9
10
|
export { RequestHeaders } from "./RequestResponseHeaders";
|
|
10
11
|
export { DisabledPropertyName, ProcessLegacy, SampleRate, HttpMethod, DEFAULT_BREEZE_ENDPOINT, DEFAULT_BREEZE_PATH, strNotSpecified } from "./Constants";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"applicationinsights-common.js.map","sources":["applicationinsights-common.js"],"sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the\r\nexport { correlationIdSetPrefix, correlationIdGetPrefix, correlationIdCanIncludeCorrelationHeader, correlationIdGetCorrelationContext, correlationIdGetCorrelationContextValue, dateTimeUtilsNow, dateTimeUtilsDuration, isInternalApplicationInsightsEndpoint, createDistributedTraceContextFromTrace } from \"./Util\";\r\nexport { parseConnectionString, ConnectionStringParser } from \"./ConnectionStringParser\";\r\nexport { RequestHeaders } from \"./RequestResponseHeaders\";\r\nexport { DisabledPropertyName, ProcessLegacy, SampleRate, HttpMethod, DEFAULT_BREEZE_ENDPOINT, DEFAULT_BREEZE_PATH, strNotSpecified } from \"./Constants\";\r\nexport { Envelope } from \"./Telemetry/Common/Envelope\";\r\nexport { Event } from \"./Telemetry/Event\";\r\nexport { Exception } from \"./Telemetry/Exception\";\r\nexport { Metric } from \"./Telemetry/Metric\";\r\nexport { PageView } from \"./Telemetry/PageView\";\r\nexport { RemoteDependencyData } from \"./Telemetry/RemoteDependencyData\";\r\nexport { Trace } from \"./Telemetry/Trace\";\r\nexport { PageViewPerformance } from \"./Telemetry/PageViewPerformance\";\r\nexport { Data } from \"./Telemetry/Common/Data\";\r\nexport { SeverityLevel } from \"./Interfaces/Contracts/SeverityLevel\";\r\nexport { ConfigurationManager } from \"./Interfaces/IConfig\";\r\nexport { ContextTagKeys } from \"./Interfaces/Contracts/ContextTagKeys\";\r\nexport { dataSanitizeKeyAndAddUniqueness, dataSanitizeKey, dataSanitizeString, dataSanitizeUrl, dataSanitizeMessage, dataSanitizeException, dataSanitizeProperties, dataSanitizeMeasurements, dataSanitizeId, dataSanitizeInput, dsPadNumber } from \"./Telemetry/Common/DataSanitizer\";\r\nexport { TelemetryItemCreator, createTelemetryItem } from \"./TelemetryItemCreator\";\r\nexport { CtxTagKeys, Extensions } from \"./Interfaces/PartAExtensions\";\r\nexport { DistributedTracingModes } from \"./Enums\";\r\nexport { stringToBoolOrDefault, msToTimeSpan, getExtensionByName, isCrossOriginError } from \"./HelperFuncs\";\r\nexport { isBeaconsSupported as isBeaconApiSupported, createTraceParent, parseTraceParent, isValidTraceId, isValidSpanId, isValidTraceParent, isSampledFlag, formatTraceParent, findW3cTraceParent } from \"@microsoft/applicationinsights-core-js\";\r\nexport { createDomEvent } from \"./DomHelperFuncs\";\r\nexport { utlDisableStorage, utlEnableStorage, utlCanUseLocalStorage, utlGetLocalStorage, utlSetLocalStorage, utlRemoveStorage, utlCanUseSessionStorage, utlGetSessionStorageKeys, utlGetSessionStorage, utlSetSessionStorage, utlRemoveSessionStorage } from \"./StorageHelperFuncs\";\r\nexport { urlParseUrl, urlGetAbsoluteUrl, urlGetPathName, urlGetCompleteUrl, urlParseHost, urlParseFullHost } from \"./UrlHelperFuncs\";\r\nexport var PropertiesPluginIdentifier = \"AppInsightsPropertiesPlugin\";\r\nexport var BreezeChannelIdentifier = \"AppInsightsChannelPlugin\";\r\nexport var AnalyticsPluginIdentifier = \"ApplicationInsightsAnalytics\";\r\n//# sourceMappingURL=applicationinsights-common.js.map"],"names":[],"mappings":";;;;AAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
|
|
1
|
+
{"version":3,"file":"applicationinsights-common.js.map","sources":["applicationinsights-common.js"],"sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the\r\nexport { correlationIdSetPrefix, correlationIdGetPrefix, correlationIdCanIncludeCorrelationHeader, correlationIdGetCorrelationContext, correlationIdGetCorrelationContextValue, dateTimeUtilsNow, dateTimeUtilsDuration, isInternalApplicationInsightsEndpoint, createDistributedTraceContextFromTrace } from \"./Util\";\r\nexport { ThrottleMgr } from \"./ThrottleMgr\";\r\nexport { parseConnectionString, ConnectionStringParser } from \"./ConnectionStringParser\";\r\nexport { RequestHeaders } from \"./RequestResponseHeaders\";\r\nexport { DisabledPropertyName, ProcessLegacy, SampleRate, HttpMethod, DEFAULT_BREEZE_ENDPOINT, DEFAULT_BREEZE_PATH, strNotSpecified } from \"./Constants\";\r\nexport { Envelope } from \"./Telemetry/Common/Envelope\";\r\nexport { Event } from \"./Telemetry/Event\";\r\nexport { Exception } from \"./Telemetry/Exception\";\r\nexport { Metric } from \"./Telemetry/Metric\";\r\nexport { PageView } from \"./Telemetry/PageView\";\r\nexport { RemoteDependencyData } from \"./Telemetry/RemoteDependencyData\";\r\nexport { Trace } from \"./Telemetry/Trace\";\r\nexport { PageViewPerformance } from \"./Telemetry/PageViewPerformance\";\r\nexport { Data } from \"./Telemetry/Common/Data\";\r\nexport { SeverityLevel } from \"./Interfaces/Contracts/SeverityLevel\";\r\nexport { ConfigurationManager } from \"./Interfaces/IConfig\";\r\nexport { ContextTagKeys } from \"./Interfaces/Contracts/ContextTagKeys\";\r\nexport { dataSanitizeKeyAndAddUniqueness, dataSanitizeKey, dataSanitizeString, dataSanitizeUrl, dataSanitizeMessage, dataSanitizeException, dataSanitizeProperties, dataSanitizeMeasurements, dataSanitizeId, dataSanitizeInput, dsPadNumber } from \"./Telemetry/Common/DataSanitizer\";\r\nexport { TelemetryItemCreator, createTelemetryItem } from \"./TelemetryItemCreator\";\r\nexport { CtxTagKeys, Extensions } from \"./Interfaces/PartAExtensions\";\r\nexport { DistributedTracingModes } from \"./Enums\";\r\nexport { stringToBoolOrDefault, msToTimeSpan, getExtensionByName, isCrossOriginError } from \"./HelperFuncs\";\r\nexport { isBeaconsSupported as isBeaconApiSupported, createTraceParent, parseTraceParent, isValidTraceId, isValidSpanId, isValidTraceParent, isSampledFlag, formatTraceParent, findW3cTraceParent } from \"@microsoft/applicationinsights-core-js\";\r\nexport { createDomEvent } from \"./DomHelperFuncs\";\r\nexport { utlDisableStorage, utlEnableStorage, utlCanUseLocalStorage, utlGetLocalStorage, utlSetLocalStorage, utlRemoveStorage, utlCanUseSessionStorage, utlGetSessionStorageKeys, utlGetSessionStorage, utlSetSessionStorage, utlRemoveSessionStorage } from \"./StorageHelperFuncs\";\r\nexport { urlParseUrl, urlGetAbsoluteUrl, urlGetPathName, urlGetCompleteUrl, urlParseHost, urlParseFullHost } from \"./UrlHelperFuncs\";\r\nexport var PropertiesPluginIdentifier = \"AppInsightsPropertiesPlugin\";\r\nexport var BreezeChannelIdentifier = \"AppInsightsChannelPlugin\";\r\nexport var AnalyticsPluginIdentifier = \"ApplicationInsightsAnalytics\";\r\n//# sourceMappingURL=applicationinsights-common.js.map"],"names":[],"mappings":";;;;AAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@microsoft/applicationinsights-common",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.2211-01",
|
|
4
4
|
"description": "Microsoft Application Insights Common JavaScript Library",
|
|
5
5
|
"homepage": "https://github.com/microsoft/ApplicationInsights-JS#readme",
|
|
6
6
|
"author": "Microsoft Application Insights Team",
|
|
@@ -43,14 +43,15 @@
|
|
|
43
43
|
"typescript": "^4.3.4",
|
|
44
44
|
"tslib": "^2.0.0",
|
|
45
45
|
"globby": "^11.0.0",
|
|
46
|
-
"magic-string": "^0.25.7"
|
|
46
|
+
"magic-string": "^0.25.7",
|
|
47
|
+
"sinon": "^7.3.1"
|
|
47
48
|
},
|
|
48
49
|
"peerDependencies": {
|
|
49
50
|
"tslib": "*"
|
|
50
51
|
},
|
|
51
52
|
"dependencies": {
|
|
52
|
-
"@microsoft/applicationinsights-shims": "2.0.
|
|
53
|
-
"@microsoft/applicationinsights-core-js": "3.0.0-beta.
|
|
53
|
+
"@microsoft/applicationinsights-shims": "2.0.2",
|
|
54
|
+
"@microsoft/applicationinsights-core-js": "3.0.0-beta.2211-01",
|
|
54
55
|
"@microsoft/dynamicproto-js": "^1.1.7",
|
|
55
56
|
"@nevware21/ts-utils": "^0.5.0"
|
|
56
57
|
},
|
package/src/Enums.ts
CHANGED
|
@@ -47,3 +47,9 @@ export const DistributedTracingModes = createEnumStyle<typeof eDistributedTracin
|
|
|
47
47
|
W3C: eDistributedTracingModes.W3C
|
|
48
48
|
});
|
|
49
49
|
export type DistributedTracingModes = number | eDistributedTracingModes;
|
|
50
|
+
|
|
51
|
+
export const enum IThrottleMsgKey {
|
|
52
|
+
default = 0,
|
|
53
|
+
ikeyDeprecate = 1,
|
|
54
|
+
cdnDeprecate = 2
|
|
55
|
+
}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { IThrottleMsgKey } from "../Enums";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Identifies limit number/percentage of items sent per time
|
|
5
|
+
* If both are provided, minimum number between the two will be used
|
|
6
|
+
*/
|
|
7
|
+
export interface IThrottleLimit {
|
|
8
|
+
/**
|
|
9
|
+
* Identifies sampling percentage of items per time
|
|
10
|
+
* The percentage is set to 4 decimal places, for example: 1 means 0.0001%
|
|
11
|
+
* Default: 100 (0.01%)
|
|
12
|
+
*/
|
|
13
|
+
samplingRate?: number;
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Identifies limit number of items per time
|
|
17
|
+
* Default: 1
|
|
18
|
+
*/
|
|
19
|
+
maxSendNumber?: number;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Identifies frequency of items sent
|
|
24
|
+
* Default: send data on 28th every 3 month each year
|
|
25
|
+
*/
|
|
26
|
+
export interface IThrottleInterval {
|
|
27
|
+
/**
|
|
28
|
+
* Identifies month interval that items can be sent
|
|
29
|
+
* For example, if it is set to 2 and start date is in Jan, items will be sent out every two months (Jan, March, May etc.)
|
|
30
|
+
* Default: 3
|
|
31
|
+
*/
|
|
32
|
+
monthInterval?: number;
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Identifies days that items can be sent within a month
|
|
36
|
+
* Default: 28
|
|
37
|
+
*/
|
|
38
|
+
dayInterval?: number;
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Identifies max times items can be sent within a month
|
|
42
|
+
* Default: 1
|
|
43
|
+
*/
|
|
44
|
+
maxTimesPerMonth?: number;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Identifies basic config
|
|
49
|
+
*/
|
|
50
|
+
export interface IThrottleMgrConfig {
|
|
51
|
+
/**
|
|
52
|
+
* Identifies message key to be used for local storage key
|
|
53
|
+
*/
|
|
54
|
+
msgKey: IThrottleMsgKey;
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Identifies if throttle is disabled
|
|
58
|
+
* Default: false
|
|
59
|
+
*/
|
|
60
|
+
disabled?: boolean;
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Identifies limit number/percentage of items sent per time
|
|
64
|
+
*/
|
|
65
|
+
limit?: IThrottleLimit;
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Identifies frequency of items sent
|
|
69
|
+
* Default: send data on 28th every 3 month each year
|
|
70
|
+
*/
|
|
71
|
+
interval?: IThrottleInterval;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Identifies object for local storage
|
|
76
|
+
*/
|
|
77
|
+
export interface IThrottleLocalStorageObj {
|
|
78
|
+
/**
|
|
79
|
+
* Identifies start date
|
|
80
|
+
*/
|
|
81
|
+
date: Date;
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Identifies current count
|
|
85
|
+
*/
|
|
86
|
+
|
|
87
|
+
count: number;
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* identifies previous triggered throttle date
|
|
91
|
+
*/
|
|
92
|
+
preTriggerDate?: Date;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Identifies throttle result
|
|
97
|
+
*/
|
|
98
|
+
export interface IThrottleResult {
|
|
99
|
+
/**
|
|
100
|
+
* Identifies if items are sent
|
|
101
|
+
*/
|
|
102
|
+
isThrottled: boolean;
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Identifies numbers of items are sent
|
|
106
|
+
* if isThrottled is false, it will be set to 0
|
|
107
|
+
*/
|
|
108
|
+
throttleNum: number;
|
|
109
|
+
}
|
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
import {
|
|
2
|
+
IAppInsightsCore, IDiagnosticLogger, _eInternalMessageId, _throwInternal, arrForEach, eLoggingSeverity, isNotNullOrUndefined,
|
|
3
|
+
isNullOrUndefined, randomValue, safeGetLogger, strTrim
|
|
4
|
+
} from "@microsoft/applicationinsights-core-js";
|
|
5
|
+
import { IThrottleMsgKey } from "./Enums";
|
|
6
|
+
import { IThrottleLocalStorageObj, IThrottleMgrConfig, IThrottleResult } from "./Interfaces/IThrottleMgr";
|
|
7
|
+
import { utlCanUseLocalStorage, utlGetLocalStorage, utlSetLocalStorage } from "./StorageHelperFuncs";
|
|
8
|
+
|
|
9
|
+
const THROTTLE_STORAGE_PREFIX = "appInsightsThrottle";
|
|
10
|
+
|
|
11
|
+
interface SendMsgParameter {
|
|
12
|
+
msgID: _eInternalMessageId,
|
|
13
|
+
message: string,
|
|
14
|
+
severity?: eLoggingSeverity
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export class ThrottleMgr {
|
|
18
|
+
public canThrottle: () => boolean;
|
|
19
|
+
public sendMessage: (msgID: _eInternalMessageId, message: string, severity?: eLoggingSeverity) => IThrottleResult | null;
|
|
20
|
+
public getConfig: () => IThrottleMgrConfig;
|
|
21
|
+
public isTriggered: () => boolean; // this function is to get previous triggered status
|
|
22
|
+
public isReady: () => boolean
|
|
23
|
+
public onReadyState: (isReady?: boolean) => boolean;
|
|
24
|
+
public flush: () => boolean;
|
|
25
|
+
|
|
26
|
+
constructor(throttleMgr?: IThrottleMgrConfig, core?: IAppInsightsCore, namePrefix?: string) {
|
|
27
|
+
let _self = this;
|
|
28
|
+
let _canUseLocalStorage: boolean;
|
|
29
|
+
let _logger: IDiagnosticLogger | null | undefined;
|
|
30
|
+
let _config: IThrottleMgrConfig;
|
|
31
|
+
let _localStorageName: string | null;
|
|
32
|
+
let _localStorageObj: IThrottleLocalStorageObj | null | undefined;
|
|
33
|
+
let _isTriggered: boolean; //_isTriggered is to make sure that we only trigger throttle once a day
|
|
34
|
+
let _namePrefix: string;
|
|
35
|
+
let _queue: Array<SendMsgParameter>;
|
|
36
|
+
let _isReady: boolean = false;
|
|
37
|
+
|
|
38
|
+
_initConfig();
|
|
39
|
+
|
|
40
|
+
_self.getConfig = (): IThrottleMgrConfig => {
|
|
41
|
+
return _config;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Check if it is the correct day to send message.
|
|
46
|
+
* If _isTriggered is true, even if canThrottle returns true, message will not be sent,
|
|
47
|
+
* because we only allow triggering sendMessage() once a day.
|
|
48
|
+
* @returns if the current date is the valid date to send message
|
|
49
|
+
*/
|
|
50
|
+
_self.canThrottle = (): boolean => {
|
|
51
|
+
return _canThrottle(_config, _canUseLocalStorage, _localStorageObj);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Check if throttle is triggered on current day(UTC)
|
|
56
|
+
* if canThrottle returns false, isTriggered will return false
|
|
57
|
+
* @returns if throttle is triggered on current day(UTC)
|
|
58
|
+
*/
|
|
59
|
+
_self.isTriggered = (): boolean => {
|
|
60
|
+
return _isTriggered;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Before isReady set to true, all message will be stored in queue.
|
|
65
|
+
* Message will only be sent out after isReady set to true.
|
|
66
|
+
* Initial and default value: false
|
|
67
|
+
* @returns isReady state
|
|
68
|
+
*/
|
|
69
|
+
_self.isReady = (): boolean => {
|
|
70
|
+
return _isReady;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Flush all message in queue with isReady state set to true.
|
|
75
|
+
* @returns if message queue is flushed
|
|
76
|
+
*/
|
|
77
|
+
_self.flush = (): boolean => {
|
|
78
|
+
try {
|
|
79
|
+
if (_isReady && _queue.length > 0) {
|
|
80
|
+
arrForEach(_queue, (item: SendMsgParameter) => {
|
|
81
|
+
_self.sendMessage(item.msgID, item.message, item.severity);
|
|
82
|
+
});
|
|
83
|
+
return true;
|
|
84
|
+
}
|
|
85
|
+
} catch(err) {
|
|
86
|
+
// eslint-disable-next-line no-empty
|
|
87
|
+
}
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Set isReady State
|
|
93
|
+
* if isReady set to true, message queue will be flushed automatically.
|
|
94
|
+
* @param isReady isReady State
|
|
95
|
+
* @returns if message queue is flushed
|
|
96
|
+
*/
|
|
97
|
+
_self.onReadyState = (isReady?: boolean): boolean => {
|
|
98
|
+
_isReady = isNullOrUndefined(isReady)? true : isReady;
|
|
99
|
+
return _self.flush();
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
_self.sendMessage = (msgID: _eInternalMessageId, message: string, severity?: eLoggingSeverity): IThrottleResult | null => {
|
|
103
|
+
if (_isReady) {
|
|
104
|
+
let isSampledIn = _canSampledIn();
|
|
105
|
+
if (!isSampledIn) {
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
let canThrottle = _canThrottle(_config, _canUseLocalStorage, _localStorageObj);
|
|
109
|
+
let throttled = false;
|
|
110
|
+
let number = 0;
|
|
111
|
+
try {
|
|
112
|
+
if (canThrottle && !_isTriggered) {
|
|
113
|
+
number = Math.min(_config.limit.maxSendNumber, _localStorageObj.count + 1);
|
|
114
|
+
_localStorageObj.count = 0;
|
|
115
|
+
throttled = true;
|
|
116
|
+
_isTriggered = true;
|
|
117
|
+
_localStorageObj.preTriggerDate = new Date();
|
|
118
|
+
} else {
|
|
119
|
+
_isTriggered = canThrottle;
|
|
120
|
+
_localStorageObj.count += 1;
|
|
121
|
+
}
|
|
122
|
+
_resetLocalStorage(_logger, _localStorageName, _localStorageObj);
|
|
123
|
+
for (let i = 0; i < number; i++) {
|
|
124
|
+
_sendMessage(msgID, _logger, message, severity);
|
|
125
|
+
}
|
|
126
|
+
} catch(e) {
|
|
127
|
+
// eslint-disable-next-line no-empty
|
|
128
|
+
}
|
|
129
|
+
return {
|
|
130
|
+
isThrottled: throttled,
|
|
131
|
+
throttleNum: number
|
|
132
|
+
} as IThrottleResult;
|
|
133
|
+
} else {
|
|
134
|
+
_queue.push({
|
|
135
|
+
msgID: msgID,
|
|
136
|
+
message: message,
|
|
137
|
+
severity: severity
|
|
138
|
+
} as SendMsgParameter);
|
|
139
|
+
}
|
|
140
|
+
return null;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
function _initConfig() {
|
|
144
|
+
_canUseLocalStorage = utlCanUseLocalStorage();
|
|
145
|
+
_logger = safeGetLogger(core);
|
|
146
|
+
_isTriggered = false;
|
|
147
|
+
_namePrefix = isNotNullOrUndefined(namePrefix)? namePrefix : "";
|
|
148
|
+
_queue = [];
|
|
149
|
+
let configMgr = throttleMgr;
|
|
150
|
+
_config = {} as any;
|
|
151
|
+
_config.disabled = !!configMgr.disabled;
|
|
152
|
+
_config.msgKey = configMgr.msgKey;
|
|
153
|
+
// default: send data on 28th every 3 month each year
|
|
154
|
+
let interval = {
|
|
155
|
+
// dafault: sent every three months
|
|
156
|
+
monthInterval: configMgr.interval?.monthInterval || 3,
|
|
157
|
+
dayInterval : configMgr.interval?.dayInterval || 28,
|
|
158
|
+
maxTimesPerMonth: configMgr.interval?.maxTimesPerMonth || 1
|
|
159
|
+
};
|
|
160
|
+
_config.interval = interval;
|
|
161
|
+
let limit = {
|
|
162
|
+
samplingRate: configMgr.limit?.samplingRate || 100,
|
|
163
|
+
// dafault: every time sent only 1 event
|
|
164
|
+
maxSendNumber: configMgr.limit?.maxSendNumber || 1
|
|
165
|
+
};
|
|
166
|
+
_config.limit = limit;
|
|
167
|
+
_localStorageName = _getLocalStorageName(_config.msgKey, _namePrefix);
|
|
168
|
+
|
|
169
|
+
if (_canUseLocalStorage && _localStorageName) {
|
|
170
|
+
_localStorageObj = _getLocalStorageObj(utlGetLocalStorage(_logger, _localStorageName), _logger, _localStorageName);
|
|
171
|
+
}
|
|
172
|
+
if (_localStorageObj) {
|
|
173
|
+
_isTriggered = _isTriggeredOnCurDate(_localStorageObj.preTriggerDate);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
function _canThrottle(config: IThrottleMgrConfig, canUseLocalStorage: boolean, localStorageObj: IThrottleLocalStorageObj) {
|
|
178
|
+
if (!config.disabled && canUseLocalStorage && isNotNullOrUndefined(localStorageObj)) {
|
|
179
|
+
let curDate = _getThrottleDate();
|
|
180
|
+
let date = localStorageObj.date;
|
|
181
|
+
let interval = config.interval;
|
|
182
|
+
let monthExpand = (curDate.getUTCFullYear() - date.getUTCFullYear()) * 12 + curDate.getUTCMonth() - date.getUTCMonth();
|
|
183
|
+
let monthCheck = _checkInterval(interval.monthInterval, 0, monthExpand);
|
|
184
|
+
let dayCheck = _checkInterval(interval.dayInterval, 0, curDate.getUTCDate()) -1;
|
|
185
|
+
return monthCheck >= 0 && dayCheck >= 0 && dayCheck <= config.interval.maxTimesPerMonth;
|
|
186
|
+
}
|
|
187
|
+
return false;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
function _getLocalStorageName(msgKey: IThrottleMsgKey, prefix?: string) {
|
|
191
|
+
let fix = isNotNullOrUndefined(prefix)? prefix : "";
|
|
192
|
+
if (msgKey) {
|
|
193
|
+
return THROTTLE_STORAGE_PREFIX + fix + "-" + msgKey;
|
|
194
|
+
}
|
|
195
|
+
return null;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
// returns if throttle is triggered on current Date
|
|
199
|
+
function _isTriggeredOnCurDate(preTriggerDate?: Date) {
|
|
200
|
+
try {
|
|
201
|
+
if(preTriggerDate) {
|
|
202
|
+
let curDate = new Date();
|
|
203
|
+
return preTriggerDate.getUTCFullYear() === curDate.getUTCFullYear() &&
|
|
204
|
+
preTriggerDate.getUTCMonth() === curDate.getUTCMonth() &&
|
|
205
|
+
preTriggerDate.getUTCDate() === curDate.getUTCDate();
|
|
206
|
+
}
|
|
207
|
+
} catch (e) {
|
|
208
|
+
// eslint-disable-next-line no-empty
|
|
209
|
+
}
|
|
210
|
+
return false;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
// transfer local storage string value to object that identifies start date, current count and preTriggerDate
|
|
214
|
+
function _getLocalStorageObj(value: string, logger: IDiagnosticLogger, storageName: string) {
|
|
215
|
+
try {
|
|
216
|
+
let storageObj = {
|
|
217
|
+
date: _getThrottleDate(),
|
|
218
|
+
count: 0
|
|
219
|
+
} as IThrottleLocalStorageObj;
|
|
220
|
+
if (value) {
|
|
221
|
+
let obj = JSON.parse(value);
|
|
222
|
+
return {
|
|
223
|
+
date: _getThrottleDate(obj.date) || storageObj.date,
|
|
224
|
+
count: obj.count || storageObj.count,
|
|
225
|
+
preTriggerDate: obj.preTriggerDate? _getThrottleDate(obj.preTriggerDate) : undefined
|
|
226
|
+
} as IThrottleLocalStorageObj;
|
|
227
|
+
} else {
|
|
228
|
+
_resetLocalStorage(logger, storageName, storageObj);
|
|
229
|
+
return storageObj;
|
|
230
|
+
|
|
231
|
+
}
|
|
232
|
+
} catch(e) {
|
|
233
|
+
// eslint-disable-next-line no-empty
|
|
234
|
+
}
|
|
235
|
+
return null;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
// if datestr is not defined, current date will be returned
|
|
239
|
+
function _getThrottleDate(dateStr?: string) {
|
|
240
|
+
// if new Date() can't be created through the provided dateStr, null will be returned.
|
|
241
|
+
try {
|
|
242
|
+
if (dateStr) {
|
|
243
|
+
let date = new Date(dateStr);
|
|
244
|
+
//make sure it is a valid Date Object
|
|
245
|
+
if (!isNaN(date.getDate())) {
|
|
246
|
+
return date;
|
|
247
|
+
}
|
|
248
|
+
} else {
|
|
249
|
+
return new Date();
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
} catch (e) {
|
|
253
|
+
// eslint-disable-next-line no-empty
|
|
254
|
+
}
|
|
255
|
+
return null;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
function _resetLocalStorage(logger: IDiagnosticLogger, storageName: string, obj: IThrottleLocalStorageObj) {
|
|
259
|
+
try {
|
|
260
|
+
return utlSetLocalStorage(logger, storageName, strTrim(JSON.stringify(obj)));
|
|
261
|
+
} catch (e) {
|
|
262
|
+
// // eslint-disable-next-line no-empty
|
|
263
|
+
}
|
|
264
|
+
return false;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
function _checkInterval(interval: number, start: number, current: number) {
|
|
268
|
+
// count from start year
|
|
269
|
+
return (current >= start) && (current - start) % interval == 0 ? Math.floor((current - start) / interval) + 1 : -1;
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
function _sendMessage(msgID: _eInternalMessageId, logger: IDiagnosticLogger, message: string, severity?: eLoggingSeverity) {
|
|
273
|
+
_throwInternal(logger,
|
|
274
|
+
severity || eLoggingSeverity.CRITICAL,
|
|
275
|
+
msgID,
|
|
276
|
+
message);
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
// NOTE: config.limit.samplingRate is set to 4 decimal places,
|
|
280
|
+
// so config.limit.samplingRate = 1 means 0.0001%
|
|
281
|
+
function _canSampledIn() {
|
|
282
|
+
return randomValue(1000000) <= _config.limit.samplingRate;
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
}
|
|
@@ -11,33 +11,39 @@
|
|
|
11
11
|
// ###########################################################################################################################################
|
|
12
12
|
|
|
13
13
|
export const _DYN_SPLIT = "split"; // Count: 6
|
|
14
|
-
export const _DYN_LENGTH = "length"; // Count:
|
|
14
|
+
export const _DYN_LENGTH = "length"; // Count: 41
|
|
15
15
|
export const _DYN_TO_LOWER_CASE = "toLowerCase"; // Count: 6
|
|
16
16
|
export const _DYN_INGESTIONENDPOINT = "ingestionendpoint"; // Count: 4
|
|
17
17
|
export const _DYN_TO_STRING = "toString"; // Count: 12
|
|
18
|
-
export const _DYN_REMOVE_ITEM = "removeItem"; // Count: 3
|
|
19
|
-
export const _DYN_NAME = "name"; // Count: 11
|
|
20
|
-
export const _DYN_PATHNAME = "pathname"; // Count: 4
|
|
21
|
-
export const _DYN_CORRELATION_HEADER_E0 = "correlationHeaderExcludePatterns"; // Count: 2
|
|
22
18
|
export const _DYN_EXTENSION_CONFIG = "extensionConfig"; // Count: 4
|
|
23
19
|
export const _DYN_EXCEPTIONS = "exceptions"; // Count: 6
|
|
24
20
|
export const _DYN_PARSED_STACK = "parsedStack"; // Count: 11
|
|
21
|
+
export const _DYN_REMOVE_ITEM = "removeItem"; // Count: 3
|
|
22
|
+
export const _DYN_SUBSTRING = "substring"; // Count: 6
|
|
23
|
+
export const _DYN_STRINGIFY = "stringify"; // Count: 4
|
|
24
|
+
export const _DYN_NAME = "name"; // Count: 11
|
|
25
25
|
export const _DYN_PROPERTIES = "properties"; // Count: 9
|
|
26
26
|
export const _DYN_MEASUREMENTS = "measurements"; // Count: 9
|
|
27
|
-
export const
|
|
28
|
-
export const _DYN_MESSAGE = "message"; // Count: 8
|
|
27
|
+
export const _DYN_MESSAGE = "message"; // Count: 10
|
|
29
28
|
export const _DYN_SIZE_IN_BYTES = "sizeInBytes"; // Count: 11
|
|
30
29
|
export const _DYN_TYPE_NAME = "typeName"; // Count: 11
|
|
31
30
|
export const _DYN_SEVERITY_LEVEL = "severityLevel"; // Count: 5
|
|
32
31
|
export const _DYN_PROBLEM_GROUP = "problemGroup"; // Count: 3
|
|
33
32
|
export const _DYN_IS_MANUAL = "isManual"; // Count: 3
|
|
34
|
-
export const
|
|
33
|
+
export const _DYN__CREATE_FROM_INTERFA0 = "CreateFromInterface"; // Count: 2
|
|
35
34
|
export const _DYN_HAS_FULL_STACK = "hasFullStack"; // Count: 6
|
|
36
35
|
export const _DYN_LEVEL = "level"; // Count: 5
|
|
37
36
|
export const _DYN_METHOD = "method"; // Count: 7
|
|
38
37
|
export const _DYN_ASSEMBLY = "assembly"; // Count: 5
|
|
39
38
|
export const _DYN_FILE_NAME = "fileName"; // Count: 6
|
|
40
39
|
export const _DYN_LINE = "line"; // Count: 6
|
|
40
|
+
export const _DYN_COUNT = "count"; // Count: 8
|
|
41
41
|
export const _DYN_DURATION = "duration"; // Count: 4
|
|
42
42
|
export const _DYN_RECEIVED_RESPONSE = "receivedResponse"; // Count: 2
|
|
43
|
-
export const
|
|
43
|
+
export const _DYN_PRE_TRIGGER_DATE = "preTriggerDate"; // Count: 4
|
|
44
|
+
export const _DYN_DISABLED = "disabled"; // Count: 3
|
|
45
|
+
export const _DYN_DATE = "date"; // Count: 5
|
|
46
|
+
export const _DYN_GET_UTCDATE = "getUTCDate"; // Count: 3
|
|
47
|
+
export const _DYN_MAX_TIMES_PER_MONTH = "maxTimesPerMonth"; // Count: 2
|
|
48
|
+
export const _DYN_PATHNAME = "pathname"; // Count: 4
|
|
49
|
+
export const _DYN_CORRELATION_HEADER_E1 = "correlationHeaderExcludePatterns"; // Count: 2
|