@microsoft/applicationinsights-channel-js 2.8.4-nightly.2205-08 → 2.8.4
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-channel-js.integrity.json +9 -9
- package/browser/applicationinsights-channel-js.js +176 -176
- package/browser/applicationinsights-channel-js.js.map +1 -1
- package/browser/applicationinsights-channel-js.min.js +2 -2
- package/browser/applicationinsights-channel-js.min.js.map +1 -1
- package/dist/applicationinsights-channel-js.api.json +1 -1
- package/dist/applicationinsights-channel-js.d.ts +1 -1
- package/dist/applicationinsights-channel-js.js +176 -176
- package/dist/applicationinsights-channel-js.js.map +1 -1
- package/dist/applicationinsights-channel-js.min.js +2 -2
- package/dist/applicationinsights-channel-js.min.js.map +1 -1
- package/dist/applicationinsights-channel-js.rollup.d.ts +1 -1
- package/dist-esm/EnvelopeCreator.js +3 -3
- package/dist-esm/EnvelopeCreator.js.map +1 -1
- package/dist-esm/Interfaces.js +1 -1
- package/dist-esm/Offline.js +1 -1
- package/dist-esm/SendBuffer.js +6 -6
- package/dist-esm/SendBuffer.js.map +1 -1
- package/dist-esm/Sender.js +28 -28
- package/dist-esm/Sender.js.map +1 -1
- package/dist-esm/Serializer.js +12 -12
- package/dist-esm/Serializer.js.map +1 -1
- package/dist-esm/TelemetryProcessors/Sample.js +2 -2
- package/dist-esm/TelemetryProcessors/Sample.js.map +1 -1
- package/dist-esm/TelemetryProcessors/SamplingScoreGenerators/HashCodeScoreGenerator.js +1 -1
- package/dist-esm/TelemetryProcessors/SamplingScoreGenerators/SamplingScoreGenerator.js +1 -1
- package/dist-esm/applicationinsights-channel-js.js +1 -1
- package/package.json +54 -57
- package/src/EnvelopeCreator.ts +1 -1
- package/types/tsdoc-metadata.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Application Insights JavaScript SDK - Channel, 2.8.4
|
|
2
|
+
* Application Insights JavaScript SDK - Channel, 2.8.4
|
|
3
3
|
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
import { __assignFn as __assign } from "@microsoft/applicationinsights-shims";
|
|
@@ -137,11 +137,11 @@ function _createEnvelope(logger, envelopeType, telemetryItem, data) {
|
|
|
137
137
|
}
|
|
138
138
|
function EnvelopeCreatorInit(logger, telemetryItem) {
|
|
139
139
|
if (isNullOrUndefined(telemetryItem[strBaseData])) {
|
|
140
|
-
_throwInternal(logger, 1 /* CRITICAL */, 46 /* TelemetryEnvelopeInvalid */, "telemetryItem.baseData cannot be null.");
|
|
140
|
+
_throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 46 /* _eInternalMessageId.TelemetryEnvelopeInvalid */, "telemetryItem.baseData cannot be null.");
|
|
141
141
|
}
|
|
142
142
|
}
|
|
143
143
|
export var EnvelopeCreator = {
|
|
144
|
-
Version: "2.8.4
|
|
144
|
+
Version: "2.8.4"
|
|
145
145
|
};
|
|
146
146
|
export function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
|
|
147
147
|
EnvelopeCreatorInit(logger, telemetryItem);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnvelopeCreator.js.map","sources":["EnvelopeCreator.js"],"sourcesContent":["import { __assign } from \"tslib\";\r\nimport { Data, Envelope, RemoteDependencyData, Event, Exception, Metric, PageView, Trace, PageViewPerformance, CtxTagKeys, HttpMethod, SampleRate, dataSanitizeString } from \"@microsoft/applicationinsights-common\";\r\nimport { hasJSON, getJSON, objForEachKey, isNullOrUndefined, isNumber, isString, toISOString, setValue, isTruthy, optimizeObject, _throwInternal, _warnToConsole } from \"@microsoft/applicationinsights-core-js\";\r\n// these two constants are used to filter out properties not needed when trying to extract custom properties and measurements from the incoming payload\r\nvar strBaseType = \"baseType\";\r\nvar strBaseData = \"baseData\";\r\nvar strProperties = \"properties\";\r\nvar strTrue = \"true\";\r\nfunction _setValueIf(target, field, value) {\r\n return setValue(target, field, value, isTruthy);\r\n}\r\n/*\r\n * Maps Part A data from CS 4.0\r\n */\r\nfunction _extractPartAExtensions(logger, item, env) {\r\n // todo: switch to keys from common in this method\r\n var envTags = env.tags = env.tags || {};\r\n var itmExt = item.ext = item.ext || {};\r\n var itmTags = item.tags = item.tags || [];\r\n var extUser = itmExt.user;\r\n if (extUser) {\r\n _setValueIf(envTags, CtxTagKeys.userAuthUserId, extUser.authId);\r\n _setValueIf(envTags, CtxTagKeys.userId, extUser.id || extUser.localId);\r\n }\r\n var extApp = itmExt.app;\r\n if (extApp) {\r\n _setValueIf(envTags, CtxTagKeys.sessionId, extApp.sesId);\r\n }\r\n var extDevice = itmExt.device;\r\n if (extDevice) {\r\n _setValueIf(envTags, CtxTagKeys.deviceId, extDevice.id || extDevice.localId);\r\n _setValueIf(envTags, CtxTagKeys.deviceType, extDevice.deviceClass);\r\n _setValueIf(envTags, CtxTagKeys.deviceIp, extDevice.ip);\r\n _setValueIf(envTags, CtxTagKeys.deviceModel, extDevice.model);\r\n _setValueIf(envTags, CtxTagKeys.deviceType, extDevice.deviceType);\r\n }\r\n var web = item.ext.web;\r\n if (web) {\r\n _setValueIf(envTags, CtxTagKeys.deviceLanguage, web.browserLang);\r\n _setValueIf(envTags, CtxTagKeys.deviceBrowserVersion, web.browserVer);\r\n _setValueIf(envTags, CtxTagKeys.deviceBrowser, web.browser);\r\n var envData = env.data = env.data || {};\r\n var envBaseData = envData[strBaseData] = envData[strBaseData] || {};\r\n var envProps = envBaseData[strProperties] = envBaseData[strProperties] || {};\r\n _setValueIf(envProps, \"domain\", web.domain);\r\n _setValueIf(envProps, \"isManual\", web.isManual ? strTrue : null);\r\n _setValueIf(envProps, \"screenRes\", web.screenRes);\r\n _setValueIf(envProps, \"userConsent\", web.userConsent ? strTrue : null);\r\n }\r\n var extOs = itmExt.os;\r\n if (extOs) {\r\n _setValueIf(envTags, CtxTagKeys.deviceOS, extOs.name);\r\n }\r\n // No support for mapping Trace.traceState to 2.0 as it is currently empty\r\n var extTrace = itmExt.trace;\r\n if (extTrace) {\r\n _setValueIf(envTags, CtxTagKeys.operationParentId, extTrace.parentID);\r\n _setValueIf(envTags, CtxTagKeys.operationName, dataSanitizeString(logger, extTrace.name));\r\n _setValueIf(envTags, CtxTagKeys.operationId, extTrace.traceID);\r\n }\r\n // Sample 4.0 schema\r\n // {\r\n // \"time\" : \"2018-09-05T22:51:22.4936Z\",\r\n // \"name\" : \"MetricWithNamespace\",\r\n // \"iKey\" : \"ABC-5a4cbd20-e601-4ef5-a3c6-5d6577e4398e\",\r\n // \"ext\": { \"cloud\": {\r\n // \"role\": \"WATSON3\",\r\n // \"roleInstance\": \"CO4AEAP00000260\"\r\n // },\r\n // \"device\": {}, \"correlation\": {} },\r\n // \"tags\": [\r\n // { \"amazon.region\" : \"east2\" },\r\n // { \"os.expid\" : \"wp:02df239\" }\r\n // ]\r\n // }\r\n var tgs = {};\r\n // deals with tags.push({object})\r\n for (var i = itmTags.length - 1; i >= 0; i--) {\r\n var tg = itmTags[i];\r\n objForEachKey(tg, function (key, value) {\r\n tgs[key] = value;\r\n });\r\n itmTags.splice(i, 1);\r\n }\r\n // deals with tags[key]=value (and handles hasOwnProperty)\r\n objForEachKey(itmTags, function (tg, value) {\r\n tgs[tg] = value;\r\n });\r\n var theTags = __assign(__assign({}, envTags), tgs);\r\n if (!theTags[CtxTagKeys.internalSdkVersion]) {\r\n // Append a version in case it is not already set\r\n theTags[CtxTagKeys.internalSdkVersion] = \"javascript:\".concat(EnvelopeCreator.Version);\r\n }\r\n env.tags = optimizeObject(theTags);\r\n}\r\nfunction _extractPropsAndMeasurements(data, properties, measurements) {\r\n if (!isNullOrUndefined(data)) {\r\n objForEachKey(data, function (key, value) {\r\n if (isNumber(value)) {\r\n measurements[key] = value;\r\n }\r\n else if (isString(value)) {\r\n properties[key] = value;\r\n }\r\n else if (hasJSON()) {\r\n properties[key] = getJSON().stringify(value);\r\n }\r\n });\r\n }\r\n}\r\nfunction _convertPropsUndefinedToCustomDefinedValue(properties, customUndefinedValue) {\r\n if (!isNullOrUndefined(properties)) {\r\n objForEachKey(properties, function (key, value) {\r\n properties[key] = value || customUndefinedValue;\r\n });\r\n }\r\n}\r\n// TODO: Do we want this to take logger as arg or use this._logger as nonstatic?\r\nfunction _createEnvelope(logger, envelopeType, telemetryItem, data) {\r\n var envelope = new Envelope(logger, data, envelopeType);\r\n _setValueIf(envelope, \"sampleRate\", telemetryItem[SampleRate]);\r\n if ((telemetryItem[strBaseData] || {}).startTime) {\r\n envelope.time = toISOString(telemetryItem[strBaseData].startTime);\r\n }\r\n envelope.iKey = telemetryItem.iKey;\r\n var iKeyNoDashes = telemetryItem.iKey.replace(/-/g, \"\");\r\n envelope.name = envelope.name.replace(\"{0}\", iKeyNoDashes);\r\n // extract all extensions from ctx\r\n _extractPartAExtensions(logger, telemetryItem, envelope);\r\n // loop through the envelope tags (extension of Part A) and pick out the ones that should go in outgoing envelope tags\r\n telemetryItem.tags = telemetryItem.tags || [];\r\n return optimizeObject(envelope);\r\n}\r\nfunction EnvelopeCreatorInit(logger, telemetryItem) {\r\n if (isNullOrUndefined(telemetryItem[strBaseData])) {\r\n _throwInternal(logger, 1 /* CRITICAL */, 46 /* TelemetryEnvelopeInvalid */, \"telemetryItem.baseData cannot be null.\");\r\n }\r\n}\r\nexport var EnvelopeCreator = {\r\n Version: \"2.8.4-nightly.2205-08\"\r\n};\r\nexport function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var customMeasurements = telemetryItem[strBaseData].measurements || {};\r\n var customProperties = telemetryItem[strBaseData][strProperties] || {};\r\n _extractPropsAndMeasurements(telemetryItem.data, customProperties, customMeasurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(customProperties, customUndefinedValue);\r\n }\r\n var bd = telemetryItem[strBaseData];\r\n if (isNullOrUndefined(bd)) {\r\n _warnToConsole(logger, \"Invalid input for dependency data\");\r\n return null;\r\n }\r\n var method = bd[strProperties] && bd[strProperties][HttpMethod] ? bd[strProperties][HttpMethod] : \"GET\";\r\n var remoteDepData = new RemoteDependencyData(logger, bd.id, bd.target, bd.name, bd.duration, bd.success, bd.responseCode, method, bd.type, bd.correlationContext, customProperties, customMeasurements);\r\n var data = new Data(RemoteDependencyData.dataType, remoteDepData);\r\n return _createEnvelope(logger, RemoteDependencyData.envelopeType, telemetryItem, data);\r\n}\r\nexport function EventEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var customProperties = {};\r\n var customMeasurements = {};\r\n if (telemetryItem[strBaseType] !== Event.dataType) {\r\n customProperties[\"baseTypeSource\"] = telemetryItem[strBaseType]; // save the passed in base type as a property\r\n }\r\n if (telemetryItem[strBaseType] === Event.dataType) { // take collection\r\n customProperties = telemetryItem[strBaseData][strProperties] || {};\r\n customMeasurements = telemetryItem[strBaseData].measurements || {};\r\n }\r\n else { // if its not a known type, convert to custom event\r\n if (telemetryItem[strBaseData]) {\r\n _extractPropsAndMeasurements(telemetryItem[strBaseData], customProperties, customMeasurements);\r\n }\r\n }\r\n // Extract root level properties from part C telemetryItem.data\r\n _extractPropsAndMeasurements(telemetryItem.data, customProperties, customMeasurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(customProperties, customUndefinedValue);\r\n }\r\n var eventName = telemetryItem[strBaseData].name;\r\n var eventData = new Event(logger, eventName, customProperties, customMeasurements);\r\n var data = new Data(Event.dataType, eventData);\r\n return _createEnvelope(logger, Event.envelopeType, telemetryItem, data);\r\n}\r\nexport function ExceptionEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n // Extract root level properties from part C telemetryItem.data\r\n var customMeasurements = telemetryItem[strBaseData].measurements || {};\r\n var customProperties = telemetryItem[strBaseData][strProperties] || {};\r\n _extractPropsAndMeasurements(telemetryItem.data, customProperties, customMeasurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(customProperties, customUndefinedValue);\r\n }\r\n var bd = telemetryItem[strBaseData];\r\n var exData = Exception.CreateFromInterface(logger, bd, customProperties, customMeasurements);\r\n var data = new Data(Exception.dataType, exData);\r\n return _createEnvelope(logger, Exception.envelopeType, telemetryItem, data);\r\n}\r\nexport function MetricEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var baseData = telemetryItem[strBaseData];\r\n var props = baseData[strProperties] || {};\r\n var measurements = baseData.measurements || {};\r\n _extractPropsAndMeasurements(telemetryItem.data, props, measurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(props, customUndefinedValue);\r\n }\r\n var baseMetricData = new Metric(logger, baseData.name, baseData.average, baseData.sampleCount, baseData.min, baseData.max, baseData.stdDev, props, measurements);\r\n var data = new Data(Metric.dataType, baseMetricData);\r\n return _createEnvelope(logger, Metric.envelopeType, telemetryItem, data);\r\n}\r\nexport function PageViewEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n // Since duration is not part of the domain properties in Common Schema, extract it from part C\r\n var strDuration = \"duration\";\r\n var duration;\r\n var baseData = telemetryItem[strBaseData];\r\n if (!isNullOrUndefined(baseData) &&\r\n !isNullOrUndefined(baseData[strProperties]) &&\r\n !isNullOrUndefined(baseData[strProperties][strDuration])) { // from part B properties\r\n duration = baseData[strProperties][strDuration];\r\n delete baseData[strProperties][strDuration];\r\n }\r\n else if (!isNullOrUndefined(telemetryItem.data) &&\r\n !isNullOrUndefined(telemetryItem.data[strDuration])) { // from custom properties\r\n duration = telemetryItem.data[strDuration];\r\n delete telemetryItem.data[strDuration];\r\n }\r\n var bd = telemetryItem[strBaseData];\r\n // special case: pageview.id is grabbed from current operation id. Analytics plugin is decoupled from properties plugin, so this is done here instead. This can be made a default telemetry intializer instead if needed to be decoupled from channel\r\n var currentContextId;\r\n if (((telemetryItem.ext || {}).trace || {}).traceID) {\r\n currentContextId = telemetryItem.ext.trace.traceID;\r\n }\r\n var id = bd.id || currentContextId;\r\n var name = bd.name;\r\n var url = bd.uri;\r\n var properties = bd[strProperties] || {};\r\n var measurements = bd.measurements || {};\r\n // refUri is a field that Breeze still does not recognize as part of Part B. For now, put it in Part C until it supports it as a domain property\r\n if (!isNullOrUndefined(bd.refUri)) {\r\n properties[\"refUri\"] = bd.refUri;\r\n }\r\n // pageType is a field that Breeze still does not recognize as part of Part B. For now, put it in Part C until it supports it as a domain property\r\n if (!isNullOrUndefined(bd.pageType)) {\r\n properties[\"pageType\"] = bd.pageType;\r\n }\r\n // isLoggedIn is a field that Breeze still does not recognize as part of Part B. For now, put it in Part C until it supports it as a domain property\r\n if (!isNullOrUndefined(bd.isLoggedIn)) {\r\n properties[\"isLoggedIn\"] = bd.isLoggedIn.toString();\r\n }\r\n // pageTags is a field that Breeze still does not recognize as part of Part B. For now, put it in Part C until it supports it as a domain property\r\n if (!isNullOrUndefined(bd[strProperties])) {\r\n var pageTags = bd[strProperties];\r\n objForEachKey(pageTags, function (key, value) {\r\n properties[key] = value;\r\n });\r\n }\r\n _extractPropsAndMeasurements(telemetryItem.data, properties, measurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(properties, customUndefinedValue);\r\n }\r\n var pageViewData = new PageView(logger, name, url, duration, properties, measurements, id);\r\n var data = new Data(PageView.dataType, pageViewData);\r\n return _createEnvelope(logger, PageView.envelopeType, telemetryItem, data);\r\n}\r\nexport function PageViewPerformanceEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var bd = telemetryItem[strBaseData];\r\n var name = bd.name;\r\n var url = bd.uri || bd.url;\r\n var properties = bd[strProperties] || {};\r\n var measurements = bd.measurements || {};\r\n _extractPropsAndMeasurements(telemetryItem.data, properties, measurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(properties, customUndefinedValue);\r\n }\r\n var baseData = new PageViewPerformance(logger, name, url, undefined, properties, measurements, bd);\r\n var data = new Data(PageViewPerformance.dataType, baseData);\r\n return _createEnvelope(logger, PageViewPerformance.envelopeType, telemetryItem, data);\r\n}\r\nexport function TraceEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var message = telemetryItem[strBaseData].message;\r\n var severityLevel = telemetryItem[strBaseData].severityLevel;\r\n var props = telemetryItem[strBaseData][strProperties] || {};\r\n var measurements = telemetryItem[strBaseData].measurements || {};\r\n _extractPropsAndMeasurements(telemetryItem.data, props, measurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(props, customUndefinedValue);\r\n }\r\n var baseData = new Trace(logger, message, severityLevel, props, measurements);\r\n var data = new Data(Trace.dataType, baseData);\r\n return _createEnvelope(logger, Trace.envelopeType, telemetryItem, data);\r\n}\r\n//# sourceMappingURL=EnvelopeCreator.js.map"],"names":[],"mappings":";;;;AAAA,8EAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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":"EnvelopeCreator.js.map","sources":["EnvelopeCreator.js"],"sourcesContent":["import { __assign } from \"tslib\";\r\nimport { Data, Envelope, RemoteDependencyData, Event, Exception, Metric, PageView, Trace, PageViewPerformance, CtxTagKeys, HttpMethod, SampleRate, dataSanitizeString } from \"@microsoft/applicationinsights-common\";\r\nimport { hasJSON, getJSON, objForEachKey, isNullOrUndefined, isNumber, isString, toISOString, setValue, isTruthy, optimizeObject, _throwInternal, _warnToConsole } from \"@microsoft/applicationinsights-core-js\";\r\n// these two constants are used to filter out properties not needed when trying to extract custom properties and measurements from the incoming payload\r\nvar strBaseType = \"baseType\";\r\nvar strBaseData = \"baseData\";\r\nvar strProperties = \"properties\";\r\nvar strTrue = \"true\";\r\nfunction _setValueIf(target, field, value) {\r\n return setValue(target, field, value, isTruthy);\r\n}\r\n/*\r\n * Maps Part A data from CS 4.0\r\n */\r\nfunction _extractPartAExtensions(logger, item, env) {\r\n // todo: switch to keys from common in this method\r\n var envTags = env.tags = env.tags || {};\r\n var itmExt = item.ext = item.ext || {};\r\n var itmTags = item.tags = item.tags || [];\r\n var extUser = itmExt.user;\r\n if (extUser) {\r\n _setValueIf(envTags, CtxTagKeys.userAuthUserId, extUser.authId);\r\n _setValueIf(envTags, CtxTagKeys.userId, extUser.id || extUser.localId);\r\n }\r\n var extApp = itmExt.app;\r\n if (extApp) {\r\n _setValueIf(envTags, CtxTagKeys.sessionId, extApp.sesId);\r\n }\r\n var extDevice = itmExt.device;\r\n if (extDevice) {\r\n _setValueIf(envTags, CtxTagKeys.deviceId, extDevice.id || extDevice.localId);\r\n _setValueIf(envTags, CtxTagKeys.deviceType, extDevice.deviceClass);\r\n _setValueIf(envTags, CtxTagKeys.deviceIp, extDevice.ip);\r\n _setValueIf(envTags, CtxTagKeys.deviceModel, extDevice.model);\r\n _setValueIf(envTags, CtxTagKeys.deviceType, extDevice.deviceType);\r\n }\r\n var web = item.ext.web;\r\n if (web) {\r\n _setValueIf(envTags, CtxTagKeys.deviceLanguage, web.browserLang);\r\n _setValueIf(envTags, CtxTagKeys.deviceBrowserVersion, web.browserVer);\r\n _setValueIf(envTags, CtxTagKeys.deviceBrowser, web.browser);\r\n var envData = env.data = env.data || {};\r\n var envBaseData = envData[strBaseData] = envData[strBaseData] || {};\r\n var envProps = envBaseData[strProperties] = envBaseData[strProperties] || {};\r\n _setValueIf(envProps, \"domain\", web.domain);\r\n _setValueIf(envProps, \"isManual\", web.isManual ? strTrue : null);\r\n _setValueIf(envProps, \"screenRes\", web.screenRes);\r\n _setValueIf(envProps, \"userConsent\", web.userConsent ? strTrue : null);\r\n }\r\n var extOs = itmExt.os;\r\n if (extOs) {\r\n _setValueIf(envTags, CtxTagKeys.deviceOS, extOs.name);\r\n }\r\n // No support for mapping Trace.traceState to 2.0 as it is currently empty\r\n var extTrace = itmExt.trace;\r\n if (extTrace) {\r\n _setValueIf(envTags, CtxTagKeys.operationParentId, extTrace.parentID);\r\n _setValueIf(envTags, CtxTagKeys.operationName, dataSanitizeString(logger, extTrace.name));\r\n _setValueIf(envTags, CtxTagKeys.operationId, extTrace.traceID);\r\n }\r\n // Sample 4.0 schema\r\n // {\r\n // \"time\" : \"2018-09-05T22:51:22.4936Z\",\r\n // \"name\" : \"MetricWithNamespace\",\r\n // \"iKey\" : \"ABC-5a4cbd20-e601-4ef5-a3c6-5d6577e4398e\",\r\n // \"ext\": { \"cloud\": {\r\n // \"role\": \"WATSON3\",\r\n // \"roleInstance\": \"CO4AEAP00000260\"\r\n // },\r\n // \"device\": {}, \"correlation\": {} },\r\n // \"tags\": [\r\n // { \"amazon.region\" : \"east2\" },\r\n // { \"os.expid\" : \"wp:02df239\" }\r\n // ]\r\n // }\r\n var tgs = {};\r\n // deals with tags.push({object})\r\n for (var i = itmTags.length - 1; i >= 0; i--) {\r\n var tg = itmTags[i];\r\n objForEachKey(tg, function (key, value) {\r\n tgs[key] = value;\r\n });\r\n itmTags.splice(i, 1);\r\n }\r\n // deals with tags[key]=value (and handles hasOwnProperty)\r\n objForEachKey(itmTags, function (tg, value) {\r\n tgs[tg] = value;\r\n });\r\n var theTags = __assign(__assign({}, envTags), tgs);\r\n if (!theTags[CtxTagKeys.internalSdkVersion]) {\r\n // Append a version in case it is not already set\r\n theTags[CtxTagKeys.internalSdkVersion] = \"javascript:\".concat(EnvelopeCreator.Version);\r\n }\r\n env.tags = optimizeObject(theTags);\r\n}\r\nfunction _extractPropsAndMeasurements(data, properties, measurements) {\r\n if (!isNullOrUndefined(data)) {\r\n objForEachKey(data, function (key, value) {\r\n if (isNumber(value)) {\r\n measurements[key] = value;\r\n }\r\n else if (isString(value)) {\r\n properties[key] = value;\r\n }\r\n else if (hasJSON()) {\r\n properties[key] = getJSON().stringify(value);\r\n }\r\n });\r\n }\r\n}\r\nfunction _convertPropsUndefinedToCustomDefinedValue(properties, customUndefinedValue) {\r\n if (!isNullOrUndefined(properties)) {\r\n objForEachKey(properties, function (key, value) {\r\n properties[key] = value || customUndefinedValue;\r\n });\r\n }\r\n}\r\n// TODO: Do we want this to take logger as arg or use this._logger as nonstatic?\r\nfunction _createEnvelope(logger, envelopeType, telemetryItem, data) {\r\n var envelope = new Envelope(logger, data, envelopeType);\r\n _setValueIf(envelope, \"sampleRate\", telemetryItem[SampleRate]);\r\n if ((telemetryItem[strBaseData] || {}).startTime) {\r\n envelope.time = toISOString(telemetryItem[strBaseData].startTime);\r\n }\r\n envelope.iKey = telemetryItem.iKey;\r\n var iKeyNoDashes = telemetryItem.iKey.replace(/-/g, \"\");\r\n envelope.name = envelope.name.replace(\"{0}\", iKeyNoDashes);\r\n // extract all extensions from ctx\r\n _extractPartAExtensions(logger, telemetryItem, envelope);\r\n // loop through the envelope tags (extension of Part A) and pick out the ones that should go in outgoing envelope tags\r\n telemetryItem.tags = telemetryItem.tags || [];\r\n return optimizeObject(envelope);\r\n}\r\nfunction EnvelopeCreatorInit(logger, telemetryItem) {\r\n if (isNullOrUndefined(telemetryItem[strBaseData])) {\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 46 /* _eInternalMessageId.TelemetryEnvelopeInvalid */, \"telemetryItem.baseData cannot be null.\");\r\n }\r\n}\r\nexport var EnvelopeCreator = {\r\n Version: \"2.8.4\"\r\n};\r\nexport function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var customMeasurements = telemetryItem[strBaseData].measurements || {};\r\n var customProperties = telemetryItem[strBaseData][strProperties] || {};\r\n _extractPropsAndMeasurements(telemetryItem.data, customProperties, customMeasurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(customProperties, customUndefinedValue);\r\n }\r\n var bd = telemetryItem[strBaseData];\r\n if (isNullOrUndefined(bd)) {\r\n _warnToConsole(logger, \"Invalid input for dependency data\");\r\n return null;\r\n }\r\n var method = bd[strProperties] && bd[strProperties][HttpMethod] ? bd[strProperties][HttpMethod] : \"GET\";\r\n var remoteDepData = new RemoteDependencyData(logger, bd.id, bd.target, bd.name, bd.duration, bd.success, bd.responseCode, method, bd.type, bd.correlationContext, customProperties, customMeasurements);\r\n var data = new Data(RemoteDependencyData.dataType, remoteDepData);\r\n return _createEnvelope(logger, RemoteDependencyData.envelopeType, telemetryItem, data);\r\n}\r\nexport function EventEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var customProperties = {};\r\n var customMeasurements = {};\r\n if (telemetryItem[strBaseType] !== Event.dataType) {\r\n customProperties[\"baseTypeSource\"] = telemetryItem[strBaseType]; // save the passed in base type as a property\r\n }\r\n if (telemetryItem[strBaseType] === Event.dataType) { // take collection\r\n customProperties = telemetryItem[strBaseData][strProperties] || {};\r\n customMeasurements = telemetryItem[strBaseData].measurements || {};\r\n }\r\n else { // if its not a known type, convert to custom event\r\n if (telemetryItem[strBaseData]) {\r\n _extractPropsAndMeasurements(telemetryItem[strBaseData], customProperties, customMeasurements);\r\n }\r\n }\r\n // Extract root level properties from part C telemetryItem.data\r\n _extractPropsAndMeasurements(telemetryItem.data, customProperties, customMeasurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(customProperties, customUndefinedValue);\r\n }\r\n var eventName = telemetryItem[strBaseData].name;\r\n var eventData = new Event(logger, eventName, customProperties, customMeasurements);\r\n var data = new Data(Event.dataType, eventData);\r\n return _createEnvelope(logger, Event.envelopeType, telemetryItem, data);\r\n}\r\nexport function ExceptionEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n // Extract root level properties from part C telemetryItem.data\r\n var customMeasurements = telemetryItem[strBaseData].measurements || {};\r\n var customProperties = telemetryItem[strBaseData][strProperties] || {};\r\n _extractPropsAndMeasurements(telemetryItem.data, customProperties, customMeasurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(customProperties, customUndefinedValue);\r\n }\r\n var bd = telemetryItem[strBaseData];\r\n var exData = Exception.CreateFromInterface(logger, bd, customProperties, customMeasurements);\r\n var data = new Data(Exception.dataType, exData);\r\n return _createEnvelope(logger, Exception.envelopeType, telemetryItem, data);\r\n}\r\nexport function MetricEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var baseData = telemetryItem[strBaseData];\r\n var props = baseData[strProperties] || {};\r\n var measurements = baseData.measurements || {};\r\n _extractPropsAndMeasurements(telemetryItem.data, props, measurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(props, customUndefinedValue);\r\n }\r\n var baseMetricData = new Metric(logger, baseData.name, baseData.average, baseData.sampleCount, baseData.min, baseData.max, baseData.stdDev, props, measurements);\r\n var data = new Data(Metric.dataType, baseMetricData);\r\n return _createEnvelope(logger, Metric.envelopeType, telemetryItem, data);\r\n}\r\nexport function PageViewEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n // Since duration is not part of the domain properties in Common Schema, extract it from part C\r\n var strDuration = \"duration\";\r\n var duration;\r\n var baseData = telemetryItem[strBaseData];\r\n if (!isNullOrUndefined(baseData) &&\r\n !isNullOrUndefined(baseData[strProperties]) &&\r\n !isNullOrUndefined(baseData[strProperties][strDuration])) { // from part B properties\r\n duration = baseData[strProperties][strDuration];\r\n delete baseData[strProperties][strDuration];\r\n }\r\n else if (!isNullOrUndefined(telemetryItem.data) &&\r\n !isNullOrUndefined(telemetryItem.data[strDuration])) { // from custom properties\r\n duration = telemetryItem.data[strDuration];\r\n delete telemetryItem.data[strDuration];\r\n }\r\n var bd = telemetryItem[strBaseData];\r\n // special case: pageview.id is grabbed from current operation id. Analytics plugin is decoupled from properties plugin, so this is done here instead. This can be made a default telemetry intializer instead if needed to be decoupled from channel\r\n var currentContextId;\r\n if (((telemetryItem.ext || {}).trace || {}).traceID) {\r\n currentContextId = telemetryItem.ext.trace.traceID;\r\n }\r\n var id = bd.id || currentContextId;\r\n var name = bd.name;\r\n var url = bd.uri;\r\n var properties = bd[strProperties] || {};\r\n var measurements = bd.measurements || {};\r\n // refUri is a field that Breeze still does not recognize as part of Part B. For now, put it in Part C until it supports it as a domain property\r\n if (!isNullOrUndefined(bd.refUri)) {\r\n properties[\"refUri\"] = bd.refUri;\r\n }\r\n // pageType is a field that Breeze still does not recognize as part of Part B. For now, put it in Part C until it supports it as a domain property\r\n if (!isNullOrUndefined(bd.pageType)) {\r\n properties[\"pageType\"] = bd.pageType;\r\n }\r\n // isLoggedIn is a field that Breeze still does not recognize as part of Part B. For now, put it in Part C until it supports it as a domain property\r\n if (!isNullOrUndefined(bd.isLoggedIn)) {\r\n properties[\"isLoggedIn\"] = bd.isLoggedIn.toString();\r\n }\r\n // pageTags is a field that Breeze still does not recognize as part of Part B. For now, put it in Part C until it supports it as a domain property\r\n if (!isNullOrUndefined(bd[strProperties])) {\r\n var pageTags = bd[strProperties];\r\n objForEachKey(pageTags, function (key, value) {\r\n properties[key] = value;\r\n });\r\n }\r\n _extractPropsAndMeasurements(telemetryItem.data, properties, measurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(properties, customUndefinedValue);\r\n }\r\n var pageViewData = new PageView(logger, name, url, duration, properties, measurements, id);\r\n var data = new Data(PageView.dataType, pageViewData);\r\n return _createEnvelope(logger, PageView.envelopeType, telemetryItem, data);\r\n}\r\nexport function PageViewPerformanceEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var bd = telemetryItem[strBaseData];\r\n var name = bd.name;\r\n var url = bd.uri || bd.url;\r\n var properties = bd[strProperties] || {};\r\n var measurements = bd.measurements || {};\r\n _extractPropsAndMeasurements(telemetryItem.data, properties, measurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(properties, customUndefinedValue);\r\n }\r\n var baseData = new PageViewPerformance(logger, name, url, undefined, properties, measurements, bd);\r\n var data = new Data(PageViewPerformance.dataType, baseData);\r\n return _createEnvelope(logger, PageViewPerformance.envelopeType, telemetryItem, data);\r\n}\r\nexport function TraceEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var message = telemetryItem[strBaseData].message;\r\n var severityLevel = telemetryItem[strBaseData].severityLevel;\r\n var props = telemetryItem[strBaseData][strProperties] || {};\r\n var measurements = telemetryItem[strBaseData].measurements || {};\r\n _extractPropsAndMeasurements(telemetryItem.data, props, measurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(props, customUndefinedValue);\r\n }\r\n var baseData = new Trace(logger, message, severityLevel, props, measurements);\r\n var data = new Data(Trace.dataType, baseData);\r\n return _createEnvelope(logger, Trace.envelopeType, telemetryItem, data);\r\n}\r\n//# sourceMappingURL=EnvelopeCreator.js.map"],"names":[],"mappings":";;;;AAAA,8EAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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/dist-esm/Interfaces.js
CHANGED
package/dist-esm/Offline.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Application Insights JavaScript SDK - Channel, 2.8.4
|
|
2
|
+
* Application Insights JavaScript SDK - Channel, 2.8.4
|
|
3
3
|
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
import { getWindow, getDocument, getNavigator, isUndefined, isNullOrUndefined, createUniqueNamespace, mergeEvtNamespace, eventOn, eventOff } from "@microsoft/applicationinsights-core-js";
|
package/dist-esm/SendBuffer.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Application Insights JavaScript SDK - Channel, 2.8.4
|
|
2
|
+
* Application Insights JavaScript SDK - Channel, 2.8.4
|
|
3
3
|
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
import { __extendsFn as __extends } from "@microsoft/applicationinsights-shims";
|
|
@@ -22,7 +22,7 @@ var BaseSendBuffer = /** @class */ (function () {
|
|
|
22
22
|
if (_self.count() >= config.eventsLimitInMem()) {
|
|
23
23
|
// sent internal log only once per page view
|
|
24
24
|
if (!_bufferFullMessageSent) {
|
|
25
|
-
_throwInternal(logger, 2 /* WARNING */, 105 /* InMemoryStorageBufferFull */, "Maximum in-memory buffer size reached: " + _self.count(), true);
|
|
25
|
+
_throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 105 /* _eInternalMessageId.InMemoryStorageBufferFull */, "Maximum in-memory buffer size reached: " + _self.count(), true);
|
|
26
26
|
_bufferFullMessageSent = true;
|
|
27
27
|
}
|
|
28
28
|
return;
|
|
@@ -112,7 +112,7 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
|
|
|
112
112
|
if (_self.count() >= SessionStorageSendBuffer.MAX_BUFFER_SIZE) {
|
|
113
113
|
// sent internal log only once per page view
|
|
114
114
|
if (!_bufferFullMessageSent) {
|
|
115
|
-
_throwInternal(logger, 2 /* WARNING */, 67 /* SessionStorageBufferFull */, "Maximum buffer size reached: " + _self.count(), true);
|
|
115
|
+
_throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 67 /* _eInternalMessageId.SessionStorageBufferFull */, "Maximum buffer size reached: " + _self.count(), true);
|
|
116
116
|
_bufferFullMessageSent = true;
|
|
117
117
|
}
|
|
118
118
|
return;
|
|
@@ -134,7 +134,7 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
|
|
|
134
134
|
if (sentElements.length > SessionStorageSendBuffer.MAX_BUFFER_SIZE) {
|
|
135
135
|
// We send telemetry normally. If the SENT_BUFFER is too big we don't add new elements
|
|
136
136
|
// until we receive a response from the backend and the buffer has free space again (see clearSent method)
|
|
137
|
-
_throwInternal(logger, 1 /* CRITICAL */, 67 /* SessionStorageBufferFull */, "Sent buffer reached its maximum size: " + sentElements.length, true);
|
|
137
|
+
_throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 67 /* _eInternalMessageId.SessionStorageBufferFull */, "Sent buffer reached its maximum size: " + sentElements.length, true);
|
|
138
138
|
sentElements.length = SessionStorageSendBuffer.MAX_BUFFER_SIZE;
|
|
139
139
|
}
|
|
140
140
|
_setBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY, sentElements);
|
|
@@ -171,7 +171,7 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
|
|
|
171
171
|
}
|
|
172
172
|
}
|
|
173
173
|
catch (e) {
|
|
174
|
-
_throwInternal(logger, 1 /* CRITICAL */, 42 /* FailedToRestoreStorageBuffer */, " storage key: " + prefixedKey + ", " + getExceptionName(e), { exception: dumpObj(e) });
|
|
174
|
+
_throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 42 /* _eInternalMessageId.FailedToRestoreStorageBuffer */, " storage key: " + prefixedKey + ", " + getExceptionName(e), { exception: dumpObj(e) });
|
|
175
175
|
}
|
|
176
176
|
return [];
|
|
177
177
|
}
|
|
@@ -186,7 +186,7 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
|
|
|
186
186
|
// if there was an error, clear the buffer
|
|
187
187
|
// telemetry is stored in the _buffer array so we won't loose any items
|
|
188
188
|
utlSetSessionStorage(logger, prefixedKey, JSON.stringify([]));
|
|
189
|
-
_throwInternal(logger, 2 /* WARNING */, 41 /* FailedToSetStorageBuffer */, " storage key: " + prefixedKey + ", " + getExceptionName(e) + ". Buffer cleared", { exception: dumpObj(e) });
|
|
189
|
+
_throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 41 /* _eInternalMessageId.FailedToSetStorageBuffer */, " storage key: " + prefixedKey + ", " + getExceptionName(e) + ". Buffer cleared", { exception: dumpObj(e) });
|
|
190
190
|
}
|
|
191
191
|
}
|
|
192
192
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SendBuffer.js.map","sources":["SendBuffer.js"],"sourcesContent":["import { __extends } from \"tslib\";\r\nimport { utlGetSessionStorage, utlSetSessionStorage } from \"@microsoft/applicationinsights-common\";\r\nimport { getJSON, arrForEach, isFunction, arrIndexOf, isString, dumpObj, isArray, getExceptionName, _throwInternal } from \"@microsoft/applicationinsights-core-js\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nvar BaseSendBuffer = /** @class */ (function () {\r\n function BaseSendBuffer(logger, config) {\r\n var _buffer = [];\r\n var _bufferFullMessageSent = false;\r\n this._get = function () {\r\n return _buffer;\r\n };\r\n this._set = function (buffer) {\r\n _buffer = buffer;\r\n return _buffer;\r\n };\r\n dynamicProto(BaseSendBuffer, this, function (_self) {\r\n _self.enqueue = function (payload) {\r\n if (_self.count() >= config.eventsLimitInMem()) {\r\n // sent internal log only once per page view\r\n if (!_bufferFullMessageSent) {\r\n _throwInternal(logger, 2 /* WARNING */, 105 /* InMemoryStorageBufferFull */, \"Maximum in-memory buffer size reached: \" + _self.count(), true);\r\n _bufferFullMessageSent = true;\r\n }\r\n return;\r\n }\r\n _buffer.push(payload);\r\n };\r\n _self.count = function () {\r\n return _buffer.length;\r\n };\r\n _self.size = function () {\r\n var size = _buffer.length;\r\n for (var lp = 0; lp < _buffer.length; lp++) {\r\n size += _buffer[lp].length;\r\n }\r\n if (!config.emitLineDelimitedJson()) {\r\n size += 2;\r\n }\r\n return size;\r\n };\r\n _self.clear = function () {\r\n _buffer = [];\r\n _bufferFullMessageSent = false;\r\n };\r\n _self.getItems = function () {\r\n return _buffer.slice(0);\r\n };\r\n _self.batchPayloads = function (payload) {\r\n if (payload && payload.length > 0) {\r\n var batch = config.emitLineDelimitedJson() ?\r\n payload.join(\"\\n\") :\r\n \"[\" + payload.join(\",\") + \"]\";\r\n return batch;\r\n }\r\n return null;\r\n };\r\n });\r\n }\r\n BaseSendBuffer.prototype.enqueue = function (payload) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n BaseSendBuffer.prototype.count = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return 0;\r\n };\r\n BaseSendBuffer.prototype.size = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return 0;\r\n };\r\n BaseSendBuffer.prototype.clear = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n BaseSendBuffer.prototype.getItems = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n BaseSendBuffer.prototype.batchPayloads = function (payload) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n return BaseSendBuffer;\r\n}());\r\n/*\r\n * An array based send buffer.\r\n */\r\nvar ArraySendBuffer = /** @class */ (function (_super) {\r\n __extends(ArraySendBuffer, _super);\r\n function ArraySendBuffer(logger, config) {\r\n var _this = _super.call(this, logger, config) || this;\r\n dynamicProto(ArraySendBuffer, _this, function (_self, _base) {\r\n _self.markAsSent = function (payload) {\r\n _base.clear();\r\n };\r\n _self.clearSent = function (payload) {\r\n // not supported\r\n };\r\n });\r\n return _this;\r\n }\r\n ArraySendBuffer.prototype.markAsSent = function (payload) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n ArraySendBuffer.prototype.clearSent = function (payload) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n return ArraySendBuffer;\r\n}(BaseSendBuffer));\r\nexport { ArraySendBuffer };\r\n/*\r\n * Session storage buffer holds a copy of all unsent items in the browser session storage.\r\n */\r\nvar SessionStorageSendBuffer = /** @class */ (function (_super) {\r\n __extends(SessionStorageSendBuffer, _super);\r\n function SessionStorageSendBuffer(logger, config) {\r\n var _this = _super.call(this, logger, config) || this;\r\n var _bufferFullMessageSent = false;\r\n dynamicProto(SessionStorageSendBuffer, _this, function (_self, _base) {\r\n var bufferItems = _getBuffer(SessionStorageSendBuffer.BUFFER_KEY);\r\n var notDeliveredItems = _getBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY);\r\n var buffer = _self._set(bufferItems.concat(notDeliveredItems));\r\n // If the buffer has too many items, drop items from the end.\r\n if (buffer.length > SessionStorageSendBuffer.MAX_BUFFER_SIZE) {\r\n buffer.length = SessionStorageSendBuffer.MAX_BUFFER_SIZE;\r\n }\r\n _setBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY, []);\r\n _setBuffer(SessionStorageSendBuffer.BUFFER_KEY, buffer);\r\n _self.enqueue = function (payload) {\r\n if (_self.count() >= SessionStorageSendBuffer.MAX_BUFFER_SIZE) {\r\n // sent internal log only once per page view\r\n if (!_bufferFullMessageSent) {\r\n _throwInternal(logger, 2 /* WARNING */, 67 /* SessionStorageBufferFull */, \"Maximum buffer size reached: \" + _self.count(), true);\r\n _bufferFullMessageSent = true;\r\n }\r\n return;\r\n }\r\n _base.enqueue(payload);\r\n _setBuffer(SessionStorageSendBuffer.BUFFER_KEY, _self._get());\r\n };\r\n _self.clear = function () {\r\n _base.clear();\r\n _setBuffer(SessionStorageSendBuffer.BUFFER_KEY, _self._get());\r\n _setBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY, []);\r\n _bufferFullMessageSent = false;\r\n };\r\n _self.markAsSent = function (payload) {\r\n _setBuffer(SessionStorageSendBuffer.BUFFER_KEY, _self._set(_removePayloadsFromBuffer(payload, _self._get())));\r\n var sentElements = _getBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY);\r\n if (sentElements instanceof Array && payload instanceof Array) {\r\n sentElements = sentElements.concat(payload);\r\n if (sentElements.length > SessionStorageSendBuffer.MAX_BUFFER_SIZE) {\r\n // We send telemetry normally. If the SENT_BUFFER is too big we don't add new elements\r\n // until we receive a response from the backend and the buffer has free space again (see clearSent method)\r\n _throwInternal(logger, 1 /* CRITICAL */, 67 /* SessionStorageBufferFull */, \"Sent buffer reached its maximum size: \" + sentElements.length, true);\r\n sentElements.length = SessionStorageSendBuffer.MAX_BUFFER_SIZE;\r\n }\r\n _setBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY, sentElements);\r\n }\r\n };\r\n _self.clearSent = function (payload) {\r\n var sentElements = _getBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY);\r\n sentElements = _removePayloadsFromBuffer(payload, sentElements);\r\n _setBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY, sentElements);\r\n };\r\n function _removePayloadsFromBuffer(payloads, buffer) {\r\n var remaining = [];\r\n arrForEach(buffer, function (value) {\r\n if (!isFunction(value) && arrIndexOf(payloads, value) === -1) {\r\n remaining.push(value);\r\n }\r\n });\r\n return remaining;\r\n }\r\n function _getBuffer(key) {\r\n var prefixedKey = key;\r\n try {\r\n prefixedKey = config.namePrefix && config.namePrefix() ? config.namePrefix() + \"_\" + prefixedKey : prefixedKey;\r\n var bufferJson = utlGetSessionStorage(logger, prefixedKey);\r\n if (bufferJson) {\r\n var buffer_1 = getJSON().parse(bufferJson);\r\n if (isString(buffer_1)) {\r\n // When using some version prototype.js the stringify / parse cycle does not decode array's correctly\r\n buffer_1 = getJSON().parse(buffer_1);\r\n }\r\n if (buffer_1 && isArray(buffer_1)) {\r\n return buffer_1;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _throwInternal(logger, 1 /* CRITICAL */, 42 /* FailedToRestoreStorageBuffer */, \" storage key: \" + prefixedKey + \", \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n return [];\r\n }\r\n function _setBuffer(key, buffer) {\r\n var prefixedKey = key;\r\n try {\r\n prefixedKey = config.namePrefix && config.namePrefix() ? config.namePrefix() + \"_\" + prefixedKey : prefixedKey;\r\n var bufferJson = JSON.stringify(buffer);\r\n utlSetSessionStorage(logger, prefixedKey, bufferJson);\r\n }\r\n catch (e) {\r\n // if there was an error, clear the buffer\r\n // telemetry is stored in the _buffer array so we won't loose any items\r\n utlSetSessionStorage(logger, prefixedKey, JSON.stringify([]));\r\n _throwInternal(logger, 2 /* WARNING */, 41 /* FailedToSetStorageBuffer */, \" storage key: \" + prefixedKey + \", \" + getExceptionName(e) + \". Buffer cleared\", { exception: dumpObj(e) });\r\n }\r\n }\r\n });\r\n return _this;\r\n }\r\n SessionStorageSendBuffer.prototype.enqueue = function (payload) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n SessionStorageSendBuffer.prototype.clear = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n SessionStorageSendBuffer.prototype.markAsSent = function (payload) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n SessionStorageSendBuffer.prototype.clearSent = function (payload) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n SessionStorageSendBuffer.BUFFER_KEY = \"AI_buffer\";\r\n SessionStorageSendBuffer.SENT_BUFFER_KEY = \"AI_sentBuffer\";\r\n // Maximum number of payloads stored in the buffer. If the buffer is full, new elements will be dropped.\r\n SessionStorageSendBuffer.MAX_BUFFER_SIZE = 2000;\r\n return SessionStorageSendBuffer;\r\n}(BaseSendBuffer));\r\nexport { SessionStorageSendBuffer };\r\n//# sourceMappingURL=SendBuffer.js.map"],"names":[],"mappings":";;;;AAAA,gFAAkC;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;;;;;2DAqBM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;wDAKM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;iEAWM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
|
|
1
|
+
{"version":3,"file":"SendBuffer.js.map","sources":["SendBuffer.js"],"sourcesContent":["import { __extends } from \"tslib\";\r\nimport { utlGetSessionStorage, utlSetSessionStorage } from \"@microsoft/applicationinsights-common\";\r\nimport { getJSON, arrForEach, isFunction, arrIndexOf, isString, dumpObj, isArray, getExceptionName, _throwInternal } from \"@microsoft/applicationinsights-core-js\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nvar BaseSendBuffer = /** @class */ (function () {\r\n function BaseSendBuffer(logger, config) {\r\n var _buffer = [];\r\n var _bufferFullMessageSent = false;\r\n this._get = function () {\r\n return _buffer;\r\n };\r\n this._set = function (buffer) {\r\n _buffer = buffer;\r\n return _buffer;\r\n };\r\n dynamicProto(BaseSendBuffer, this, function (_self) {\r\n _self.enqueue = function (payload) {\r\n if (_self.count() >= config.eventsLimitInMem()) {\r\n // sent internal log only once per page view\r\n if (!_bufferFullMessageSent) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 105 /* _eInternalMessageId.InMemoryStorageBufferFull */, \"Maximum in-memory buffer size reached: \" + _self.count(), true);\r\n _bufferFullMessageSent = true;\r\n }\r\n return;\r\n }\r\n _buffer.push(payload);\r\n };\r\n _self.count = function () {\r\n return _buffer.length;\r\n };\r\n _self.size = function () {\r\n var size = _buffer.length;\r\n for (var lp = 0; lp < _buffer.length; lp++) {\r\n size += _buffer[lp].length;\r\n }\r\n if (!config.emitLineDelimitedJson()) {\r\n size += 2;\r\n }\r\n return size;\r\n };\r\n _self.clear = function () {\r\n _buffer = [];\r\n _bufferFullMessageSent = false;\r\n };\r\n _self.getItems = function () {\r\n return _buffer.slice(0);\r\n };\r\n _self.batchPayloads = function (payload) {\r\n if (payload && payload.length > 0) {\r\n var batch = config.emitLineDelimitedJson() ?\r\n payload.join(\"\\n\") :\r\n \"[\" + payload.join(\",\") + \"]\";\r\n return batch;\r\n }\r\n return null;\r\n };\r\n });\r\n }\r\n BaseSendBuffer.prototype.enqueue = function (payload) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n BaseSendBuffer.prototype.count = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return 0;\r\n };\r\n BaseSendBuffer.prototype.size = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return 0;\r\n };\r\n BaseSendBuffer.prototype.clear = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n BaseSendBuffer.prototype.getItems = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n BaseSendBuffer.prototype.batchPayloads = function (payload) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n return BaseSendBuffer;\r\n}());\r\n/*\r\n * An array based send buffer.\r\n */\r\nvar ArraySendBuffer = /** @class */ (function (_super) {\r\n __extends(ArraySendBuffer, _super);\r\n function ArraySendBuffer(logger, config) {\r\n var _this = _super.call(this, logger, config) || this;\r\n dynamicProto(ArraySendBuffer, _this, function (_self, _base) {\r\n _self.markAsSent = function (payload) {\r\n _base.clear();\r\n };\r\n _self.clearSent = function (payload) {\r\n // not supported\r\n };\r\n });\r\n return _this;\r\n }\r\n ArraySendBuffer.prototype.markAsSent = function (payload) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n ArraySendBuffer.prototype.clearSent = function (payload) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n return ArraySendBuffer;\r\n}(BaseSendBuffer));\r\nexport { ArraySendBuffer };\r\n/*\r\n * Session storage buffer holds a copy of all unsent items in the browser session storage.\r\n */\r\nvar SessionStorageSendBuffer = /** @class */ (function (_super) {\r\n __extends(SessionStorageSendBuffer, _super);\r\n function SessionStorageSendBuffer(logger, config) {\r\n var _this = _super.call(this, logger, config) || this;\r\n var _bufferFullMessageSent = false;\r\n dynamicProto(SessionStorageSendBuffer, _this, function (_self, _base) {\r\n var bufferItems = _getBuffer(SessionStorageSendBuffer.BUFFER_KEY);\r\n var notDeliveredItems = _getBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY);\r\n var buffer = _self._set(bufferItems.concat(notDeliveredItems));\r\n // If the buffer has too many items, drop items from the end.\r\n if (buffer.length > SessionStorageSendBuffer.MAX_BUFFER_SIZE) {\r\n buffer.length = SessionStorageSendBuffer.MAX_BUFFER_SIZE;\r\n }\r\n _setBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY, []);\r\n _setBuffer(SessionStorageSendBuffer.BUFFER_KEY, buffer);\r\n _self.enqueue = function (payload) {\r\n if (_self.count() >= SessionStorageSendBuffer.MAX_BUFFER_SIZE) {\r\n // sent internal log only once per page view\r\n if (!_bufferFullMessageSent) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 67 /* _eInternalMessageId.SessionStorageBufferFull */, \"Maximum buffer size reached: \" + _self.count(), true);\r\n _bufferFullMessageSent = true;\r\n }\r\n return;\r\n }\r\n _base.enqueue(payload);\r\n _setBuffer(SessionStorageSendBuffer.BUFFER_KEY, _self._get());\r\n };\r\n _self.clear = function () {\r\n _base.clear();\r\n _setBuffer(SessionStorageSendBuffer.BUFFER_KEY, _self._get());\r\n _setBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY, []);\r\n _bufferFullMessageSent = false;\r\n };\r\n _self.markAsSent = function (payload) {\r\n _setBuffer(SessionStorageSendBuffer.BUFFER_KEY, _self._set(_removePayloadsFromBuffer(payload, _self._get())));\r\n var sentElements = _getBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY);\r\n if (sentElements instanceof Array && payload instanceof Array) {\r\n sentElements = sentElements.concat(payload);\r\n if (sentElements.length > SessionStorageSendBuffer.MAX_BUFFER_SIZE) {\r\n // We send telemetry normally. If the SENT_BUFFER is too big we don't add new elements\r\n // until we receive a response from the backend and the buffer has free space again (see clearSent method)\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 67 /* _eInternalMessageId.SessionStorageBufferFull */, \"Sent buffer reached its maximum size: \" + sentElements.length, true);\r\n sentElements.length = SessionStorageSendBuffer.MAX_BUFFER_SIZE;\r\n }\r\n _setBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY, sentElements);\r\n }\r\n };\r\n _self.clearSent = function (payload) {\r\n var sentElements = _getBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY);\r\n sentElements = _removePayloadsFromBuffer(payload, sentElements);\r\n _setBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY, sentElements);\r\n };\r\n function _removePayloadsFromBuffer(payloads, buffer) {\r\n var remaining = [];\r\n arrForEach(buffer, function (value) {\r\n if (!isFunction(value) && arrIndexOf(payloads, value) === -1) {\r\n remaining.push(value);\r\n }\r\n });\r\n return remaining;\r\n }\r\n function _getBuffer(key) {\r\n var prefixedKey = key;\r\n try {\r\n prefixedKey = config.namePrefix && config.namePrefix() ? config.namePrefix() + \"_\" + prefixedKey : prefixedKey;\r\n var bufferJson = utlGetSessionStorage(logger, prefixedKey);\r\n if (bufferJson) {\r\n var buffer_1 = getJSON().parse(bufferJson);\r\n if (isString(buffer_1)) {\r\n // When using some version prototype.js the stringify / parse cycle does not decode array's correctly\r\n buffer_1 = getJSON().parse(buffer_1);\r\n }\r\n if (buffer_1 && isArray(buffer_1)) {\r\n return buffer_1;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 42 /* _eInternalMessageId.FailedToRestoreStorageBuffer */, \" storage key: \" + prefixedKey + \", \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n return [];\r\n }\r\n function _setBuffer(key, buffer) {\r\n var prefixedKey = key;\r\n try {\r\n prefixedKey = config.namePrefix && config.namePrefix() ? config.namePrefix() + \"_\" + prefixedKey : prefixedKey;\r\n var bufferJson = JSON.stringify(buffer);\r\n utlSetSessionStorage(logger, prefixedKey, bufferJson);\r\n }\r\n catch (e) {\r\n // if there was an error, clear the buffer\r\n // telemetry is stored in the _buffer array so we won't loose any items\r\n utlSetSessionStorage(logger, prefixedKey, JSON.stringify([]));\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 41 /* _eInternalMessageId.FailedToSetStorageBuffer */, \" storage key: \" + prefixedKey + \", \" + getExceptionName(e) + \". Buffer cleared\", { exception: dumpObj(e) });\r\n }\r\n }\r\n });\r\n return _this;\r\n }\r\n SessionStorageSendBuffer.prototype.enqueue = function (payload) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n SessionStorageSendBuffer.prototype.clear = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n SessionStorageSendBuffer.prototype.markAsSent = function (payload) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n SessionStorageSendBuffer.prototype.clearSent = function (payload) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n SessionStorageSendBuffer.BUFFER_KEY = \"AI_buffer\";\r\n SessionStorageSendBuffer.SENT_BUFFER_KEY = \"AI_sentBuffer\";\r\n // Maximum number of payloads stored in the buffer. If the buffer is full, new elements will be dropped.\r\n SessionStorageSendBuffer.MAX_BUFFER_SIZE = 2000;\r\n return SessionStorageSendBuffer;\r\n}(BaseSendBuffer));\r\nexport { SessionStorageSendBuffer };\r\n//# sourceMappingURL=SendBuffer.js.map"],"names":[],"mappings":";;;;AAAA,gFAAkC;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;;;;;2DAqBM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;wDAKM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;iEAWM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
|
package/dist-esm/Sender.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Application Insights JavaScript SDK - Channel, 2.8.4
|
|
2
|
+
* Application Insights JavaScript SDK - Channel, 2.8.4
|
|
3
3
|
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
var _a;
|
|
@@ -89,7 +89,7 @@ var Sender = /** @class */ (function (_super) {
|
|
|
89
89
|
_retryAt = null;
|
|
90
90
|
// flush if we have exceeded the max-size already
|
|
91
91
|
if (_self._buffer.size() > _self._senderConfig.maxBatchSizeInBytes()) {
|
|
92
|
-
_self.triggerSend(true, null, 10 /* MaxBatchSize */);
|
|
92
|
+
_self.triggerSend(true, null, 10 /* SendRequestReason.MaxBatchSize */);
|
|
93
93
|
}
|
|
94
94
|
_setupTimer();
|
|
95
95
|
}
|
|
@@ -100,10 +100,10 @@ var Sender = /** @class */ (function (_super) {
|
|
|
100
100
|
// Clear the normal schedule timer as we are going to try and flush ASAP
|
|
101
101
|
_clearScheduledTimer();
|
|
102
102
|
try {
|
|
103
|
-
_self.triggerSend(isAsync, null, sendReason || 1 /* ManualFlush */);
|
|
103
|
+
_self.triggerSend(isAsync, null, sendReason || 1 /* SendRequestReason.ManualFlush */);
|
|
104
104
|
}
|
|
105
105
|
catch (e) {
|
|
106
|
-
_throwInternal(_self.diagLog(), 1 /* CRITICAL */, 22 /* FlushFailed */, "flush failed, telemetry will not be collected: " + getExceptionName(e), { exception: dumpObj(e) });
|
|
106
|
+
_throwInternal(_self.diagLog(), 1 /* eLoggingSeverity.CRITICAL */, 22 /* _eInternalMessageId.FlushFailed */, "flush failed, telemetry will not be collected: " + getExceptionName(e), { exception: dumpObj(e) });
|
|
107
107
|
}
|
|
108
108
|
}
|
|
109
109
|
};
|
|
@@ -111,10 +111,10 @@ var Sender = /** @class */ (function (_super) {
|
|
|
111
111
|
if (!_paused) {
|
|
112
112
|
if ((_self._senderConfig.onunloadDisableBeacon() === false || _self._senderConfig.isBeaconApiDisabled() === false) && isBeaconsSupported()) {
|
|
113
113
|
try {
|
|
114
|
-
_self.triggerSend(true, _doUnloadSend, 2 /* Unload */);
|
|
114
|
+
_self.triggerSend(true, _doUnloadSend, 2 /* SendRequestReason.Unload */);
|
|
115
115
|
}
|
|
116
116
|
catch (e) {
|
|
117
|
-
_throwInternal(_self.diagLog(), 1 /* CRITICAL */, 20 /* FailedToSendQueuedTelemetry */, "failed to flush with beacon sender on page unload, telemetry will not be collected: " + getExceptionName(e), { exception: dumpObj(e) });
|
|
117
|
+
_throwInternal(_self.diagLog(), 1 /* eLoggingSeverity.CRITICAL */, 20 /* _eInternalMessageId.FailedToSendQueuedTelemetry */, "failed to flush with beacon sender on page unload, telemetry will not be collected: " + getExceptionName(e), { exception: dumpObj(e) });
|
|
118
118
|
}
|
|
119
119
|
}
|
|
120
120
|
else {
|
|
@@ -127,7 +127,7 @@ var Sender = /** @class */ (function (_super) {
|
|
|
127
127
|
};
|
|
128
128
|
_self.initialize = function (config, core, extensions, pluginChain) {
|
|
129
129
|
if (_self.isInitialized()) {
|
|
130
|
-
_throwInternal(_self.diagLog(), 1 /* CRITICAL */, 28 /* SenderNotInitialized */, "Sender is already initialized");
|
|
130
|
+
_throwInternal(_self.diagLog(), 1 /* eLoggingSeverity.CRITICAL */, 28 /* _eInternalMessageId.SenderNotInitialized */, "Sender is already initialized");
|
|
131
131
|
}
|
|
132
132
|
_base.initialize(config, core, extensions, pluginChain);
|
|
133
133
|
var ctx = _self._getTelCtx();
|
|
@@ -149,7 +149,7 @@ var Sender = /** @class */ (function (_super) {
|
|
|
149
149
|
? new SessionStorageSendBuffer(diagLog, _self._senderConfig) : new ArraySendBuffer(diagLog, _self._senderConfig);
|
|
150
150
|
_self._sample = new Sample(_self._senderConfig.samplingPercentage(), diagLog);
|
|
151
151
|
if (!_validateInstrumentationKey(config)) {
|
|
152
|
-
_throwInternal(diagLog, 1 /* CRITICAL */, 100 /* InvalidInstrumentationKey */, "Invalid Instrumentation key " + config.instrumentationKey);
|
|
152
|
+
_throwInternal(diagLog, 1 /* eLoggingSeverity.CRITICAL */, 100 /* _eInternalMessageId.InvalidInstrumentationKey */, "Invalid Instrumentation key " + config.instrumentationKey);
|
|
153
153
|
}
|
|
154
154
|
if (!isInternalApplicationInsightsEndpoint(_self._senderConfig.endpointUrl()) && _self._senderConfig.customHeaders() && _self._senderConfig.customHeaders().length > 0) {
|
|
155
155
|
arrForEach(_self._senderConfig.customHeaders(), function (customHeader) {
|
|
@@ -202,12 +202,12 @@ var Sender = /** @class */ (function (_super) {
|
|
|
202
202
|
}
|
|
203
203
|
// validate input
|
|
204
204
|
if (!telemetryItem) {
|
|
205
|
-
_throwInternal(itemCtx.diagLog(), 1 /* CRITICAL */, 7 /* CannotSendEmptyTelemetry */, "Cannot send empty telemetry");
|
|
205
|
+
_throwInternal(itemCtx.diagLog(), 1 /* eLoggingSeverity.CRITICAL */, 7 /* _eInternalMessageId.CannotSendEmptyTelemetry */, "Cannot send empty telemetry");
|
|
206
206
|
return;
|
|
207
207
|
}
|
|
208
208
|
// validate event
|
|
209
209
|
if (telemetryItem.baseData && !telemetryItem.baseType) {
|
|
210
|
-
_throwInternal(itemCtx.diagLog(), 1 /* CRITICAL */, 70 /* InvalidEvent */, "Cannot send telemetry without baseData and baseType");
|
|
210
|
+
_throwInternal(itemCtx.diagLog(), 1 /* eLoggingSeverity.CRITICAL */, 70 /* _eInternalMessageId.InvalidEvent */, "Cannot send telemetry without baseData and baseType");
|
|
211
211
|
return;
|
|
212
212
|
}
|
|
213
213
|
if (!telemetryItem.baseType) {
|
|
@@ -216,13 +216,13 @@ var Sender = /** @class */ (function (_super) {
|
|
|
216
216
|
}
|
|
217
217
|
// ensure a sender was constructed
|
|
218
218
|
if (!_self._sender) {
|
|
219
|
-
_throwInternal(itemCtx.diagLog(), 1 /* CRITICAL */, 28 /* SenderNotInitialized */, "Sender was not initialized");
|
|
219
|
+
_throwInternal(itemCtx.diagLog(), 1 /* eLoggingSeverity.CRITICAL */, 28 /* _eInternalMessageId.SenderNotInitialized */, "Sender was not initialized");
|
|
220
220
|
return;
|
|
221
221
|
}
|
|
222
222
|
// check if this item should be sampled in, else add sampleRate tag
|
|
223
223
|
if (!_isSampledIn(telemetryItem)) {
|
|
224
224
|
// Item is sampled out, do not send it
|
|
225
|
-
_throwInternal(itemCtx.diagLog(), 2 /* WARNING */, 33 /* TelemetrySampledAndNotSent */, "Telemetry item was sampled out and not sent", { SampleRate: _self._sample.sampleRate });
|
|
225
|
+
_throwInternal(itemCtx.diagLog(), 2 /* eLoggingSeverity.WARNING */, 33 /* _eInternalMessageId.TelemetrySampledAndNotSent */, "Telemetry item was sampled out and not sent", { SampleRate: _self._sample.sampleRate });
|
|
226
226
|
return;
|
|
227
227
|
}
|
|
228
228
|
else {
|
|
@@ -234,7 +234,7 @@ var Sender = /** @class */ (function (_super) {
|
|
|
234
234
|
var defaultEnvelopeIkey = telemetryItem.iKey || _self._senderConfig.instrumentationKey();
|
|
235
235
|
var aiEnvelope_1 = Sender.constructEnvelope(telemetryItem, defaultEnvelopeIkey, itemCtx.diagLog(), convertUndefined);
|
|
236
236
|
if (!aiEnvelope_1) {
|
|
237
|
-
_throwInternal(itemCtx.diagLog(), 1 /* CRITICAL */, 47 /* CreateEnvelopeError */, "Unable to create an AppInsights envelope");
|
|
237
|
+
_throwInternal(itemCtx.diagLog(), 1 /* eLoggingSeverity.CRITICAL */, 47 /* _eInternalMessageId.CreateEnvelopeError */, "Unable to create an AppInsights envelope");
|
|
238
238
|
return;
|
|
239
239
|
}
|
|
240
240
|
var doNotSendItem_1 = false;
|
|
@@ -250,7 +250,7 @@ var Sender = /** @class */ (function (_super) {
|
|
|
250
250
|
catch (e) {
|
|
251
251
|
// log error but dont stop executing rest of the telemetry initializers
|
|
252
252
|
// doNotSendItem = true;
|
|
253
|
-
_throwInternal(itemCtx.diagLog(), 1 /* CRITICAL */, 64 /* TelemetryInitializerFailed */, "One of telemetry initializers failed, telemetry item will not be sent: " + getExceptionName(e), { exception: dumpObj(e) }, true);
|
|
253
|
+
_throwInternal(itemCtx.diagLog(), 1 /* eLoggingSeverity.CRITICAL */, 64 /* _eInternalMessageId.TelemetryInitializerFailed */, "One of telemetry initializers failed, telemetry item will not be sent: " + getExceptionName(e), { exception: dumpObj(e) }, true);
|
|
254
254
|
}
|
|
255
255
|
});
|
|
256
256
|
delete telemetryItem.tags[ProcessLegacy];
|
|
@@ -264,7 +264,7 @@ var Sender = /** @class */ (function (_super) {
|
|
|
264
264
|
var buffer = _self._buffer;
|
|
265
265
|
var bufferSize = buffer.size();
|
|
266
266
|
if ((bufferSize + payload.length) > _self._senderConfig.maxBatchSizeInBytes()) {
|
|
267
|
-
_self.triggerSend(true, null, 10 /* MaxBatchSize */);
|
|
267
|
+
_self.triggerSend(true, null, 10 /* SendRequestReason.MaxBatchSize */);
|
|
268
268
|
}
|
|
269
269
|
// enqueue the payload
|
|
270
270
|
buffer.enqueue(payload);
|
|
@@ -272,7 +272,7 @@ var Sender = /** @class */ (function (_super) {
|
|
|
272
272
|
_setupTimer();
|
|
273
273
|
}
|
|
274
274
|
catch (e) {
|
|
275
|
-
_throwInternal(itemCtx.diagLog(), 2 /* WARNING */, 12 /* FailedAddingTelemetryToBuffer */, "Failed adding telemetry to the sender's buffer, some telemetry will be lost: " + getExceptionName(e), { exception: dumpObj(e) });
|
|
275
|
+
_throwInternal(itemCtx.diagLog(), 2 /* eLoggingSeverity.WARNING */, 12 /* _eInternalMessageId.FailedAddingTelemetryToBuffer */, "Failed adding telemetry to the sender's buffer, some telemetry will be lost: " + getExceptionName(e), { exception: dumpObj(e) });
|
|
276
276
|
}
|
|
277
277
|
// hand off the telemetry item to the next plugin
|
|
278
278
|
_self.processNext(telemetryItem, itemCtx);
|
|
@@ -299,7 +299,7 @@ var Sender = /** @class */ (function (_super) {
|
|
|
299
299
|
if (!_self._senderConfig.disableTelemetry()) {
|
|
300
300
|
if (buffer.count() > 0) {
|
|
301
301
|
var payload = buffer.getItems();
|
|
302
|
-
_notifySendRequest(sendReason || 0 /* Undefined */, async);
|
|
302
|
+
_notifySendRequest(sendReason || 0 /* SendRequestReason.Undefined */, async);
|
|
303
303
|
// invoke send
|
|
304
304
|
if (forcedSender) {
|
|
305
305
|
forcedSender.call(_this, payload, async);
|
|
@@ -320,7 +320,7 @@ var Sender = /** @class */ (function (_super) {
|
|
|
320
320
|
/* Ignore this error for IE under v10 */
|
|
321
321
|
var ieVer = getIEVersion();
|
|
322
322
|
if (!ieVer || ieVer > 9) {
|
|
323
|
-
_throwInternal(_self.diagLog(), 1 /* CRITICAL */, 40 /* TransmissionFailed */, "Telemetry transmission failed, some telemetry will be lost: " + getExceptionName(e), { exception: dumpObj(e) });
|
|
323
|
+
_throwInternal(_self.diagLog(), 1 /* eLoggingSeverity.CRITICAL */, 40 /* _eInternalMessageId.TransmissionFailed */, "Telemetry transmission failed, some telemetry will be lost: " + getExceptionName(e), { exception: dumpObj(e) });
|
|
324
324
|
}
|
|
325
325
|
}
|
|
326
326
|
}
|
|
@@ -334,7 +334,7 @@ var Sender = /** @class */ (function (_super) {
|
|
|
334
334
|
* error handler
|
|
335
335
|
*/
|
|
336
336
|
_self._onError = function (payload, message, event) {
|
|
337
|
-
_throwInternal(_self.diagLog(), 2 /* WARNING */, 26 /* OnError */, "Failed to send telemetry.", { message: message });
|
|
337
|
+
_throwInternal(_self.diagLog(), 2 /* eLoggingSeverity.WARNING */, 26 /* _eInternalMessageId.OnError */, "Failed to send telemetry.", { message: message });
|
|
338
338
|
_self._buffer.clearSent(payload);
|
|
339
339
|
};
|
|
340
340
|
/**
|
|
@@ -364,7 +364,7 @@ var Sender = /** @class */ (function (_super) {
|
|
|
364
364
|
}
|
|
365
365
|
if (retry.length > 0) {
|
|
366
366
|
_resendPayload(retry);
|
|
367
|
-
_throwInternal(_self.diagLog(), 2 /* WARNING */, 40 /* TransmissionFailed */, "Partial success. " +
|
|
367
|
+
_throwInternal(_self.diagLog(), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, "Partial success. " +
|
|
368
368
|
"Delivered: " + payload.length + ", Failed: " + failed.length +
|
|
369
369
|
". Will retry to send " + retry.length + " our of " + results.itemsReceived + " items");
|
|
370
370
|
}
|
|
@@ -417,7 +417,7 @@ var Sender = /** @class */ (function (_super) {
|
|
|
417
417
|
}
|
|
418
418
|
if (!_self._senderConfig.isRetryDisabled() && _isRetriable(status)) {
|
|
419
419
|
_resendPayload(payload);
|
|
420
|
-
_throwInternal(_self.diagLog(), 2 /* WARNING */, 40 /* TransmissionFailed */, ". " +
|
|
420
|
+
_throwInternal(_self.diagLog(), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, ". " +
|
|
421
421
|
"Response code " + status + ". Will retry to send " + payload.length + " items.");
|
|
422
422
|
}
|
|
423
423
|
else {
|
|
@@ -429,7 +429,7 @@ var Sender = /** @class */ (function (_super) {
|
|
|
429
429
|
if (!_self._senderConfig.isRetryDisabled()) {
|
|
430
430
|
var offlineBackOffMultiplier = 10; // arbritrary number
|
|
431
431
|
_resendPayload(payload, offlineBackOffMultiplier);
|
|
432
|
-
_throwInternal(_self.diagLog(), 2 /* WARNING */, 40 /* TransmissionFailed */, ". Offline - Response Code: ".concat(status, ". Offline status: ").concat(!_offlineListener.isOnline(), ". Will retry to send ").concat(payload.length, " items."));
|
|
432
|
+
_throwInternal(_self.diagLog(), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, ". Offline - Response Code: ".concat(status, ". Offline status: ").concat(!_offlineListener.isOnline(), ". Will retry to send ").concat(payload.length, " items."));
|
|
433
433
|
}
|
|
434
434
|
}
|
|
435
435
|
else {
|
|
@@ -518,7 +518,7 @@ var Sender = /** @class */ (function (_super) {
|
|
|
518
518
|
}
|
|
519
519
|
if (droppedPayload.length > 0) {
|
|
520
520
|
_fallbackSender && _fallbackSender(droppedPayload, true);
|
|
521
|
-
_throwInternal(_self.diagLog(), 2 /* WARNING */, 40 /* TransmissionFailed */, ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
|
|
521
|
+
_throwInternal(_self.diagLog(), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
|
|
522
522
|
}
|
|
523
523
|
}
|
|
524
524
|
}
|
|
@@ -570,7 +570,7 @@ var Sender = /** @class */ (function (_super) {
|
|
|
570
570
|
else {
|
|
571
571
|
// Payload is going to be too big so just try and send via XHR
|
|
572
572
|
_fallbackSender && _fallbackSender(payload, true);
|
|
573
|
-
_throwInternal(_self.diagLog(), 2 /* WARNING */, 40 /* TransmissionFailed */, ". " + "Failed to send telemetry with Beacon API, retried with xhrSender.");
|
|
573
|
+
_throwInternal(_self.diagLog(), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, ". " + "Failed to send telemetry with Beacon API, retried with xhrSender.");
|
|
574
574
|
}
|
|
575
575
|
}
|
|
576
576
|
}
|
|
@@ -687,7 +687,7 @@ var Sender = /** @class */ (function (_super) {
|
|
|
687
687
|
}
|
|
688
688
|
}
|
|
689
689
|
catch (e) {
|
|
690
|
-
_throwInternal(_self.diagLog(), 1 /* CRITICAL */, 43 /* InvalidBackendResponse */, "Cannot parse the response. " + getExceptionName(e), {
|
|
690
|
+
_throwInternal(_self.diagLog(), 1 /* eLoggingSeverity.CRITICAL */, 43 /* _eInternalMessageId.InvalidBackendResponse */, "Cannot parse the response. " + getExceptionName(e), {
|
|
691
691
|
response: response
|
|
692
692
|
});
|
|
693
693
|
}
|
|
@@ -744,7 +744,7 @@ var Sender = /** @class */ (function (_super) {
|
|
|
744
744
|
var timerValue = Math.max(_self._senderConfig.maxBatchInterval(), retryInterval);
|
|
745
745
|
_timeoutHandle = setTimeout(function () {
|
|
746
746
|
_timeoutHandle = null;
|
|
747
|
-
_self.triggerSend(true, null, 1 /* NormalSchedule */);
|
|
747
|
+
_self.triggerSend(true, null, 1 /* SendRequestReason.NormalSchedule */);
|
|
748
748
|
}, timerValue);
|
|
749
749
|
}
|
|
750
750
|
}
|
|
@@ -789,7 +789,7 @@ var Sender = /** @class */ (function (_super) {
|
|
|
789
789
|
// If the protocol doesn't match, we can't send the telemetry :(.
|
|
790
790
|
var hostingProtocol = _window && _window.location && _window.location.protocol || "";
|
|
791
791
|
if (_self._senderConfig.endpointUrl().lastIndexOf(hostingProtocol, 0) !== 0) {
|
|
792
|
-
_throwInternal(_self.diagLog(), 2 /* WARNING */, 40 /* TransmissionFailed */, ". " +
|
|
792
|
+
_throwInternal(_self.diagLog(), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, ". " +
|
|
793
793
|
"Cannot send XDomain request. The endpoint URL protocol doesn't match the hosting page protocol.");
|
|
794
794
|
buffer.clear();
|
|
795
795
|
return;
|
|
@@ -823,7 +823,7 @@ var Sender = /** @class */ (function (_super) {
|
|
|
823
823
|
manager.eventsSendRequest(sendRequest, isAsync);
|
|
824
824
|
}
|
|
825
825
|
catch (e) {
|
|
826
|
-
_throwInternal(_self.diagLog(), 1 /* CRITICAL */, 74 /* NotificationException */, "send request notification failed: " + getExceptionName(e), { exception: dumpObj(e) });
|
|
826
|
+
_throwInternal(_self.diagLog(), 1 /* eLoggingSeverity.CRITICAL */, 74 /* _eInternalMessageId.NotificationException */, "send request notification failed: " + getExceptionName(e), { exception: dumpObj(e) });
|
|
827
827
|
}
|
|
828
828
|
}
|
|
829
829
|
}
|