@microsoft/applicationinsights-web 2.7.0-beta.1 → 2.7.1-nightly.202110-04
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/{ai.2.7.0-beta.1.cjs.js → ai.2.7.1-nightly.202110-04.cjs.js} +640 -539
- package/browser/ai.2.7.1-nightly.202110-04.cjs.js.map +1 -0
- package/browser/ai.2.7.1-nightly.202110-04.cjs.min.js +6 -0
- package/browser/ai.2.7.1-nightly.202110-04.cjs.min.js.map +1 -0
- package/browser/{ai.2.7.0-beta.1.gbl.js → ai.2.7.1-nightly.202110-04.gbl.js} +641 -540
- package/browser/ai.2.7.1-nightly.202110-04.gbl.js.map +1 -0
- package/browser/ai.2.7.1-nightly.202110-04.gbl.min.js +6 -0
- package/browser/ai.2.7.1-nightly.202110-04.gbl.min.js.map +1 -0
- package/browser/ai.2.7.1-nightly.202110-04.integrity.json +66 -0
- package/browser/{ai.2.7.0-beta.1.js → ai.2.7.1-nightly.202110-04.js} +642 -541
- package/browser/ai.2.7.1-nightly.202110-04.js.map +1 -0
- package/browser/ai.2.7.1-nightly.202110-04.min.js +6 -0
- package/browser/ai.2.7.1-nightly.202110-04.min.js.map +1 -0
- package/browser/ai.2.cjs.js +639 -538
- package/browser/ai.2.cjs.js.map +1 -1
- package/browser/ai.2.cjs.min.js +2 -2
- package/browser/ai.2.cjs.min.js.map +1 -1
- package/browser/ai.2.gbl.js +640 -539
- package/browser/ai.2.gbl.js.map +1 -1
- package/browser/ai.2.gbl.min.js +2 -2
- package/browser/ai.2.gbl.min.js.map +1 -1
- package/browser/ai.2.js +641 -540
- package/browser/ai.2.js.map +1 -1
- package/browser/ai.2.min.js +2 -2
- package/browser/ai.2.min.js.map +1 -1
- package/dist/applicationinsights-web.api.json +343 -86
- package/dist/applicationinsights-web.api.md +19 -7
- package/dist/applicationinsights-web.d.ts +112 -168
- package/dist/applicationinsights-web.js +641 -540
- package/dist/applicationinsights-web.js.map +1 -1
- package/dist/applicationinsights-web.min.js +2 -2
- package/dist/applicationinsights-web.min.js.map +1 -1
- package/dist/applicationinsights-web.rollup.d.ts +112 -168
- package/dist-esm/ApplicationInsightsContainer.js +1 -1
- package/dist-esm/ApplicationInsightsDeprecated.js +1 -1
- package/dist-esm/Init.js +1 -1
- package/dist-esm/Initialization.js +8 -6
- package/dist-esm/Initialization.js.map +1 -1
- package/dist-esm/applicationinsights-web.js +1 -1
- package/package.json +79 -79
- package/src/Initialization.ts +10 -5
- package/types/Initialization.d.ts +3 -1
- package/types/tsdoc-metadata.json +1 -1
- package/browser/ai.2.7.0-beta.1.cjs.js.map +0 -1
- package/browser/ai.2.7.0-beta.1.cjs.min.js +0 -6
- package/browser/ai.2.7.0-beta.1.cjs.min.js.map +0 -1
- package/browser/ai.2.7.0-beta.1.gbl.js.map +0 -1
- package/browser/ai.2.7.0-beta.1.gbl.min.js +0 -6
- package/browser/ai.2.7.0-beta.1.gbl.min.js.map +0 -1
- package/browser/ai.2.7.0-beta.1.integrity.json +0 -66
- package/browser/ai.2.7.0-beta.1.js.map +0 -1
- package/browser/ai.2.7.0-beta.1.min.js +0 -6
- package/browser/ai.2.7.0-beta.1.min.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Application Insights JavaScript SDK - Web, 2.7.
|
|
2
|
+
* Application Insights JavaScript SDK - Web, 2.7.1-nightly.202110-04
|
|
3
3
|
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
'use strict';
|
|
@@ -436,8 +436,6 @@ var _InternalMessageId = {
|
|
|
436
436
|
var strOnPrefix = "on";
|
|
437
437
|
var strAttachEvent = "attachEvent";
|
|
438
438
|
var strAddEventHelper = "addEventListener";
|
|
439
|
-
var strDetachEvent = "detachEvent";
|
|
440
|
-
var strRemoveEventListener = "removeEventListener";
|
|
441
439
|
var _objDefineProperty = ObjDefineProperty;
|
|
442
440
|
function objToString(obj) {
|
|
443
441
|
return ObjProto.toString.call(obj);
|
|
@@ -482,21 +480,6 @@ function attachEvent(obj, eventNameWithoutOn, handlerRef, useCapture) {
|
|
|
482
480
|
}
|
|
483
481
|
return result;
|
|
484
482
|
}
|
|
485
|
-
function detachEvent(obj, eventNameWithoutOn, handlerRef, useCapture) {
|
|
486
|
-
if (useCapture === void 0) { useCapture = false; }
|
|
487
|
-
if (!isNullOrUndefined(obj)) {
|
|
488
|
-
try {
|
|
489
|
-
if (!isNullOrUndefined(obj[strRemoveEventListener])) {
|
|
490
|
-
obj[strRemoveEventListener](eventNameWithoutOn, handlerRef, useCapture);
|
|
491
|
-
}
|
|
492
|
-
else if (!isNullOrUndefined(obj[strDetachEvent])) {
|
|
493
|
-
obj[strDetachEvent](strOnPrefix + eventNameWithoutOn, handlerRef);
|
|
494
|
-
}
|
|
495
|
-
}
|
|
496
|
-
catch (e) {
|
|
497
|
-
}
|
|
498
|
-
}
|
|
499
|
-
}
|
|
500
483
|
function normalizeJsName(name) {
|
|
501
484
|
var value = name;
|
|
502
485
|
var match = /([^\w\d_$])/g;
|
|
@@ -579,33 +562,45 @@ function toISOString(date) {
|
|
|
579
562
|
}
|
|
580
563
|
function arrForEach(arr, callbackfn, thisArg) {
|
|
581
564
|
var len = arr.length;
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
if (
|
|
585
|
-
|
|
565
|
+
try {
|
|
566
|
+
for (var idx = 0; idx < len; idx++) {
|
|
567
|
+
if (idx in arr) {
|
|
568
|
+
if (callbackfn.call(thisArg || arr, arr[idx], idx, arr) === -1) {
|
|
569
|
+
break;
|
|
570
|
+
}
|
|
586
571
|
}
|
|
587
572
|
}
|
|
588
573
|
}
|
|
574
|
+
catch (e) {
|
|
575
|
+
}
|
|
589
576
|
}
|
|
590
577
|
function arrIndexOf(arr, searchElement, fromIndex) {
|
|
591
578
|
var len = arr.length;
|
|
592
579
|
var from = fromIndex || 0;
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
580
|
+
try {
|
|
581
|
+
for (var lp = Math.max(from >= 0 ? from : len - Math.abs(from), 0); lp < len; lp++) {
|
|
582
|
+
if (lp in arr && arr[lp] === searchElement) {
|
|
583
|
+
return lp;
|
|
584
|
+
}
|
|
596
585
|
}
|
|
597
586
|
}
|
|
587
|
+
catch (e) {
|
|
588
|
+
}
|
|
598
589
|
return -1;
|
|
599
590
|
}
|
|
600
591
|
function arrMap(arr, callbackfn, thisArg) {
|
|
601
592
|
var len = arr.length;
|
|
602
593
|
var _this = thisArg || arr;
|
|
603
594
|
var results = new Array(len);
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
595
|
+
try {
|
|
596
|
+
for (var lp = 0; lp < len; lp++) {
|
|
597
|
+
if (lp in arr) {
|
|
598
|
+
results[lp] = callbackfn.call(_this, arr[lp], arr);
|
|
599
|
+
}
|
|
607
600
|
}
|
|
608
601
|
}
|
|
602
|
+
catch (e) {
|
|
603
|
+
}
|
|
609
604
|
return results;
|
|
610
605
|
}
|
|
611
606
|
function arrReduce(arr, callbackfn, initialValue) {
|
|
@@ -805,6 +800,33 @@ var strTrident = "trident/";
|
|
|
805
800
|
var _isTrident = null;
|
|
806
801
|
var _navUserAgentCheck = null;
|
|
807
802
|
var _enableMocks = false;
|
|
803
|
+
var _useXDomainRequest = null;
|
|
804
|
+
var _beaconsSupported = null;
|
|
805
|
+
function _hasProperty(theClass, property) {
|
|
806
|
+
var supported = false;
|
|
807
|
+
if (theClass) {
|
|
808
|
+
try {
|
|
809
|
+
supported = property in theClass;
|
|
810
|
+
if (!supported) {
|
|
811
|
+
var proto = theClass[strShimPrototype];
|
|
812
|
+
if (proto) {
|
|
813
|
+
supported = property in proto;
|
|
814
|
+
}
|
|
815
|
+
}
|
|
816
|
+
}
|
|
817
|
+
catch (e) {
|
|
818
|
+
}
|
|
819
|
+
if (!supported) {
|
|
820
|
+
try {
|
|
821
|
+
var tmp = new theClass();
|
|
822
|
+
supported = !isUndefined(tmp[property]);
|
|
823
|
+
}
|
|
824
|
+
catch (e) {
|
|
825
|
+
}
|
|
826
|
+
}
|
|
827
|
+
}
|
|
828
|
+
return supported;
|
|
829
|
+
}
|
|
808
830
|
function getGlobalInst(name) {
|
|
809
831
|
var gbl = getGlobal();
|
|
810
832
|
if (gbl && gbl[name]) {
|
|
@@ -932,6 +954,45 @@ function dumpObj(object) {
|
|
|
932
954
|
}
|
|
933
955
|
return objectTypeDump + propertyValueDump;
|
|
934
956
|
}
|
|
957
|
+
function isBeaconsSupported() {
|
|
958
|
+
if (_beaconsSupported === null) {
|
|
959
|
+
_beaconsSupported = hasNavigator() && Boolean(getNavigator().sendBeacon);
|
|
960
|
+
}
|
|
961
|
+
return _beaconsSupported;
|
|
962
|
+
}
|
|
963
|
+
function isFetchSupported(withKeepAlive) {
|
|
964
|
+
var isSupported = false;
|
|
965
|
+
try {
|
|
966
|
+
var fetchApi = getGlobalInst("fetch");
|
|
967
|
+
isSupported = !!fetchApi;
|
|
968
|
+
var request = getGlobalInst("Request");
|
|
969
|
+
if (isSupported && withKeepAlive && request) {
|
|
970
|
+
isSupported = _hasProperty(request, "keepalive");
|
|
971
|
+
}
|
|
972
|
+
}
|
|
973
|
+
catch (e) {
|
|
974
|
+
}
|
|
975
|
+
return isSupported;
|
|
976
|
+
}
|
|
977
|
+
function useXDomainRequest() {
|
|
978
|
+
if (_useXDomainRequest === null) {
|
|
979
|
+
_useXDomainRequest = (typeof XDomainRequest !== undefined);
|
|
980
|
+
if (_useXDomainRequest && isXhrSupported()) {
|
|
981
|
+
_useXDomainRequest = _useXDomainRequest && !_hasProperty(getGlobalInst("XMLHttpRequest"), "withCredentials");
|
|
982
|
+
}
|
|
983
|
+
}
|
|
984
|
+
return _useXDomainRequest;
|
|
985
|
+
}
|
|
986
|
+
function isXhrSupported() {
|
|
987
|
+
var isSupported = false;
|
|
988
|
+
try {
|
|
989
|
+
var xmlHttpRequest = getGlobalInst("XMLHttpRequest");
|
|
990
|
+
isSupported = !!xmlHttpRequest;
|
|
991
|
+
}
|
|
992
|
+
catch (e) {
|
|
993
|
+
}
|
|
994
|
+
return isSupported;
|
|
995
|
+
}
|
|
935
996
|
|
|
936
997
|
var AiNonUserActionablePrefix = "AI (Internal): ";
|
|
937
998
|
var AiUserActionablePrefix = "AI: ";
|
|
@@ -1238,7 +1299,7 @@ var TelemetryPluginChain = /** @class */ (function () {
|
|
|
1238
1299
|
catch (error) {
|
|
1239
1300
|
var hasRun = _nextProxy && _nextProxy._hasRun;
|
|
1240
1301
|
if (!_nextProxy || !hasRun) {
|
|
1241
|
-
itemCtx.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.PluginException, "Plugin [" + plugin.identifier + "] failed during processTelemetry - " + error);
|
|
1302
|
+
itemCtx.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.PluginException, "Plugin [" + plugin.identifier + "] failed during processTelemetry - " + dumpObj(error));
|
|
1242
1303
|
}
|
|
1243
1304
|
if (_nextProxy && !hasRun) {
|
|
1244
1305
|
_nextProxy.processTelemetry(env, itemCtx);
|
|
@@ -1857,7 +1918,7 @@ var BaseCore = /** @class */ (function () {
|
|
|
1857
1918
|
_self.logger = logger;
|
|
1858
1919
|
}
|
|
1859
1920
|
var allExtensions = [];
|
|
1860
|
-
allExtensions.push.apply(allExtensions, __spreadArrayFn(__spreadArrayFn([], extensions), config.extensions));
|
|
1921
|
+
allExtensions.push.apply(allExtensions, __spreadArrayFn(__spreadArrayFn([], extensions, false), config.extensions));
|
|
1861
1922
|
allExtensions = sortPlugins(allExtensions);
|
|
1862
1923
|
var coreExtensions = [];
|
|
1863
1924
|
var extPriorities = {};
|
|
@@ -2037,6 +2098,7 @@ var AppInsightsCore = /** @class */ (function (_super) {
|
|
|
2037
2098
|
__extendsFn(AppInsightsCore, _super);
|
|
2038
2099
|
function AppInsightsCore() {
|
|
2039
2100
|
var _this = _super.call(this) || this;
|
|
2101
|
+
var _internalLogPoller = 0;
|
|
2040
2102
|
dynamicProto(AppInsightsCore, _this, function (_self, _base) {
|
|
2041
2103
|
_self.initialize = function (config, extensions, logger, notificationManager) {
|
|
2042
2104
|
_base.initialize(config, extensions, logger || new DiagnosticLogger(config), notificationManager || new NotificationManager(config));
|
|
@@ -2068,7 +2130,10 @@ var AppInsightsCore = /** @class */ (function (_super) {
|
|
|
2068
2130
|
if (!interval || !(interval > 0)) {
|
|
2069
2131
|
interval = 10000;
|
|
2070
2132
|
}
|
|
2071
|
-
|
|
2133
|
+
if (_internalLogPoller) {
|
|
2134
|
+
_self.stopPollingInternalLogs();
|
|
2135
|
+
}
|
|
2136
|
+
_internalLogPoller = setInterval(function () {
|
|
2072
2137
|
var queue = _self.logger ? _self.logger.queue : [];
|
|
2073
2138
|
arrForEach(queue, function (logMessage) {
|
|
2074
2139
|
var item = {
|
|
@@ -2082,6 +2147,13 @@ var AppInsightsCore = /** @class */ (function (_super) {
|
|
|
2082
2147
|
});
|
|
2083
2148
|
queue.length = 0;
|
|
2084
2149
|
}, interval);
|
|
2150
|
+
return _internalLogPoller;
|
|
2151
|
+
};
|
|
2152
|
+
_self.stopPollingInternalLogs = function () {
|
|
2153
|
+
if (!_internalLogPoller)
|
|
2154
|
+
return;
|
|
2155
|
+
clearInterval(_internalLogPoller);
|
|
2156
|
+
_internalLogPoller = 0;
|
|
2085
2157
|
};
|
|
2086
2158
|
function _validateTelemetryItem(telemetryItem) {
|
|
2087
2159
|
if (isNullOrUndefined(telemetryItem.name)) {
|
|
@@ -2177,7 +2249,7 @@ function addEventHandler(eventName, callback) {
|
|
|
2177
2249
|
}
|
|
2178
2250
|
var doc = getDocument();
|
|
2179
2251
|
if (doc) {
|
|
2180
|
-
result =
|
|
2252
|
+
result = attachEvent(doc, eventName, callback) || result;
|
|
2181
2253
|
}
|
|
2182
2254
|
return result;
|
|
2183
2255
|
}
|
|
@@ -2269,12 +2341,6 @@ var CoreUtils = {
|
|
|
2269
2341
|
generateW3CId: generateW3CId
|
|
2270
2342
|
};
|
|
2271
2343
|
var GuidRegex = /[xy]/g;
|
|
2272
|
-
var EventHelper = {
|
|
2273
|
-
Attach: attachEvent,
|
|
2274
|
-
AttachEvent: attachEvent,
|
|
2275
|
-
Detach: detachEvent,
|
|
2276
|
-
DetachEvent: detachEvent
|
|
2277
|
-
};
|
|
2278
2344
|
function _legacyCookieMgr(config, logger) {
|
|
2279
2345
|
var cookieMgr = _gblCookieMgr(config, logger);
|
|
2280
2346
|
var legacyCanUseCookies = CoreUtils._canUseCookies;
|
|
@@ -2657,10 +2723,6 @@ function msToTimeSpan(totalms) {
|
|
|
2657
2723
|
hour = hour.length < 2 ? "0" + hour : hour;
|
|
2658
2724
|
return (days > 0 ? days + "." : "") + hour + ":" + min + ":" + sec + "." + ms;
|
|
2659
2725
|
}
|
|
2660
|
-
function isBeaconApiSupported() {
|
|
2661
|
-
var nav = getNavigator();
|
|
2662
|
-
return ('sendBeacon' in nav && nav.sendBeacon);
|
|
2663
|
-
}
|
|
2664
2726
|
function getExtensionByName(extensions, identifier) {
|
|
2665
2727
|
var extension = null;
|
|
2666
2728
|
arrForEach(extensions, function (value) {
|
|
@@ -2681,6 +2743,7 @@ var ProcessLegacy = "ProcessLegacy";
|
|
|
2681
2743
|
var HttpMethod = "http.method";
|
|
2682
2744
|
var DEFAULT_BREEZE_ENDPOINT = "https://dc.services.visualstudio.com";
|
|
2683
2745
|
var strNotSpecified = "not_specified";
|
|
2746
|
+
var strIkey = "iKey";
|
|
2684
2747
|
|
|
2685
2748
|
var StorageType;
|
|
2686
2749
|
(function (StorageType) {
|
|
@@ -2954,7 +3017,7 @@ var Util = {
|
|
|
2954
3017
|
dump: dumpObj,
|
|
2955
3018
|
getExceptionName: getExceptionName,
|
|
2956
3019
|
addEventHandler: attachEvent,
|
|
2957
|
-
IsBeaconApiSupported:
|
|
3020
|
+
IsBeaconApiSupported: isBeaconsSupported,
|
|
2958
3021
|
getExtension: getExtensionByName
|
|
2959
3022
|
};
|
|
2960
3023
|
var UrlHelper = {
|
|
@@ -3252,14 +3315,22 @@ function _formatMessage(theEvent, errorType) {
|
|
|
3252
3315
|
return evtMessage || "";
|
|
3253
3316
|
}
|
|
3254
3317
|
function _isExceptionDetailsInternal(value) {
|
|
3255
|
-
|
|
3256
|
-
|
|
3318
|
+
try {
|
|
3319
|
+
if (isObject(value)) {
|
|
3320
|
+
return "hasFullStack" in value && "typeName" in value;
|
|
3321
|
+
}
|
|
3322
|
+
}
|
|
3323
|
+
catch (e) {
|
|
3257
3324
|
}
|
|
3258
3325
|
return false;
|
|
3259
3326
|
}
|
|
3260
3327
|
function _isExceptionInternal(value) {
|
|
3261
|
-
|
|
3262
|
-
|
|
3328
|
+
try {
|
|
3329
|
+
if (isObject(value)) {
|
|
3330
|
+
return ("ver" in value && "exceptions" in value && "properties" in value);
|
|
3331
|
+
}
|
|
3332
|
+
}
|
|
3333
|
+
catch (e) {
|
|
3263
3334
|
}
|
|
3264
3335
|
return false;
|
|
3265
3336
|
}
|
|
@@ -4034,10 +4105,15 @@ var TelemetryItemCreator = /** @class */ (function () {
|
|
|
4034
4105
|
isNullOrUndefined(envelopeName)) {
|
|
4035
4106
|
throw Error("Input doesn't contain all required fields");
|
|
4036
4107
|
}
|
|
4108
|
+
var iKey = "";
|
|
4109
|
+
if (item[strIkey]) {
|
|
4110
|
+
iKey = item[strIkey];
|
|
4111
|
+
delete item[strIkey];
|
|
4112
|
+
}
|
|
4037
4113
|
var telemetryItem = {
|
|
4038
4114
|
name: envelopeName,
|
|
4039
4115
|
time: toISOString(new Date()),
|
|
4040
|
-
iKey:
|
|
4116
|
+
iKey: iKey,
|
|
4041
4117
|
ext: systemProperties ? systemProperties : {},
|
|
4042
4118
|
tags: [],
|
|
4043
4119
|
data: {},
|
|
@@ -4973,7 +5049,7 @@ var ApplicationInsights = /** @class */ (function (_super) {
|
|
|
4973
5049
|
config.disableFlushOnUnload = stringToBoolOrDefault(config.disableFlushOnUnload, config.disableFlushOnBeforeUnload);
|
|
4974
5050
|
return config;
|
|
4975
5051
|
};
|
|
4976
|
-
ApplicationInsights.Version = "2.7.
|
|
5052
|
+
ApplicationInsights.Version = "2.7.1-nightly.202110-04";
|
|
4977
5053
|
return ApplicationInsights;
|
|
4978
5054
|
}(BaseTelemetryPlugin));
|
|
4979
5055
|
var Timing = /** @class */ (function () {
|
|
@@ -5003,18 +5079,35 @@ var Timing = /** @class */ (function () {
|
|
|
5003
5079
|
return Timing;
|
|
5004
5080
|
}());
|
|
5005
5081
|
|
|
5006
|
-
var
|
|
5007
|
-
function
|
|
5082
|
+
var BaseSendBuffer = /** @class */ (function () {
|
|
5083
|
+
function BaseSendBuffer(config) {
|
|
5008
5084
|
var _buffer = [];
|
|
5009
|
-
|
|
5085
|
+
this._get = function () {
|
|
5086
|
+
return _buffer;
|
|
5087
|
+
};
|
|
5088
|
+
this._set = function (buffer) {
|
|
5089
|
+
_buffer = buffer;
|
|
5090
|
+
return _buffer;
|
|
5091
|
+
};
|
|
5092
|
+
dynamicProto(BaseSendBuffer, this, function (_self) {
|
|
5010
5093
|
_self.enqueue = function (payload) {
|
|
5011
5094
|
_buffer.push(payload);
|
|
5012
5095
|
};
|
|
5013
5096
|
_self.count = function () {
|
|
5014
5097
|
return _buffer.length;
|
|
5015
5098
|
};
|
|
5099
|
+
_self.size = function () {
|
|
5100
|
+
var size = _buffer.length;
|
|
5101
|
+
for (var lp = 0; lp < _buffer.length; lp++) {
|
|
5102
|
+
size += _buffer[lp].length;
|
|
5103
|
+
}
|
|
5104
|
+
if (!config.emitLineDelimitedJson()) {
|
|
5105
|
+
size += 2;
|
|
5106
|
+
}
|
|
5107
|
+
return size;
|
|
5108
|
+
};
|
|
5016
5109
|
_self.clear = function () {
|
|
5017
|
-
_buffer
|
|
5110
|
+
_buffer = [];
|
|
5018
5111
|
};
|
|
5019
5112
|
_self.getItems = function () {
|
|
5020
5113
|
return _buffer.slice(0);
|
|
@@ -5028,63 +5121,58 @@ var ArraySendBuffer = /** @class */ (function () {
|
|
|
5028
5121
|
}
|
|
5029
5122
|
return null;
|
|
5030
5123
|
};
|
|
5124
|
+
});
|
|
5125
|
+
}
|
|
5126
|
+
return BaseSendBuffer;
|
|
5127
|
+
}());
|
|
5128
|
+
var ArraySendBuffer = /** @class */ (function (_super) {
|
|
5129
|
+
__extendsFn(ArraySendBuffer, _super);
|
|
5130
|
+
function ArraySendBuffer(config) {
|
|
5131
|
+
var _this = _super.call(this, config) || this;
|
|
5132
|
+
dynamicProto(ArraySendBuffer, _this, function (_self, _base) {
|
|
5031
5133
|
_self.markAsSent = function (payload) {
|
|
5032
|
-
|
|
5134
|
+
_base.clear();
|
|
5033
5135
|
};
|
|
5034
5136
|
_self.clearSent = function (payload) {
|
|
5035
5137
|
};
|
|
5036
5138
|
});
|
|
5139
|
+
return _this;
|
|
5037
5140
|
}
|
|
5038
5141
|
return ArraySendBuffer;
|
|
5039
|
-
}());
|
|
5040
|
-
var SessionStorageSendBuffer = /** @class */ (function () {
|
|
5142
|
+
}(BaseSendBuffer));
|
|
5143
|
+
var SessionStorageSendBuffer = /** @class */ (function (_super) {
|
|
5144
|
+
__extendsFn(SessionStorageSendBuffer, _super);
|
|
5041
5145
|
function SessionStorageSendBuffer(logger, config) {
|
|
5146
|
+
var _this = _super.call(this, config) || this;
|
|
5042
5147
|
var _bufferFullMessageSent = false;
|
|
5043
|
-
|
|
5044
|
-
dynamicProto(SessionStorageSendBuffer, this, function (_self) {
|
|
5148
|
+
dynamicProto(SessionStorageSendBuffer, _this, function (_self, _base) {
|
|
5045
5149
|
var bufferItems = _getBuffer(SessionStorageSendBuffer.BUFFER_KEY);
|
|
5046
5150
|
var notDeliveredItems = _getBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY);
|
|
5047
|
-
|
|
5048
|
-
if (
|
|
5049
|
-
|
|
5151
|
+
var buffer = _self._set(bufferItems.concat(notDeliveredItems));
|
|
5152
|
+
if (buffer.length > SessionStorageSendBuffer.MAX_BUFFER_SIZE) {
|
|
5153
|
+
buffer.length = SessionStorageSendBuffer.MAX_BUFFER_SIZE;
|
|
5050
5154
|
}
|
|
5051
5155
|
_setBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY, []);
|
|
5052
|
-
_setBuffer(SessionStorageSendBuffer.BUFFER_KEY,
|
|
5156
|
+
_setBuffer(SessionStorageSendBuffer.BUFFER_KEY, buffer);
|
|
5053
5157
|
_self.enqueue = function (payload) {
|
|
5054
|
-
if (
|
|
5158
|
+
if (_self.count() >= SessionStorageSendBuffer.MAX_BUFFER_SIZE) {
|
|
5055
5159
|
if (!_bufferFullMessageSent) {
|
|
5056
|
-
logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.SessionStorageBufferFull, "Maximum buffer size reached: " +
|
|
5160
|
+
logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.SessionStorageBufferFull, "Maximum buffer size reached: " + _self.count(), true);
|
|
5057
5161
|
_bufferFullMessageSent = true;
|
|
5058
5162
|
}
|
|
5059
5163
|
return;
|
|
5060
5164
|
}
|
|
5061
|
-
|
|
5062
|
-
_setBuffer(SessionStorageSendBuffer.BUFFER_KEY,
|
|
5063
|
-
};
|
|
5064
|
-
_self.count = function () {
|
|
5065
|
-
return _buffer.length;
|
|
5165
|
+
_base.enqueue(payload);
|
|
5166
|
+
_setBuffer(SessionStorageSendBuffer.BUFFER_KEY, _self._get());
|
|
5066
5167
|
};
|
|
5067
5168
|
_self.clear = function () {
|
|
5068
|
-
|
|
5069
|
-
_setBuffer(SessionStorageSendBuffer.BUFFER_KEY,
|
|
5169
|
+
_base.clear();
|
|
5170
|
+
_setBuffer(SessionStorageSendBuffer.BUFFER_KEY, _self._get());
|
|
5070
5171
|
_setBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY, []);
|
|
5071
5172
|
_bufferFullMessageSent = false;
|
|
5072
5173
|
};
|
|
5073
|
-
_self.getItems = function () {
|
|
5074
|
-
return _buffer.slice(0);
|
|
5075
|
-
};
|
|
5076
|
-
_self.batchPayloads = function (payload) {
|
|
5077
|
-
if (payload && payload.length > 0) {
|
|
5078
|
-
var batch = config.emitLineDelimitedJson() ?
|
|
5079
|
-
payload.join("\n") :
|
|
5080
|
-
"[" + payload.join(",") + "]";
|
|
5081
|
-
return batch;
|
|
5082
|
-
}
|
|
5083
|
-
return null;
|
|
5084
|
-
};
|
|
5085
5174
|
_self.markAsSent = function (payload) {
|
|
5086
|
-
|
|
5087
|
-
_setBuffer(SessionStorageSendBuffer.BUFFER_KEY, _buffer);
|
|
5175
|
+
_setBuffer(SessionStorageSendBuffer.BUFFER_KEY, _self._set(_removePayloadsFromBuffer(payload, _self._get())));
|
|
5088
5176
|
var sentElements = _getBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY);
|
|
5089
5177
|
if (sentElements instanceof Array && payload instanceof Array) {
|
|
5090
5178
|
sentElements = sentElements.concat(payload);
|
|
@@ -5115,12 +5203,12 @@ var SessionStorageSendBuffer = /** @class */ (function () {
|
|
|
5115
5203
|
prefixedKey = config.namePrefix && config.namePrefix() ? config.namePrefix() + "_" + prefixedKey : prefixedKey;
|
|
5116
5204
|
var bufferJson = utlGetSessionStorage(logger, prefixedKey);
|
|
5117
5205
|
if (bufferJson) {
|
|
5118
|
-
var
|
|
5119
|
-
if (isString(
|
|
5120
|
-
|
|
5206
|
+
var buffer_1 = getJSON().parse(bufferJson);
|
|
5207
|
+
if (isString(buffer_1)) {
|
|
5208
|
+
buffer_1 = getJSON().parse(buffer_1);
|
|
5121
5209
|
}
|
|
5122
|
-
if (
|
|
5123
|
-
return
|
|
5210
|
+
if (buffer_1 && isArray(buffer_1)) {
|
|
5211
|
+
return buffer_1;
|
|
5124
5212
|
}
|
|
5125
5213
|
}
|
|
5126
5214
|
}
|
|
@@ -5142,12 +5230,13 @@ var SessionStorageSendBuffer = /** @class */ (function () {
|
|
|
5142
5230
|
}
|
|
5143
5231
|
}
|
|
5144
5232
|
});
|
|
5233
|
+
return _this;
|
|
5145
5234
|
}
|
|
5146
5235
|
SessionStorageSendBuffer.BUFFER_KEY = "AI_buffer";
|
|
5147
5236
|
SessionStorageSendBuffer.SENT_BUFFER_KEY = "AI_sentBuffer";
|
|
5148
5237
|
SessionStorageSendBuffer.MAX_BUFFER_SIZE = 2000;
|
|
5149
5238
|
return SessionStorageSendBuffer;
|
|
5150
|
-
}());
|
|
5239
|
+
}(BaseSendBuffer));
|
|
5151
5240
|
|
|
5152
5241
|
var strBaseType = 'baseType';
|
|
5153
5242
|
var strBaseData = 'baseData';
|
|
@@ -5156,317 +5245,257 @@ var strTrue = 'true';
|
|
|
5156
5245
|
function _setValueIf(target, field, value) {
|
|
5157
5246
|
return setValue(target, field, value, isTruthy);
|
|
5158
5247
|
}
|
|
5159
|
-
|
|
5160
|
-
|
|
5161
|
-
}
|
|
5162
|
-
|
|
5163
|
-
|
|
5164
|
-
|
|
5165
|
-
|
|
5166
|
-
|
|
5167
|
-
|
|
5168
|
-
|
|
5169
|
-
|
|
5170
|
-
|
|
5171
|
-
|
|
5172
|
-
|
|
5173
|
-
|
|
5174
|
-
|
|
5175
|
-
|
|
5176
|
-
|
|
5177
|
-
|
|
5178
|
-
|
|
5179
|
-
|
|
5180
|
-
|
|
5181
|
-
|
|
5182
|
-
|
|
5183
|
-
|
|
5184
|
-
|
|
5185
|
-
var
|
|
5186
|
-
|
|
5187
|
-
|
|
5188
|
-
|
|
5189
|
-
|
|
5190
|
-
|
|
5191
|
-
|
|
5192
|
-
|
|
5193
|
-
|
|
5194
|
-
|
|
5195
|
-
|
|
5196
|
-
}
|
|
5197
|
-
|
|
5198
|
-
|
|
5199
|
-
|
|
5200
|
-
|
|
5201
|
-
|
|
5202
|
-
|
|
5203
|
-
|
|
5204
|
-
|
|
5205
|
-
|
|
5206
|
-
|
|
5207
|
-
|
|
5208
|
-
_setValueIf(envTags, CtxTagKeys.sessionId, extApp.sesId);
|
|
5209
|
-
}
|
|
5210
|
-
var extDevice = itmExt.device;
|
|
5211
|
-
if (extDevice) {
|
|
5212
|
-
_setValueIf(envTags, CtxTagKeys.deviceId, extDevice.id || extDevice.localId);
|
|
5213
|
-
_setValueIf(envTags, CtxTagKeys.deviceType, extDevice.deviceClass);
|
|
5214
|
-
_setValueIf(envTags, CtxTagKeys.deviceIp, extDevice.ip);
|
|
5215
|
-
_setValueIf(envTags, CtxTagKeys.deviceModel, extDevice.model);
|
|
5216
|
-
_setValueIf(envTags, CtxTagKeys.deviceType, extDevice.deviceType);
|
|
5217
|
-
}
|
|
5218
|
-
var web = item.ext.web;
|
|
5219
|
-
if (web) {
|
|
5220
|
-
_setValueIf(envTags, CtxTagKeys.deviceLanguage, web.browserLang);
|
|
5221
|
-
_setValueIf(envTags, CtxTagKeys.deviceBrowserVersion, web.browserVer);
|
|
5222
|
-
_setValueIf(envTags, CtxTagKeys.deviceBrowser, web.browser);
|
|
5223
|
-
var envData = env.data = env.data || {};
|
|
5224
|
-
var envBaseData = envData[strBaseData] = envData[strBaseData] || {};
|
|
5225
|
-
var envProps = envBaseData[strProperties$1] = envBaseData[strProperties$1] || {};
|
|
5226
|
-
_setValueIf(envProps, 'domain', web.domain);
|
|
5227
|
-
_setValueIf(envProps, 'isManual', web.isManual ? strTrue : null);
|
|
5228
|
-
_setValueIf(envProps, 'screenRes', web.screenRes);
|
|
5229
|
-
_setValueIf(envProps, 'userConsent', web.userConsent ? strTrue : null);
|
|
5230
|
-
}
|
|
5231
|
-
var extOs = itmExt.os;
|
|
5232
|
-
if (extOs) {
|
|
5233
|
-
_setValueIf(envTags, CtxTagKeys.deviceOS, extOs.name);
|
|
5234
|
-
}
|
|
5235
|
-
var extTrace = itmExt.trace;
|
|
5236
|
-
if (extTrace) {
|
|
5237
|
-
_setValueIf(envTags, CtxTagKeys.operationParentId, extTrace.parentID);
|
|
5238
|
-
_setValueIf(envTags, CtxTagKeys.operationName, extTrace.name);
|
|
5239
|
-
_setValueIf(envTags, CtxTagKeys.operationId, extTrace.traceID);
|
|
5240
|
-
}
|
|
5241
|
-
var tgs = {};
|
|
5242
|
-
for (var i = itmTags.length - 1; i >= 0; i--) {
|
|
5243
|
-
var tg = itmTags[i];
|
|
5244
|
-
objForEachKey(tg, function (key, value) {
|
|
5245
|
-
tgs[key] = value;
|
|
5246
|
-
});
|
|
5247
|
-
itmTags.splice(i, 1);
|
|
5248
|
-
}
|
|
5249
|
-
objForEachKey(itmTags, function (tg, value) {
|
|
5250
|
-
tgs[tg] = value;
|
|
5248
|
+
function _extractPartAExtensions(item, env) {
|
|
5249
|
+
var envTags = env.tags = env.tags || {};
|
|
5250
|
+
var itmExt = item.ext = item.ext || {};
|
|
5251
|
+
var itmTags = item.tags = item.tags || [];
|
|
5252
|
+
var extUser = itmExt.user;
|
|
5253
|
+
if (extUser) {
|
|
5254
|
+
_setValueIf(envTags, CtxTagKeys.userAuthUserId, extUser.authId);
|
|
5255
|
+
_setValueIf(envTags, CtxTagKeys.userId, extUser.id || extUser.localId);
|
|
5256
|
+
}
|
|
5257
|
+
var extApp = itmExt.app;
|
|
5258
|
+
if (extApp) {
|
|
5259
|
+
_setValueIf(envTags, CtxTagKeys.sessionId, extApp.sesId);
|
|
5260
|
+
}
|
|
5261
|
+
var extDevice = itmExt.device;
|
|
5262
|
+
if (extDevice) {
|
|
5263
|
+
_setValueIf(envTags, CtxTagKeys.deviceId, extDevice.id || extDevice.localId);
|
|
5264
|
+
_setValueIf(envTags, CtxTagKeys.deviceType, extDevice.deviceClass);
|
|
5265
|
+
_setValueIf(envTags, CtxTagKeys.deviceIp, extDevice.ip);
|
|
5266
|
+
_setValueIf(envTags, CtxTagKeys.deviceModel, extDevice.model);
|
|
5267
|
+
_setValueIf(envTags, CtxTagKeys.deviceType, extDevice.deviceType);
|
|
5268
|
+
}
|
|
5269
|
+
var web = item.ext.web;
|
|
5270
|
+
if (web) {
|
|
5271
|
+
_setValueIf(envTags, CtxTagKeys.deviceLanguage, web.browserLang);
|
|
5272
|
+
_setValueIf(envTags, CtxTagKeys.deviceBrowserVersion, web.browserVer);
|
|
5273
|
+
_setValueIf(envTags, CtxTagKeys.deviceBrowser, web.browser);
|
|
5274
|
+
var envData = env.data = env.data || {};
|
|
5275
|
+
var envBaseData = envData[strBaseData] = envData[strBaseData] || {};
|
|
5276
|
+
var envProps = envBaseData[strProperties$1] = envBaseData[strProperties$1] || {};
|
|
5277
|
+
_setValueIf(envProps, 'domain', web.domain);
|
|
5278
|
+
_setValueIf(envProps, 'isManual', web.isManual ? strTrue : null);
|
|
5279
|
+
_setValueIf(envProps, 'screenRes', web.screenRes);
|
|
5280
|
+
_setValueIf(envProps, 'userConsent', web.userConsent ? strTrue : null);
|
|
5281
|
+
}
|
|
5282
|
+
var extOs = itmExt.os;
|
|
5283
|
+
if (extOs) {
|
|
5284
|
+
_setValueIf(envTags, CtxTagKeys.deviceOS, extOs.name);
|
|
5285
|
+
}
|
|
5286
|
+
var extTrace = itmExt.trace;
|
|
5287
|
+
if (extTrace) {
|
|
5288
|
+
_setValueIf(envTags, CtxTagKeys.operationParentId, extTrace.parentID);
|
|
5289
|
+
_setValueIf(envTags, CtxTagKeys.operationName, extTrace.name);
|
|
5290
|
+
_setValueIf(envTags, CtxTagKeys.operationId, extTrace.traceID);
|
|
5291
|
+
}
|
|
5292
|
+
var tgs = {};
|
|
5293
|
+
for (var i = itmTags.length - 1; i >= 0; i--) {
|
|
5294
|
+
var tg = itmTags[i];
|
|
5295
|
+
objForEachKey(tg, function (key, value) {
|
|
5296
|
+
tgs[key] = value;
|
|
5251
5297
|
});
|
|
5252
|
-
|
|
5253
|
-
|
|
5254
|
-
|
|
5255
|
-
|
|
5256
|
-
|
|
5257
|
-
};
|
|
5258
|
-
|
|
5259
|
-
|
|
5260
|
-
|
|
5261
|
-
|
|
5262
|
-
|
|
5263
|
-
|
|
5264
|
-
|
|
5265
|
-
|
|
5266
|
-
|
|
5267
|
-
|
|
5268
|
-
__extendsFn(DependencyEnvelopeCreator, _super);
|
|
5269
|
-
function DependencyEnvelopeCreator() {
|
|
5270
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
5271
|
-
}
|
|
5272
|
-
DependencyEnvelopeCreator.prototype.Create = function (logger, telemetryItem, customUndefinedValue) {
|
|
5273
|
-
_super.prototype.Init.call(this, logger, telemetryItem);
|
|
5274
|
-
var customMeasurements = telemetryItem[strBaseData].measurements || {};
|
|
5275
|
-
var customProperties = telemetryItem[strBaseData][strProperties$1] || {};
|
|
5276
|
-
EnvelopeCreator.extractPropsAndMeasurements(telemetryItem.data, customProperties, customMeasurements);
|
|
5277
|
-
if (!isNullOrUndefined(customUndefinedValue)) {
|
|
5278
|
-
EnvelopeCreator.convertPropsUndefinedToCustomDefinedValue(customProperties, customUndefinedValue);
|
|
5279
|
-
}
|
|
5280
|
-
var bd = telemetryItem[strBaseData];
|
|
5281
|
-
if (isNullOrUndefined(bd)) {
|
|
5282
|
-
logger.warnToConsole("Invalid input for dependency data");
|
|
5283
|
-
return null;
|
|
5284
|
-
}
|
|
5285
|
-
var method = bd[strProperties$1] && bd[strProperties$1][HttpMethod] ? bd[strProperties$1][HttpMethod] : "GET";
|
|
5286
|
-
var remoteDepData = new RemoteDependencyData(logger, bd.id, bd.target, bd.name, bd.duration, bd.success, bd.responseCode, method, bd.type, bd.correlationContext, customProperties, customMeasurements);
|
|
5287
|
-
var data = new Data(RemoteDependencyData.dataType, remoteDepData);
|
|
5288
|
-
return EnvelopeCreator.createEnvelope(logger, RemoteDependencyData.envelopeType, telemetryItem, data);
|
|
5289
|
-
};
|
|
5290
|
-
DependencyEnvelopeCreator.DependencyEnvelopeCreator = new DependencyEnvelopeCreator();
|
|
5291
|
-
return DependencyEnvelopeCreator;
|
|
5292
|
-
}(EnvelopeCreator));
|
|
5293
|
-
var EventEnvelopeCreator = /** @class */ (function (_super) {
|
|
5294
|
-
__extendsFn(EventEnvelopeCreator, _super);
|
|
5295
|
-
function EventEnvelopeCreator() {
|
|
5296
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
5297
|
-
}
|
|
5298
|
-
EventEnvelopeCreator.prototype.Create = function (logger, telemetryItem, customUndefinedValue) {
|
|
5299
|
-
_super.prototype.Init.call(this, logger, telemetryItem);
|
|
5300
|
-
var customProperties = {};
|
|
5301
|
-
var customMeasurements = {};
|
|
5302
|
-
if (telemetryItem[strBaseType] !== Event$1.dataType) {
|
|
5303
|
-
customProperties['baseTypeSource'] = telemetryItem[strBaseType];
|
|
5304
|
-
}
|
|
5305
|
-
if (telemetryItem[strBaseType] === Event$1.dataType) {
|
|
5306
|
-
customProperties = telemetryItem[strBaseData][strProperties$1] || {};
|
|
5307
|
-
customMeasurements = telemetryItem[strBaseData].measurements || {};
|
|
5308
|
-
}
|
|
5309
|
-
else {
|
|
5310
|
-
if (telemetryItem[strBaseData]) {
|
|
5311
|
-
EnvelopeCreator.extractPropsAndMeasurements(telemetryItem[strBaseData], customProperties, customMeasurements);
|
|
5298
|
+
itmTags.splice(i, 1);
|
|
5299
|
+
}
|
|
5300
|
+
objForEachKey(itmTags, function (tg, value) {
|
|
5301
|
+
tgs[tg] = value;
|
|
5302
|
+
});
|
|
5303
|
+
var theTags = __assignFn(__assignFn({}, envTags), tgs);
|
|
5304
|
+
if (!theTags[CtxTagKeys.internalSdkVersion]) {
|
|
5305
|
+
theTags[CtxTagKeys.internalSdkVersion] = "javascript:" + EnvelopeCreator.Version;
|
|
5306
|
+
}
|
|
5307
|
+
env.tags = optimizeObject(theTags);
|
|
5308
|
+
}
|
|
5309
|
+
function _extractPropsAndMeasurements(data, properties, measurements) {
|
|
5310
|
+
if (!isNullOrUndefined(data)) {
|
|
5311
|
+
objForEachKey(data, function (key, value) {
|
|
5312
|
+
if (isNumber(value)) {
|
|
5313
|
+
measurements[key] = value;
|
|
5312
5314
|
}
|
|
5313
|
-
|
|
5314
|
-
EnvelopeCreator.extractPropsAndMeasurements(telemetryItem.data, customProperties, customMeasurements);
|
|
5315
|
-
if (!isNullOrUndefined(customUndefinedValue)) {
|
|
5316
|
-
EnvelopeCreator.convertPropsUndefinedToCustomDefinedValue(customProperties, customUndefinedValue);
|
|
5317
|
-
}
|
|
5318
|
-
var eventName = telemetryItem[strBaseData].name;
|
|
5319
|
-
var eventData = new Event$1(logger, eventName, customProperties, customMeasurements);
|
|
5320
|
-
var data = new Data(Event$1.dataType, eventData);
|
|
5321
|
-
return EnvelopeCreator.createEnvelope(logger, Event$1.envelopeType, telemetryItem, data);
|
|
5322
|
-
};
|
|
5323
|
-
EventEnvelopeCreator.EventEnvelopeCreator = new EventEnvelopeCreator();
|
|
5324
|
-
return EventEnvelopeCreator;
|
|
5325
|
-
}(EnvelopeCreator));
|
|
5326
|
-
var ExceptionEnvelopeCreator = /** @class */ (function (_super) {
|
|
5327
|
-
__extendsFn(ExceptionEnvelopeCreator, _super);
|
|
5328
|
-
function ExceptionEnvelopeCreator() {
|
|
5329
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
5330
|
-
}
|
|
5331
|
-
ExceptionEnvelopeCreator.prototype.Create = function (logger, telemetryItem, customUndefinedValue) {
|
|
5332
|
-
_super.prototype.Init.call(this, logger, telemetryItem);
|
|
5333
|
-
var customMeasurements = telemetryItem[strBaseData].measurements || {};
|
|
5334
|
-
var customProperties = telemetryItem[strBaseData][strProperties$1] || {};
|
|
5335
|
-
EnvelopeCreator.extractPropsAndMeasurements(telemetryItem.data, customProperties, customMeasurements);
|
|
5336
|
-
if (!isNullOrUndefined(customUndefinedValue)) {
|
|
5337
|
-
EnvelopeCreator.convertPropsUndefinedToCustomDefinedValue(customProperties, customUndefinedValue);
|
|
5338
|
-
}
|
|
5339
|
-
var bd = telemetryItem[strBaseData];
|
|
5340
|
-
var exData = Exception.CreateFromInterface(logger, bd, customProperties, customMeasurements);
|
|
5341
|
-
var data = new Data(Exception.dataType, exData);
|
|
5342
|
-
return EnvelopeCreator.createEnvelope(logger, Exception.envelopeType, telemetryItem, data);
|
|
5343
|
-
};
|
|
5344
|
-
ExceptionEnvelopeCreator.ExceptionEnvelopeCreator = new ExceptionEnvelopeCreator();
|
|
5345
|
-
return ExceptionEnvelopeCreator;
|
|
5346
|
-
}(EnvelopeCreator));
|
|
5347
|
-
var MetricEnvelopeCreator = /** @class */ (function (_super) {
|
|
5348
|
-
__extendsFn(MetricEnvelopeCreator, _super);
|
|
5349
|
-
function MetricEnvelopeCreator() {
|
|
5350
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
5351
|
-
}
|
|
5352
|
-
MetricEnvelopeCreator.prototype.Create = function (logger, telemetryItem, customUndefinedValue) {
|
|
5353
|
-
_super.prototype.Init.call(this, logger, telemetryItem);
|
|
5354
|
-
var baseData = telemetryItem[strBaseData];
|
|
5355
|
-
var props = baseData[strProperties$1] || {};
|
|
5356
|
-
var measurements = baseData.measurements || {};
|
|
5357
|
-
EnvelopeCreator.extractPropsAndMeasurements(telemetryItem.data, props, measurements);
|
|
5358
|
-
if (!isNullOrUndefined(customUndefinedValue)) {
|
|
5359
|
-
EnvelopeCreator.convertPropsUndefinedToCustomDefinedValue(props, customUndefinedValue);
|
|
5360
|
-
}
|
|
5361
|
-
var baseMetricData = new Metric(logger, baseData.name, baseData.average, baseData.sampleCount, baseData.min, baseData.max, props, measurements);
|
|
5362
|
-
var data = new Data(Metric.dataType, baseMetricData);
|
|
5363
|
-
return EnvelopeCreator.createEnvelope(logger, Metric.envelopeType, telemetryItem, data);
|
|
5364
|
-
};
|
|
5365
|
-
MetricEnvelopeCreator.MetricEnvelopeCreator = new MetricEnvelopeCreator();
|
|
5366
|
-
return MetricEnvelopeCreator;
|
|
5367
|
-
}(EnvelopeCreator));
|
|
5368
|
-
var PageViewEnvelopeCreator = /** @class */ (function (_super) {
|
|
5369
|
-
__extendsFn(PageViewEnvelopeCreator, _super);
|
|
5370
|
-
function PageViewEnvelopeCreator() {
|
|
5371
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
5372
|
-
}
|
|
5373
|
-
PageViewEnvelopeCreator.prototype.Create = function (logger, telemetryItem, customUndefinedValue) {
|
|
5374
|
-
_super.prototype.Init.call(this, logger, telemetryItem);
|
|
5375
|
-
var strDuration = "duration";
|
|
5376
|
-
var duration;
|
|
5377
|
-
var baseData = telemetryItem[strBaseData];
|
|
5378
|
-
if (!isNullOrUndefined(baseData) &&
|
|
5379
|
-
!isNullOrUndefined(baseData[strProperties$1]) &&
|
|
5380
|
-
!isNullOrUndefined(baseData[strProperties$1][strDuration])) {
|
|
5381
|
-
duration = baseData[strProperties$1][strDuration];
|
|
5382
|
-
delete baseData[strProperties$1][strDuration];
|
|
5383
|
-
}
|
|
5384
|
-
else if (!isNullOrUndefined(telemetryItem.data) &&
|
|
5385
|
-
!isNullOrUndefined(telemetryItem.data[strDuration])) {
|
|
5386
|
-
duration = telemetryItem.data[strDuration];
|
|
5387
|
-
delete telemetryItem.data[strDuration];
|
|
5388
|
-
}
|
|
5389
|
-
var bd = telemetryItem[strBaseData];
|
|
5390
|
-
var currentContextId;
|
|
5391
|
-
if (((telemetryItem.ext || {}).trace || {}).traceID) {
|
|
5392
|
-
currentContextId = telemetryItem.ext.trace.traceID;
|
|
5393
|
-
}
|
|
5394
|
-
var id = bd.id || currentContextId;
|
|
5395
|
-
var name = bd.name;
|
|
5396
|
-
var url = bd.uri;
|
|
5397
|
-
var properties = bd[strProperties$1] || {};
|
|
5398
|
-
var measurements = bd.measurements || {};
|
|
5399
|
-
if (!isNullOrUndefined(bd.refUri)) {
|
|
5400
|
-
properties["refUri"] = bd.refUri;
|
|
5401
|
-
}
|
|
5402
|
-
if (!isNullOrUndefined(bd.pageType)) {
|
|
5403
|
-
properties["pageType"] = bd.pageType;
|
|
5404
|
-
}
|
|
5405
|
-
if (!isNullOrUndefined(bd.isLoggedIn)) {
|
|
5406
|
-
properties["isLoggedIn"] = bd.isLoggedIn.toString();
|
|
5407
|
-
}
|
|
5408
|
-
if (!isNullOrUndefined(bd[strProperties$1])) {
|
|
5409
|
-
var pageTags = bd[strProperties$1];
|
|
5410
|
-
objForEachKey(pageTags, function (key, value) {
|
|
5315
|
+
else if (isString(value)) {
|
|
5411
5316
|
properties[key] = value;
|
|
5412
|
-
}
|
|
5413
|
-
|
|
5414
|
-
|
|
5415
|
-
|
|
5416
|
-
|
|
5417
|
-
|
|
5418
|
-
|
|
5419
|
-
|
|
5420
|
-
|
|
5421
|
-
|
|
5422
|
-
|
|
5423
|
-
|
|
5424
|
-
}
|
|
5425
|
-
|
|
5426
|
-
|
|
5427
|
-
|
|
5428
|
-
|
|
5429
|
-
}
|
|
5430
|
-
|
|
5431
|
-
|
|
5432
|
-
|
|
5433
|
-
|
|
5434
|
-
|
|
5435
|
-
|
|
5436
|
-
|
|
5437
|
-
|
|
5438
|
-
|
|
5439
|
-
|
|
5440
|
-
|
|
5441
|
-
|
|
5442
|
-
|
|
5443
|
-
|
|
5444
|
-
|
|
5445
|
-
|
|
5446
|
-
|
|
5447
|
-
|
|
5448
|
-
|
|
5449
|
-
|
|
5450
|
-
|
|
5451
|
-
|
|
5452
|
-
|
|
5453
|
-
|
|
5454
|
-
|
|
5455
|
-
|
|
5456
|
-
|
|
5457
|
-
|
|
5458
|
-
|
|
5459
|
-
|
|
5460
|
-
|
|
5461
|
-
|
|
5462
|
-
|
|
5463
|
-
|
|
5464
|
-
|
|
5465
|
-
|
|
5466
|
-
|
|
5467
|
-
|
|
5468
|
-
|
|
5469
|
-
|
|
5317
|
+
}
|
|
5318
|
+
else if (hasJSON()) {
|
|
5319
|
+
properties[key] = getJSON().stringify(value);
|
|
5320
|
+
}
|
|
5321
|
+
});
|
|
5322
|
+
}
|
|
5323
|
+
}
|
|
5324
|
+
function _convertPropsUndefinedToCustomDefinedValue(properties, customUndefinedValue) {
|
|
5325
|
+
if (!isNullOrUndefined(properties)) {
|
|
5326
|
+
objForEachKey(properties, function (key, value) {
|
|
5327
|
+
properties[key] = value || customUndefinedValue;
|
|
5328
|
+
});
|
|
5329
|
+
}
|
|
5330
|
+
}
|
|
5331
|
+
function _createEnvelope(logger, envelopeType, telemetryItem, data) {
|
|
5332
|
+
var envelope = new Envelope(logger, data, envelopeType);
|
|
5333
|
+
_setValueIf(envelope, 'sampleRate', telemetryItem[SampleRate]);
|
|
5334
|
+
if ((telemetryItem[strBaseData] || {}).startTime) {
|
|
5335
|
+
envelope.time = toISOString(telemetryItem[strBaseData].startTime);
|
|
5336
|
+
}
|
|
5337
|
+
envelope.iKey = telemetryItem.iKey;
|
|
5338
|
+
var iKeyNoDashes = telemetryItem.iKey.replace(/-/g, "");
|
|
5339
|
+
envelope.name = envelope.name.replace("{0}", iKeyNoDashes);
|
|
5340
|
+
_extractPartAExtensions(telemetryItem, envelope);
|
|
5341
|
+
telemetryItem.tags = telemetryItem.tags || [];
|
|
5342
|
+
return optimizeObject(envelope);
|
|
5343
|
+
}
|
|
5344
|
+
function EnvelopeCreatorInit(logger, telemetryItem) {
|
|
5345
|
+
if (isNullOrUndefined(telemetryItem[strBaseData])) {
|
|
5346
|
+
logger.throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.TelemetryEnvelopeInvalid, "telemetryItem.baseData cannot be null.");
|
|
5347
|
+
}
|
|
5348
|
+
}
|
|
5349
|
+
var EnvelopeCreator = {
|
|
5350
|
+
Version: "2.7.1-nightly.202110-04"
|
|
5351
|
+
};
|
|
5352
|
+
function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
|
|
5353
|
+
EnvelopeCreatorInit(logger, telemetryItem);
|
|
5354
|
+
var customMeasurements = telemetryItem[strBaseData].measurements || {};
|
|
5355
|
+
var customProperties = telemetryItem[strBaseData][strProperties$1] || {};
|
|
5356
|
+
_extractPropsAndMeasurements(telemetryItem.data, customProperties, customMeasurements);
|
|
5357
|
+
if (!isNullOrUndefined(customUndefinedValue)) {
|
|
5358
|
+
_convertPropsUndefinedToCustomDefinedValue(customProperties, customUndefinedValue);
|
|
5359
|
+
}
|
|
5360
|
+
var bd = telemetryItem[strBaseData];
|
|
5361
|
+
if (isNullOrUndefined(bd)) {
|
|
5362
|
+
logger.warnToConsole("Invalid input for dependency data");
|
|
5363
|
+
return null;
|
|
5364
|
+
}
|
|
5365
|
+
var method = bd[strProperties$1] && bd[strProperties$1][HttpMethod] ? bd[strProperties$1][HttpMethod] : "GET";
|
|
5366
|
+
var remoteDepData = new RemoteDependencyData(logger, bd.id, bd.target, bd.name, bd.duration, bd.success, bd.responseCode, method, bd.type, bd.correlationContext, customProperties, customMeasurements);
|
|
5367
|
+
var data = new Data(RemoteDependencyData.dataType, remoteDepData);
|
|
5368
|
+
return _createEnvelope(logger, RemoteDependencyData.envelopeType, telemetryItem, data);
|
|
5369
|
+
}
|
|
5370
|
+
function EventEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
|
|
5371
|
+
EnvelopeCreatorInit(logger, telemetryItem);
|
|
5372
|
+
var customProperties = {};
|
|
5373
|
+
var customMeasurements = {};
|
|
5374
|
+
if (telemetryItem[strBaseType] !== Event$1.dataType) {
|
|
5375
|
+
customProperties['baseTypeSource'] = telemetryItem[strBaseType];
|
|
5376
|
+
}
|
|
5377
|
+
if (telemetryItem[strBaseType] === Event$1.dataType) {
|
|
5378
|
+
customProperties = telemetryItem[strBaseData][strProperties$1] || {};
|
|
5379
|
+
customMeasurements = telemetryItem[strBaseData].measurements || {};
|
|
5380
|
+
}
|
|
5381
|
+
else {
|
|
5382
|
+
if (telemetryItem[strBaseData]) {
|
|
5383
|
+
_extractPropsAndMeasurements(telemetryItem[strBaseData], customProperties, customMeasurements);
|
|
5384
|
+
}
|
|
5385
|
+
}
|
|
5386
|
+
_extractPropsAndMeasurements(telemetryItem.data, customProperties, customMeasurements);
|
|
5387
|
+
if (!isNullOrUndefined(customUndefinedValue)) {
|
|
5388
|
+
_convertPropsUndefinedToCustomDefinedValue(customProperties, customUndefinedValue);
|
|
5389
|
+
}
|
|
5390
|
+
var eventName = telemetryItem[strBaseData].name;
|
|
5391
|
+
var eventData = new Event$1(logger, eventName, customProperties, customMeasurements);
|
|
5392
|
+
var data = new Data(Event$1.dataType, eventData);
|
|
5393
|
+
return _createEnvelope(logger, Event$1.envelopeType, telemetryItem, data);
|
|
5394
|
+
}
|
|
5395
|
+
function ExceptionEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
|
|
5396
|
+
EnvelopeCreatorInit(logger, telemetryItem);
|
|
5397
|
+
var customMeasurements = telemetryItem[strBaseData].measurements || {};
|
|
5398
|
+
var customProperties = telemetryItem[strBaseData][strProperties$1] || {};
|
|
5399
|
+
_extractPropsAndMeasurements(telemetryItem.data, customProperties, customMeasurements);
|
|
5400
|
+
if (!isNullOrUndefined(customUndefinedValue)) {
|
|
5401
|
+
_convertPropsUndefinedToCustomDefinedValue(customProperties, customUndefinedValue);
|
|
5402
|
+
}
|
|
5403
|
+
var bd = telemetryItem[strBaseData];
|
|
5404
|
+
var exData = Exception.CreateFromInterface(logger, bd, customProperties, customMeasurements);
|
|
5405
|
+
var data = new Data(Exception.dataType, exData);
|
|
5406
|
+
return _createEnvelope(logger, Exception.envelopeType, telemetryItem, data);
|
|
5407
|
+
}
|
|
5408
|
+
function MetricEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
|
|
5409
|
+
EnvelopeCreatorInit(logger, telemetryItem);
|
|
5410
|
+
var baseData = telemetryItem[strBaseData];
|
|
5411
|
+
var props = baseData[strProperties$1] || {};
|
|
5412
|
+
var measurements = baseData.measurements || {};
|
|
5413
|
+
_extractPropsAndMeasurements(telemetryItem.data, props, measurements);
|
|
5414
|
+
if (!isNullOrUndefined(customUndefinedValue)) {
|
|
5415
|
+
_convertPropsUndefinedToCustomDefinedValue(props, customUndefinedValue);
|
|
5416
|
+
}
|
|
5417
|
+
var baseMetricData = new Metric(logger, baseData.name, baseData.average, baseData.sampleCount, baseData.min, baseData.max, props, measurements);
|
|
5418
|
+
var data = new Data(Metric.dataType, baseMetricData);
|
|
5419
|
+
return _createEnvelope(logger, Metric.envelopeType, telemetryItem, data);
|
|
5420
|
+
}
|
|
5421
|
+
function PageViewEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
|
|
5422
|
+
EnvelopeCreatorInit(logger, telemetryItem);
|
|
5423
|
+
var strDuration = "duration";
|
|
5424
|
+
var duration;
|
|
5425
|
+
var baseData = telemetryItem[strBaseData];
|
|
5426
|
+
if (!isNullOrUndefined(baseData) &&
|
|
5427
|
+
!isNullOrUndefined(baseData[strProperties$1]) &&
|
|
5428
|
+
!isNullOrUndefined(baseData[strProperties$1][strDuration])) {
|
|
5429
|
+
duration = baseData[strProperties$1][strDuration];
|
|
5430
|
+
delete baseData[strProperties$1][strDuration];
|
|
5431
|
+
}
|
|
5432
|
+
else if (!isNullOrUndefined(telemetryItem.data) &&
|
|
5433
|
+
!isNullOrUndefined(telemetryItem.data[strDuration])) {
|
|
5434
|
+
duration = telemetryItem.data[strDuration];
|
|
5435
|
+
delete telemetryItem.data[strDuration];
|
|
5436
|
+
}
|
|
5437
|
+
var bd = telemetryItem[strBaseData];
|
|
5438
|
+
var currentContextId;
|
|
5439
|
+
if (((telemetryItem.ext || {}).trace || {}).traceID) {
|
|
5440
|
+
currentContextId = telemetryItem.ext.trace.traceID;
|
|
5441
|
+
}
|
|
5442
|
+
var id = bd.id || currentContextId;
|
|
5443
|
+
var name = bd.name;
|
|
5444
|
+
var url = bd.uri;
|
|
5445
|
+
var properties = bd[strProperties$1] || {};
|
|
5446
|
+
var measurements = bd.measurements || {};
|
|
5447
|
+
if (!isNullOrUndefined(bd.refUri)) {
|
|
5448
|
+
properties["refUri"] = bd.refUri;
|
|
5449
|
+
}
|
|
5450
|
+
if (!isNullOrUndefined(bd.pageType)) {
|
|
5451
|
+
properties["pageType"] = bd.pageType;
|
|
5452
|
+
}
|
|
5453
|
+
if (!isNullOrUndefined(bd.isLoggedIn)) {
|
|
5454
|
+
properties["isLoggedIn"] = bd.isLoggedIn.toString();
|
|
5455
|
+
}
|
|
5456
|
+
if (!isNullOrUndefined(bd[strProperties$1])) {
|
|
5457
|
+
var pageTags = bd[strProperties$1];
|
|
5458
|
+
objForEachKey(pageTags, function (key, value) {
|
|
5459
|
+
properties[key] = value;
|
|
5460
|
+
});
|
|
5461
|
+
}
|
|
5462
|
+
_extractPropsAndMeasurements(telemetryItem.data, properties, measurements);
|
|
5463
|
+
if (!isNullOrUndefined(customUndefinedValue)) {
|
|
5464
|
+
_convertPropsUndefinedToCustomDefinedValue(properties, customUndefinedValue);
|
|
5465
|
+
}
|
|
5466
|
+
var pageViewData = new PageView(logger, name, url, duration, properties, measurements, id);
|
|
5467
|
+
var data = new Data(PageView.dataType, pageViewData);
|
|
5468
|
+
return _createEnvelope(logger, PageView.envelopeType, telemetryItem, data);
|
|
5469
|
+
}
|
|
5470
|
+
function PageViewPerformanceEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
|
|
5471
|
+
EnvelopeCreatorInit(logger, telemetryItem);
|
|
5472
|
+
var bd = telemetryItem[strBaseData];
|
|
5473
|
+
var name = bd.name;
|
|
5474
|
+
var url = bd.uri || bd.url;
|
|
5475
|
+
var properties = bd[strProperties$1] || {};
|
|
5476
|
+
var measurements = bd.measurements || {};
|
|
5477
|
+
_extractPropsAndMeasurements(telemetryItem.data, properties, measurements);
|
|
5478
|
+
if (!isNullOrUndefined(customUndefinedValue)) {
|
|
5479
|
+
_convertPropsUndefinedToCustomDefinedValue(properties, customUndefinedValue);
|
|
5480
|
+
}
|
|
5481
|
+
var baseData = new PageViewPerformance(logger, name, url, undefined, properties, measurements, bd);
|
|
5482
|
+
var data = new Data(PageViewPerformance.dataType, baseData);
|
|
5483
|
+
return _createEnvelope(logger, PageViewPerformance.envelopeType, telemetryItem, data);
|
|
5484
|
+
}
|
|
5485
|
+
function TraceEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
|
|
5486
|
+
EnvelopeCreatorInit(logger, telemetryItem);
|
|
5487
|
+
var message = telemetryItem[strBaseData].message;
|
|
5488
|
+
var severityLevel = telemetryItem[strBaseData].severityLevel;
|
|
5489
|
+
var props = telemetryItem[strBaseData][strProperties$1] || {};
|
|
5490
|
+
var measurements = telemetryItem[strBaseData].measurements || {};
|
|
5491
|
+
_extractPropsAndMeasurements(telemetryItem.data, props, measurements);
|
|
5492
|
+
if (!isNullOrUndefined(customUndefinedValue)) {
|
|
5493
|
+
_convertPropsUndefinedToCustomDefinedValue(props, customUndefinedValue);
|
|
5494
|
+
}
|
|
5495
|
+
var baseData = new Trace(logger, message, severityLevel, props, measurements);
|
|
5496
|
+
var data = new Data(Trace.dataType, baseData);
|
|
5497
|
+
return _createEnvelope(logger, Trace.envelopeType, telemetryItem, data);
|
|
5498
|
+
}
|
|
5470
5499
|
|
|
5471
5500
|
var Serializer = /** @class */ (function () {
|
|
5472
5501
|
function Serializer(logger) {
|
|
@@ -5622,8 +5651,8 @@ var OfflineListener = /** @class */ (function () {
|
|
|
5622
5651
|
dynamicProto(OfflineListener, this, function (_self) {
|
|
5623
5652
|
try {
|
|
5624
5653
|
if (_window) {
|
|
5625
|
-
if (
|
|
5626
|
-
|
|
5654
|
+
if (attachEvent(_window, 'online', _setOnline)) {
|
|
5655
|
+
attachEvent(_window, 'offline', _setOffline);
|
|
5627
5656
|
isListening = true;
|
|
5628
5657
|
}
|
|
5629
5658
|
}
|
|
@@ -5673,6 +5702,7 @@ var OfflineListener = /** @class */ (function () {
|
|
|
5673
5702
|
}());
|
|
5674
5703
|
var Offline = OfflineListener.Offline;
|
|
5675
5704
|
|
|
5705
|
+
var MIN_INPUT_LENGTH = 8;
|
|
5676
5706
|
var HashCodeScoreGenerator = /** @class */ (function () {
|
|
5677
5707
|
function HashCodeScoreGenerator() {
|
|
5678
5708
|
}
|
|
@@ -5684,7 +5714,7 @@ var HashCodeScoreGenerator = /** @class */ (function () {
|
|
|
5684
5714
|
if (input === "") {
|
|
5685
5715
|
return 0;
|
|
5686
5716
|
}
|
|
5687
|
-
while (input.length <
|
|
5717
|
+
while (input.length < MIN_INPUT_LENGTH) {
|
|
5688
5718
|
input = input.concat(input);
|
|
5689
5719
|
}
|
|
5690
5720
|
var hash = 5381;
|
|
@@ -5695,43 +5725,43 @@ var HashCodeScoreGenerator = /** @class */ (function () {
|
|
|
5695
5725
|
return Math.abs(hash);
|
|
5696
5726
|
};
|
|
5697
5727
|
HashCodeScoreGenerator.INT_MAX_VALUE = 2147483647;
|
|
5698
|
-
HashCodeScoreGenerator.MIN_INPUT_LENGTH = 8;
|
|
5699
5728
|
return HashCodeScoreGenerator;
|
|
5700
5729
|
}());
|
|
5701
5730
|
|
|
5702
5731
|
var SamplingScoreGenerator = /** @class */ (function () {
|
|
5703
5732
|
function SamplingScoreGenerator() {
|
|
5704
|
-
|
|
5705
|
-
|
|
5733
|
+
var _self = this;
|
|
5734
|
+
var hashCodeGenerator = new HashCodeScoreGenerator();
|
|
5735
|
+
var keys = new ContextTagKeys();
|
|
5736
|
+
_self.getSamplingScore = function (item) {
|
|
5737
|
+
var score = 0;
|
|
5738
|
+
if (item.tags && item.tags[keys.userId]) {
|
|
5739
|
+
score = hashCodeGenerator.getHashCodeScore(item.tags[keys.userId]);
|
|
5740
|
+
}
|
|
5741
|
+
else if (item.ext && item.ext.user && item.ext.user.id) {
|
|
5742
|
+
score = hashCodeGenerator.getHashCodeScore(item.ext.user.id);
|
|
5743
|
+
}
|
|
5744
|
+
else if (item.tags && item.tags[keys.operationId]) {
|
|
5745
|
+
score = hashCodeGenerator.getHashCodeScore(item.tags[keys.operationId]);
|
|
5746
|
+
}
|
|
5747
|
+
else if (item.ext && item.ext.telemetryTrace && item.ext.telemetryTrace.traceID) {
|
|
5748
|
+
score = hashCodeGenerator.getHashCodeScore(item.ext.telemetryTrace.traceID);
|
|
5749
|
+
}
|
|
5750
|
+
else {
|
|
5751
|
+
score = (Math.random() * 100);
|
|
5752
|
+
}
|
|
5753
|
+
return score;
|
|
5754
|
+
};
|
|
5706
5755
|
}
|
|
5707
|
-
SamplingScoreGenerator.prototype.getSamplingScore = function (item) {
|
|
5708
|
-
var score = 0;
|
|
5709
|
-
if (item.tags && item.tags[this.keys.userId]) {
|
|
5710
|
-
score = this.hashCodeGeneragor.getHashCodeScore(item.tags[this.keys.userId]);
|
|
5711
|
-
}
|
|
5712
|
-
else if (item.ext && item.ext.user && item.ext.user.id) {
|
|
5713
|
-
score = this.hashCodeGeneragor.getHashCodeScore(item.ext.user.id);
|
|
5714
|
-
}
|
|
5715
|
-
else if (item.tags && item.tags[this.keys.operationId]) {
|
|
5716
|
-
score = this.hashCodeGeneragor.getHashCodeScore(item.tags[this.keys.operationId]);
|
|
5717
|
-
}
|
|
5718
|
-
else if (item.ext && item.ext.telemetryTrace && item.ext.telemetryTrace.traceID) {
|
|
5719
|
-
score = this.hashCodeGeneragor.getHashCodeScore(item.ext.telemetryTrace.traceID);
|
|
5720
|
-
}
|
|
5721
|
-
else {
|
|
5722
|
-
score = (Math.random() * 100);
|
|
5723
|
-
}
|
|
5724
|
-
return score;
|
|
5725
|
-
};
|
|
5726
5756
|
return SamplingScoreGenerator;
|
|
5727
5757
|
}());
|
|
5728
5758
|
|
|
5729
5759
|
var Sample = /** @class */ (function () {
|
|
5730
5760
|
function Sample(sampleRate, logger) {
|
|
5731
5761
|
this.INT_MAX_VALUE = 2147483647;
|
|
5732
|
-
|
|
5762
|
+
var _logger = logger || safeGetLogger(null);
|
|
5733
5763
|
if (sampleRate > 100 || sampleRate < 0) {
|
|
5734
|
-
|
|
5764
|
+
_logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.SampleRateOutOfRange, "Sampling rate is out of range (0..100). Sampling will be disabled, you may be sending too much data which may affect your AI service level.", { samplingRate: sampleRate }, true);
|
|
5735
5765
|
sampleRate = 100;
|
|
5736
5766
|
}
|
|
5737
5767
|
this.sampleRate = sampleRate;
|
|
@@ -5752,6 +5782,8 @@ var Sample = /** @class */ (function () {
|
|
|
5752
5782
|
return Sample;
|
|
5753
5783
|
}());
|
|
5754
5784
|
|
|
5785
|
+
var _a;
|
|
5786
|
+
var FetchSyncRequestSizeLimitBytes = 65000;
|
|
5755
5787
|
function _getResponseText(xhr) {
|
|
5756
5788
|
try {
|
|
5757
5789
|
return xhr.responseText;
|
|
@@ -5760,13 +5792,41 @@ function _getResponseText(xhr) {
|
|
|
5760
5792
|
}
|
|
5761
5793
|
return null;
|
|
5762
5794
|
}
|
|
5795
|
+
function _getDefaultAppInsightsChannelConfig() {
|
|
5796
|
+
return {
|
|
5797
|
+
endpointUrl: function () { return "https://dc.services.visualstudio.com/v2/track"; },
|
|
5798
|
+
emitLineDelimitedJson: function () { return false; },
|
|
5799
|
+
maxBatchInterval: function () { return 15000; },
|
|
5800
|
+
maxBatchSizeInBytes: function () { return 102400; },
|
|
5801
|
+
disableTelemetry: function () { return false; },
|
|
5802
|
+
enableSessionStorageBuffer: function () { return true; },
|
|
5803
|
+
isRetryDisabled: function () { return false; },
|
|
5804
|
+
isBeaconApiDisabled: function () { return true; },
|
|
5805
|
+
disableXhr: function () { return false; },
|
|
5806
|
+
onunloadDisableFetch: function () { return false; },
|
|
5807
|
+
onunloadDisableBeacon: function () { return false; },
|
|
5808
|
+
instrumentationKey: function () { return undefined; },
|
|
5809
|
+
namePrefix: function () { return undefined; },
|
|
5810
|
+
samplingPercentage: function () { return 100; },
|
|
5811
|
+
customHeaders: function () { return undefined; },
|
|
5812
|
+
convertUndefined: function () { return undefined; }
|
|
5813
|
+
};
|
|
5814
|
+
}
|
|
5815
|
+
var EnvelopeTypeCreator = (_a = {},
|
|
5816
|
+
_a[Event$1.dataType] = EventEnvelopeCreator,
|
|
5817
|
+
_a[Trace.dataType] = TraceEnvelopeCreator,
|
|
5818
|
+
_a[PageView.dataType] = PageViewEnvelopeCreator,
|
|
5819
|
+
_a[PageViewPerformance.dataType] = PageViewPerformanceEnvelopeCreator,
|
|
5820
|
+
_a[Exception.dataType] = ExceptionEnvelopeCreator,
|
|
5821
|
+
_a[Metric.dataType] = MetricEnvelopeCreator,
|
|
5822
|
+
_a[RemoteDependencyData.dataType] = DependencyEnvelopeCreator,
|
|
5823
|
+
_a);
|
|
5763
5824
|
var Sender = /** @class */ (function (_super) {
|
|
5764
5825
|
__extendsFn(Sender, _super);
|
|
5765
5826
|
function Sender() {
|
|
5766
5827
|
var _this = _super.call(this) || this;
|
|
5767
5828
|
_this.priority = 1001;
|
|
5768
5829
|
_this.identifier = BreezeChannelIdentifier;
|
|
5769
|
-
_this._XMLHttpRequestSupported = false;
|
|
5770
5830
|
var _consecutiveErrors;
|
|
5771
5831
|
var _retryAt;
|
|
5772
5832
|
var _lastSend;
|
|
@@ -5774,6 +5834,10 @@ var Sender = /** @class */ (function (_super) {
|
|
|
5774
5834
|
var _serializer;
|
|
5775
5835
|
var _stamp_specific_redirects;
|
|
5776
5836
|
var _headers = {};
|
|
5837
|
+
var _syncFetchPayload = 0;
|
|
5838
|
+
var _fallbackSender;
|
|
5839
|
+
var _syncUnloadSender;
|
|
5840
|
+
_this._senderConfig = _getDefaultAppInsightsChannelConfig();
|
|
5777
5841
|
dynamicProto(Sender, _this, function (_self, _base) {
|
|
5778
5842
|
function _notImplemented() {
|
|
5779
5843
|
throwError("Method not implemented.");
|
|
@@ -5789,9 +5853,9 @@ var Sender = /** @class */ (function (_super) {
|
|
|
5789
5853
|
}
|
|
5790
5854
|
};
|
|
5791
5855
|
_self.onunloadFlush = function () {
|
|
5792
|
-
if ((_self._senderConfig.onunloadDisableBeacon() === false || _self._senderConfig.isBeaconApiDisabled() === false) &&
|
|
5856
|
+
if ((_self._senderConfig.onunloadDisableBeacon() === false || _self._senderConfig.isBeaconApiDisabled() === false) && isBeaconsSupported()) {
|
|
5793
5857
|
try {
|
|
5794
|
-
_self.triggerSend(true,
|
|
5858
|
+
_self.triggerSend(true, _doUnloadSend, 2 );
|
|
5795
5859
|
}
|
|
5796
5860
|
catch (e) {
|
|
5797
5861
|
_self.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.FailedToSendQueuedTelemetry, "failed to flush with beacon sender on page unload, telemetry will not be collected: " + getExceptionName(e), { exception: dumpObj(e) });
|
|
@@ -5815,8 +5879,7 @@ var Sender = /** @class */ (function (_super) {
|
|
|
5815
5879
|
_lastSend = 0;
|
|
5816
5880
|
_self._sender = null;
|
|
5817
5881
|
_stamp_specific_redirects = 0;
|
|
5818
|
-
var defaultConfig =
|
|
5819
|
-
_self._senderConfig = Sender._getEmptyAppInsightsChannelConfig();
|
|
5882
|
+
var defaultConfig = _getDefaultAppInsightsChannelConfig();
|
|
5820
5883
|
objForEachKey(defaultConfig, function (field, value) {
|
|
5821
5884
|
_self._senderConfig[field] = function () { return ctx.getConfig(identifier, field, value()); };
|
|
5822
5885
|
});
|
|
@@ -5831,27 +5894,36 @@ var Sender = /** @class */ (function (_super) {
|
|
|
5831
5894
|
_this.addHeader(customHeader.header, customHeader.value);
|
|
5832
5895
|
});
|
|
5833
5896
|
}
|
|
5834
|
-
|
|
5835
|
-
|
|
5897
|
+
var senderConfig = _self._senderConfig;
|
|
5898
|
+
var sendPostFunc = null;
|
|
5899
|
+
if (!senderConfig.disableXhr() && useXDomainRequest()) {
|
|
5900
|
+
sendPostFunc = _xdrSender;
|
|
5901
|
+
}
|
|
5902
|
+
else if (!senderConfig.disableXhr() && isXhrSupported()) {
|
|
5903
|
+
sendPostFunc = _xhrSender;
|
|
5904
|
+
}
|
|
5905
|
+
if (!sendPostFunc && isFetchSupported()) {
|
|
5906
|
+
sendPostFunc = _fetchSender;
|
|
5907
|
+
}
|
|
5908
|
+
_fallbackSender = sendPostFunc || _xhrSender;
|
|
5909
|
+
if (!senderConfig.isBeaconApiDisabled() && isBeaconsSupported()) {
|
|
5910
|
+
sendPostFunc = _beaconSender;
|
|
5911
|
+
}
|
|
5912
|
+
_self._sender = sendPostFunc || _xhrSender;
|
|
5913
|
+
if (!senderConfig.onunloadDisableFetch() && isFetchSupported(true)) {
|
|
5914
|
+
_syncUnloadSender = _fetchKeepAliveSender;
|
|
5915
|
+
}
|
|
5916
|
+
else if (isBeaconsSupported()) {
|
|
5917
|
+
_syncUnloadSender = _beaconSender;
|
|
5918
|
+
}
|
|
5919
|
+
else if (!senderConfig.disableXhr() && useXDomainRequest()) {
|
|
5920
|
+
_syncUnloadSender = _xdrSender;
|
|
5921
|
+
}
|
|
5922
|
+
else if (!senderConfig.disableXhr() && isXhrSupported()) {
|
|
5923
|
+
_syncUnloadSender = _xhrSender;
|
|
5836
5924
|
}
|
|
5837
5925
|
else {
|
|
5838
|
-
|
|
5839
|
-
if (xhr) {
|
|
5840
|
-
var testXhr = new xhr();
|
|
5841
|
-
if ("withCredentials" in testXhr) {
|
|
5842
|
-
_self._sender = _xhrSender;
|
|
5843
|
-
_self._XMLHttpRequestSupported = true;
|
|
5844
|
-
}
|
|
5845
|
-
else if (typeof XDomainRequest !== strShimUndefined) {
|
|
5846
|
-
_self._sender = _xdrSender;
|
|
5847
|
-
}
|
|
5848
|
-
}
|
|
5849
|
-
else {
|
|
5850
|
-
var fetch_1 = getGlobalInst("fetch");
|
|
5851
|
-
if (fetch_1) {
|
|
5852
|
-
_self._sender = _fetchSender;
|
|
5853
|
-
}
|
|
5854
|
-
}
|
|
5926
|
+
_syncUnloadSender = _fallbackSender;
|
|
5855
5927
|
}
|
|
5856
5928
|
};
|
|
5857
5929
|
_self.processTelemetry = function (telemetryItem, itemCtx) {
|
|
@@ -5883,7 +5955,8 @@ var Sender = /** @class */ (function (_super) {
|
|
|
5883
5955
|
telemetryItem[SampleRate] = _self._sample.sampleRate;
|
|
5884
5956
|
}
|
|
5885
5957
|
var convertUndefined = _self._senderConfig.convertUndefined() || undefined;
|
|
5886
|
-
var
|
|
5958
|
+
var defaultEnvelopeIkey = telemetryItem.iKey || _self._senderConfig.instrumentationKey();
|
|
5959
|
+
var aiEnvelope_1 = Sender.constructEnvelope(telemetryItem, defaultEnvelopeIkey, itemCtx.diagLog(), convertUndefined);
|
|
5887
5960
|
if (!aiEnvelope_1) {
|
|
5888
5961
|
itemCtx.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.CreateEnvelopeError, "Unable to create an AppInsights envelope");
|
|
5889
5962
|
return;
|
|
@@ -5907,12 +5980,12 @@ var Sender = /** @class */ (function (_super) {
|
|
|
5907
5980
|
return;
|
|
5908
5981
|
}
|
|
5909
5982
|
var payload = _serializer.serialize(aiEnvelope_1);
|
|
5910
|
-
var
|
|
5911
|
-
var
|
|
5912
|
-
if (
|
|
5983
|
+
var buffer = _self._buffer;
|
|
5984
|
+
var bufferSize = buffer.size();
|
|
5985
|
+
if ((bufferSize + payload.length) > _self._senderConfig.maxBatchSizeInBytes()) {
|
|
5913
5986
|
_self.triggerSend(true, null, 10 );
|
|
5914
5987
|
}
|
|
5915
|
-
|
|
5988
|
+
buffer.enqueue(payload);
|
|
5916
5989
|
_setupTimer();
|
|
5917
5990
|
}
|
|
5918
5991
|
catch (e) {
|
|
@@ -5928,9 +6001,10 @@ var Sender = /** @class */ (function (_super) {
|
|
|
5928
6001
|
_self.triggerSend = function (async, forcedSender, sendReason) {
|
|
5929
6002
|
if (async === void 0) { async = true; }
|
|
5930
6003
|
try {
|
|
6004
|
+
var buffer = _self._buffer;
|
|
5931
6005
|
if (!_self._senderConfig.disableTelemetry()) {
|
|
5932
|
-
if (
|
|
5933
|
-
var payload =
|
|
6006
|
+
if (buffer.count() > 0) {
|
|
6007
|
+
var payload = buffer.getItems();
|
|
5934
6008
|
_notifySendRequest(sendReason || 0 , async);
|
|
5935
6009
|
if (forcedSender) {
|
|
5936
6010
|
forcedSender.call(_this, payload, async);
|
|
@@ -5942,7 +6016,7 @@ var Sender = /** @class */ (function (_super) {
|
|
|
5942
6016
|
_lastSend = +new Date;
|
|
5943
6017
|
}
|
|
5944
6018
|
else {
|
|
5945
|
-
|
|
6019
|
+
buffer.clear();
|
|
5946
6020
|
}
|
|
5947
6021
|
clearTimeout(_timeoutHandle);
|
|
5948
6022
|
_timeoutHandle = null;
|
|
@@ -6072,18 +6146,42 @@ var Sender = /** @class */ (function (_super) {
|
|
|
6072
6146
|
}
|
|
6073
6147
|
return false;
|
|
6074
6148
|
}
|
|
6075
|
-
function
|
|
6149
|
+
function _doUnloadSend(payload, isAsync) {
|
|
6150
|
+
if (_syncUnloadSender) {
|
|
6151
|
+
_syncUnloadSender(payload, false);
|
|
6152
|
+
}
|
|
6153
|
+
else {
|
|
6154
|
+
_beaconSender(payload);
|
|
6155
|
+
}
|
|
6156
|
+
}
|
|
6157
|
+
function _doBeaconSend(payload) {
|
|
6158
|
+
var nav = getNavigator();
|
|
6159
|
+
var buffer = _self._buffer;
|
|
6076
6160
|
var url = _self._senderConfig.endpointUrl();
|
|
6077
6161
|
var batch = _self._buffer.batchPayloads(payload);
|
|
6078
6162
|
var plainTextBatch = new Blob([batch], { type: 'text/plain;charset=UTF-8' });
|
|
6079
|
-
var queued =
|
|
6163
|
+
var queued = nav.sendBeacon(url, plainTextBatch);
|
|
6080
6164
|
if (queued) {
|
|
6081
|
-
|
|
6165
|
+
buffer.markAsSent(payload);
|
|
6082
6166
|
_self._onSuccess(payload, payload.length);
|
|
6083
6167
|
}
|
|
6084
|
-
|
|
6085
|
-
|
|
6086
|
-
|
|
6168
|
+
return queued;
|
|
6169
|
+
}
|
|
6170
|
+
function _beaconSender(payload, isAsync) {
|
|
6171
|
+
if (isArray(payload) && payload.length > 0) {
|
|
6172
|
+
if (!_doBeaconSend(payload)) {
|
|
6173
|
+
var droppedPayload = [];
|
|
6174
|
+
for (var lp = 0; lp < payload.length; lp++) {
|
|
6175
|
+
var thePayload = payload[lp];
|
|
6176
|
+
if (!_doBeaconSend([thePayload])) {
|
|
6177
|
+
droppedPayload.push(thePayload);
|
|
6178
|
+
}
|
|
6179
|
+
}
|
|
6180
|
+
if (droppedPayload.length > 0) {
|
|
6181
|
+
_fallbackSender(droppedPayload, true);
|
|
6182
|
+
_self.diagLog().throwInternal(LoggingSeverity.WARNING, _InternalMessageId.TransmissionFailed, ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
|
|
6183
|
+
}
|
|
6184
|
+
}
|
|
6087
6185
|
}
|
|
6088
6186
|
}
|
|
6089
6187
|
function _xhrSender(payload, isAsync) {
|
|
@@ -6108,36 +6206,79 @@ var Sender = /** @class */ (function (_super) {
|
|
|
6108
6206
|
xhr.send(batch);
|
|
6109
6207
|
_self._buffer.markAsSent(payload);
|
|
6110
6208
|
}
|
|
6209
|
+
function _fetchKeepAliveSender(payload, isAsync) {
|
|
6210
|
+
if (isArray(payload)) {
|
|
6211
|
+
var payloadSize = payload.length;
|
|
6212
|
+
for (var lp = 0; lp < payload.length; lp++) {
|
|
6213
|
+
payloadSize += payload[lp].length;
|
|
6214
|
+
}
|
|
6215
|
+
if ((_syncFetchPayload + payloadSize) <= FetchSyncRequestSizeLimitBytes) {
|
|
6216
|
+
_doFetchSender(payload, false);
|
|
6217
|
+
}
|
|
6218
|
+
else if (isBeaconsSupported()) {
|
|
6219
|
+
_beaconSender(payload);
|
|
6220
|
+
}
|
|
6221
|
+
else {
|
|
6222
|
+
_fallbackSender && _fallbackSender(payload, true);
|
|
6223
|
+
_self.diagLog().throwInternal(LoggingSeverity.WARNING, _InternalMessageId.TransmissionFailed, ". " + "Failed to send telemetry with Beacon API, retried with xhrSender.");
|
|
6224
|
+
}
|
|
6225
|
+
}
|
|
6226
|
+
}
|
|
6111
6227
|
function _fetchSender(payload, isAsync) {
|
|
6228
|
+
_doFetchSender(payload, true);
|
|
6229
|
+
}
|
|
6230
|
+
function _doFetchSender(payload, isAsync) {
|
|
6231
|
+
var _a;
|
|
6112
6232
|
var endPointUrl = _self._senderConfig.endpointUrl();
|
|
6113
6233
|
var batch = _self._buffer.batchPayloads(payload);
|
|
6114
|
-
var plainTextBatch = new Blob([batch], { type: '
|
|
6234
|
+
var plainTextBatch = new Blob([batch], { type: 'application/json' });
|
|
6115
6235
|
var requestHeaders = new Headers();
|
|
6236
|
+
var batchLength = batch.length;
|
|
6116
6237
|
if (isInternalApplicationInsightsEndpoint(endPointUrl)) {
|
|
6117
6238
|
requestHeaders.append(RequestHeaders.sdkContextHeader, RequestHeaders.sdkContextHeaderAppIdRequest);
|
|
6118
6239
|
}
|
|
6119
6240
|
arrForEach(objKeys(_headers), function (headerName) {
|
|
6120
6241
|
requestHeaders.append(headerName, _headers[headerName]);
|
|
6121
6242
|
});
|
|
6122
|
-
var init = {
|
|
6123
|
-
|
|
6124
|
-
|
|
6125
|
-
|
|
6126
|
-
|
|
6243
|
+
var init = (_a = {
|
|
6244
|
+
method: "POST",
|
|
6245
|
+
headers: requestHeaders,
|
|
6246
|
+
body: plainTextBatch
|
|
6247
|
+
},
|
|
6248
|
+
_a[DisabledPropertyName] = true
|
|
6249
|
+
,
|
|
6250
|
+
_a);
|
|
6251
|
+
if (!isAsync) {
|
|
6252
|
+
init.keepalive = true;
|
|
6253
|
+
_syncFetchPayload += batchLength;
|
|
6254
|
+
}
|
|
6127
6255
|
var request = new Request(endPointUrl, init);
|
|
6256
|
+
try {
|
|
6257
|
+
request[DisabledPropertyName] = true;
|
|
6258
|
+
}
|
|
6259
|
+
catch (e) {
|
|
6260
|
+
}
|
|
6128
6261
|
fetch(request).then(function (response) {
|
|
6262
|
+
if (!isAsync) {
|
|
6263
|
+
_syncFetchPayload -= batchLength;
|
|
6264
|
+
batchLength = 0;
|
|
6265
|
+
}
|
|
6129
6266
|
if (!response.ok) {
|
|
6130
|
-
|
|
6267
|
+
_self._onError(payload, response.statusText);
|
|
6131
6268
|
}
|
|
6132
6269
|
else {
|
|
6133
6270
|
response.text().then(function (text) {
|
|
6134
6271
|
_checkResponsStatus(response.status, payload, response.url, payload.length, response.statusText, text);
|
|
6135
6272
|
});
|
|
6136
|
-
_self._buffer.markAsSent(payload);
|
|
6137
6273
|
}
|
|
6138
6274
|
})["catch"](function (error) {
|
|
6275
|
+
if (!isAsync) {
|
|
6276
|
+
_syncFetchPayload -= batchLength;
|
|
6277
|
+
batchLength = 0;
|
|
6278
|
+
}
|
|
6139
6279
|
_self._onError(payload, error.message);
|
|
6140
6280
|
});
|
|
6281
|
+
_self._buffer.markAsSent(payload);
|
|
6141
6282
|
}
|
|
6142
6283
|
function _parseResponse(response) {
|
|
6143
6284
|
try {
|
|
@@ -6161,11 +6302,12 @@ var Sender = /** @class */ (function (_super) {
|
|
|
6161
6302
|
if (!payload || payload.length === 0) {
|
|
6162
6303
|
return;
|
|
6163
6304
|
}
|
|
6164
|
-
_self._buffer
|
|
6305
|
+
var buffer = _self._buffer;
|
|
6306
|
+
buffer.clearSent(payload);
|
|
6165
6307
|
_consecutiveErrors++;
|
|
6166
6308
|
for (var _i = 0, payload_1 = payload; _i < payload_1.length; _i++) {
|
|
6167
6309
|
var item = payload_1[_i];
|
|
6168
|
-
|
|
6310
|
+
buffer.enqueue(item);
|
|
6169
6311
|
}
|
|
6170
6312
|
_setRetryTime(linearFactor);
|
|
6171
6313
|
_setupTimer();
|
|
@@ -6207,6 +6349,7 @@ var Sender = /** @class */ (function (_super) {
|
|
|
6207
6349
|
return message;
|
|
6208
6350
|
}
|
|
6209
6351
|
function _xdrSender(payload, isAsync) {
|
|
6352
|
+
var buffer = _self._buffer;
|
|
6210
6353
|
var _window = getWindow();
|
|
6211
6354
|
var xdr = new XDomainRequest();
|
|
6212
6355
|
xdr.onload = function () { return _self._xdrOnLoad(xdr, payload); };
|
|
@@ -6215,14 +6358,14 @@ var Sender = /** @class */ (function (_super) {
|
|
|
6215
6358
|
if (_self._senderConfig.endpointUrl().lastIndexOf(hostingProtocol, 0) !== 0) {
|
|
6216
6359
|
_self.diagLog().throwInternal(LoggingSeverity.WARNING, _InternalMessageId.TransmissionFailed, ". " +
|
|
6217
6360
|
"Cannot send XDomain request. The endpoint URL protocol doesn't match the hosting page protocol.");
|
|
6218
|
-
|
|
6361
|
+
buffer.clear();
|
|
6219
6362
|
return;
|
|
6220
6363
|
}
|
|
6221
6364
|
var endpointUrl = _self._senderConfig.endpointUrl().replace(/^(https?:)/, "");
|
|
6222
6365
|
xdr.open('POST', endpointUrl);
|
|
6223
|
-
var batch =
|
|
6366
|
+
var batch = buffer.batchPayloads(payload);
|
|
6224
6367
|
xdr.send(batch);
|
|
6225
|
-
|
|
6368
|
+
buffer.markAsSent(payload);
|
|
6226
6369
|
}
|
|
6227
6370
|
function _formatErrorMessageXdr(xdr, message) {
|
|
6228
6371
|
if (xdr) {
|
|
@@ -6268,60 +6411,8 @@ var Sender = /** @class */ (function (_super) {
|
|
|
6268
6411
|
else {
|
|
6269
6412
|
envelope = orig;
|
|
6270
6413
|
}
|
|
6271
|
-
|
|
6272
|
-
|
|
6273
|
-
return EventEnvelopeCreator.EventEnvelopeCreator.Create(logger, envelope, convertUndefined);
|
|
6274
|
-
case Trace.dataType:
|
|
6275
|
-
return TraceEnvelopeCreator.TraceEnvelopeCreator.Create(logger, envelope, convertUndefined);
|
|
6276
|
-
case PageView.dataType:
|
|
6277
|
-
return PageViewEnvelopeCreator.PageViewEnvelopeCreator.Create(logger, envelope, convertUndefined);
|
|
6278
|
-
case PageViewPerformance.dataType:
|
|
6279
|
-
return PageViewPerformanceEnvelopeCreator.PageViewPerformanceEnvelopeCreator.Create(logger, envelope, convertUndefined);
|
|
6280
|
-
case Exception.dataType:
|
|
6281
|
-
return ExceptionEnvelopeCreator.ExceptionEnvelopeCreator.Create(logger, envelope, convertUndefined);
|
|
6282
|
-
case Metric.dataType:
|
|
6283
|
-
return MetricEnvelopeCreator.MetricEnvelopeCreator.Create(logger, envelope, convertUndefined);
|
|
6284
|
-
case RemoteDependencyData.dataType:
|
|
6285
|
-
return DependencyEnvelopeCreator.DependencyEnvelopeCreator.Create(logger, envelope, convertUndefined);
|
|
6286
|
-
default:
|
|
6287
|
-
return EventEnvelopeCreator.EventEnvelopeCreator.Create(logger, envelope, convertUndefined);
|
|
6288
|
-
}
|
|
6289
|
-
};
|
|
6290
|
-
Sender._getDefaultAppInsightsChannelConfig = function () {
|
|
6291
|
-
return {
|
|
6292
|
-
endpointUrl: function () { return "https://dc.services.visualstudio.com/v2/track"; },
|
|
6293
|
-
emitLineDelimitedJson: function () { return false; },
|
|
6294
|
-
maxBatchInterval: function () { return 15000; },
|
|
6295
|
-
maxBatchSizeInBytes: function () { return 102400; },
|
|
6296
|
-
disableTelemetry: function () { return false; },
|
|
6297
|
-
enableSessionStorageBuffer: function () { return true; },
|
|
6298
|
-
isRetryDisabled: function () { return false; },
|
|
6299
|
-
isBeaconApiDisabled: function () { return true; },
|
|
6300
|
-
onunloadDisableBeacon: function () { return false; },
|
|
6301
|
-
instrumentationKey: function () { return undefined; },
|
|
6302
|
-
namePrefix: function () { return undefined; },
|
|
6303
|
-
samplingPercentage: function () { return 100; },
|
|
6304
|
-
customHeaders: function () { return undefined; },
|
|
6305
|
-
convertUndefined: function () { return undefined; }
|
|
6306
|
-
};
|
|
6307
|
-
};
|
|
6308
|
-
Sender._getEmptyAppInsightsChannelConfig = function () {
|
|
6309
|
-
return {
|
|
6310
|
-
endpointUrl: undefined,
|
|
6311
|
-
emitLineDelimitedJson: undefined,
|
|
6312
|
-
maxBatchInterval: undefined,
|
|
6313
|
-
maxBatchSizeInBytes: undefined,
|
|
6314
|
-
disableTelemetry: undefined,
|
|
6315
|
-
enableSessionStorageBuffer: undefined,
|
|
6316
|
-
isRetryDisabled: undefined,
|
|
6317
|
-
isBeaconApiDisabled: undefined,
|
|
6318
|
-
onunloadDisableBeacon: undefined,
|
|
6319
|
-
instrumentationKey: undefined,
|
|
6320
|
-
namePrefix: undefined,
|
|
6321
|
-
samplingPercentage: undefined,
|
|
6322
|
-
customHeaders: undefined,
|
|
6323
|
-
convertUndefined: undefined
|
|
6324
|
-
};
|
|
6414
|
+
var creator = EnvelopeTypeCreator[envelope.baseType] || EventEnvelopeCreator;
|
|
6415
|
+
return creator(logger, envelope, convertUndefined);
|
|
6325
6416
|
};
|
|
6326
6417
|
return Sender;
|
|
6327
6418
|
}(BaseTelemetryPlugin));
|
|
@@ -6478,7 +6569,7 @@ var Device = /** @class */ (function () {
|
|
|
6478
6569
|
return Device;
|
|
6479
6570
|
}());
|
|
6480
6571
|
|
|
6481
|
-
var Version = "2.7.
|
|
6572
|
+
var Version = "2.7.1-nightly.202110-04";
|
|
6482
6573
|
var Internal = /** @class */ (function () {
|
|
6483
6574
|
function Internal(config) {
|
|
6484
6575
|
this.sdkVersion = (config.sdkExtension && config.sdkExtension() ? config.sdkExtension() + "_" : "") + "javascript:" + Version;
|
|
@@ -7010,7 +7101,7 @@ var ajaxRecord = /** @class */ (function () {
|
|
|
7010
7101
|
dependency[strProperties].responseHeaders = response.headerMap;
|
|
7011
7102
|
}
|
|
7012
7103
|
}
|
|
7013
|
-
if (self.status >= 400) {
|
|
7104
|
+
if (self.errorStatusText && self.status >= 400) {
|
|
7014
7105
|
var responseType = response.type;
|
|
7015
7106
|
dependency[strProperties] = dependency[strProperties] || {};
|
|
7016
7107
|
if (responseType === "" || responseType === "text") {
|
|
@@ -7080,7 +7171,7 @@ function _supportsFetch() {
|
|
|
7080
7171
|
}
|
|
7081
7172
|
function _supportsAjaxMonitoring(ajaxMonitorInstance) {
|
|
7082
7173
|
var result = false;
|
|
7083
|
-
if (
|
|
7174
|
+
if (isXhrSupported()) {
|
|
7084
7175
|
var proto = XMLHttpRequest[strShimPrototype];
|
|
7085
7176
|
result = !isNullOrUndefined(proto) &&
|
|
7086
7177
|
!isNullOrUndefined(proto.open) &&
|
|
@@ -7153,6 +7244,7 @@ var AjaxMonitor = /** @class */ (function (_super) {
|
|
|
7153
7244
|
var _currentWindowHost = location && location.host && location.host.toLowerCase();
|
|
7154
7245
|
var _config = AjaxMonitor.getEmptyConfig();
|
|
7155
7246
|
var _enableRequestHeaderTracking = false;
|
|
7247
|
+
var _enableAjaxErrorStatusText = false;
|
|
7156
7248
|
var _trackAjaxAttempts = 0;
|
|
7157
7249
|
var _context;
|
|
7158
7250
|
var _isUsingW3CHeaders;
|
|
@@ -7176,6 +7268,7 @@ var AjaxMonitor = /** @class */ (function (_super) {
|
|
|
7176
7268
|
});
|
|
7177
7269
|
var distributedTracingMode = _config.distributedTracingMode;
|
|
7178
7270
|
_enableRequestHeaderTracking = _config.enableRequestHeaderTracking;
|
|
7271
|
+
_enableAjaxErrorStatusText = _config.enableAjaxErrorStatusText;
|
|
7179
7272
|
_enableAjaxPerfTracking = _config.enableAjaxPerfTracking;
|
|
7180
7273
|
_maxAjaxCallsPerView = _config.maxAjaxCallsPerView;
|
|
7181
7274
|
_enableResponseHeaderTracking = _config.enableResponseHeaderTracking;
|
|
@@ -7462,6 +7555,9 @@ var AjaxMonitor = /** @class */ (function (_super) {
|
|
|
7462
7555
|
isDisabled = (typeof request === 'object' ? request[DisabledPropertyName] === true : false) ||
|
|
7463
7556
|
(init ? init[DisabledPropertyName] === true : false);
|
|
7464
7557
|
}
|
|
7558
|
+
if (!isDisabled && theUrl && isInternalApplicationInsightsEndpoint(theUrl)) {
|
|
7559
|
+
isDisabled = true;
|
|
7560
|
+
}
|
|
7465
7561
|
if (isDisabled) {
|
|
7466
7562
|
if (!_disabledUrls[theUrl]) {
|
|
7467
7563
|
_disabledUrls[theUrl] = 1;
|
|
@@ -7492,11 +7588,12 @@ var AjaxMonitor = /** @class */ (function (_super) {
|
|
|
7492
7588
|
ajaxData.xhrMonitoringState.openDone = true;
|
|
7493
7589
|
ajaxData.requestHeaders = {};
|
|
7494
7590
|
ajaxData.async = async;
|
|
7591
|
+
ajaxData.errorStatusText = _enableAjaxErrorStatusText;
|
|
7495
7592
|
xhr[strAjaxData] = ajaxData;
|
|
7496
7593
|
_attachToOnReadyStateChange(xhr);
|
|
7497
7594
|
}
|
|
7498
7595
|
function _attachToOnReadyStateChange(xhr) {
|
|
7499
|
-
xhr[strAjaxData].xhrMonitoringState.stateChangeAttached =
|
|
7596
|
+
xhr[strAjaxData].xhrMonitoringState.stateChangeAttached = attachEvent(xhr, "readystatechange", function () {
|
|
7500
7597
|
try {
|
|
7501
7598
|
if (xhr && xhr.readyState === 4 && _isMonitoredXhrInstance(xhr)) {
|
|
7502
7599
|
_onAjaxComplete(xhr);
|
|
@@ -7686,6 +7783,7 @@ var AjaxMonitor = /** @class */ (function (_super) {
|
|
|
7686
7783
|
var spanID = generateW3CId().substr(0, 16);
|
|
7687
7784
|
var ajaxData = new ajaxRecord(traceID, spanID, _self[strDiagLog]());
|
|
7688
7785
|
ajaxData.requestSentTime = dateTimeUtilsNow();
|
|
7786
|
+
ajaxData.errorStatusText = _enableAjaxErrorStatusText;
|
|
7689
7787
|
if (input instanceof Request) {
|
|
7690
7788
|
ajaxData.requestUrl = input ? input.url : "";
|
|
7691
7789
|
}
|
|
@@ -7837,7 +7935,7 @@ var AjaxMonitor = /** @class */ (function (_super) {
|
|
|
7837
7935
|
|
|
7838
7936
|
var _internalSdkSrc;
|
|
7839
7937
|
var _ignoreUpdateSnippetProperties = [
|
|
7840
|
-
"snippet", "dependencies", "properties", "_snippetVersion", "appInsightsNew", "getSKUDefaults"
|
|
7938
|
+
"snippet", "dependencies", "properties", "_snippetVersion", "appInsightsNew", "getSKUDefaults"
|
|
7841
7939
|
];
|
|
7842
7940
|
var fieldType = {
|
|
7843
7941
|
Default: 0 ,
|
|
@@ -7919,11 +8017,11 @@ var Initialization = /** @class */ (function () {
|
|
|
7919
8017
|
var inPvp = pageViewPerformance || {};
|
|
7920
8018
|
this.appInsights.trackPageViewPerformance(inPvp);
|
|
7921
8019
|
};
|
|
7922
|
-
Initialization.prototype.trackException = function (exception) {
|
|
8020
|
+
Initialization.prototype.trackException = function (exception, customProperties) {
|
|
7923
8021
|
if (exception && !exception.exception && exception.error) {
|
|
7924
8022
|
exception.exception = exception.error;
|
|
7925
8023
|
}
|
|
7926
|
-
this.appInsights.trackException(exception);
|
|
8024
|
+
this.appInsights.trackException(exception, customProperties);
|
|
7927
8025
|
};
|
|
7928
8026
|
Initialization.prototype._onerror = function (exception) {
|
|
7929
8027
|
this.appInsights._onerror(exception);
|
|
@@ -8058,6 +8156,9 @@ var Initialization = /** @class */ (function () {
|
|
|
8058
8156
|
Initialization.prototype.pollInternalLogs = function () {
|
|
8059
8157
|
this.core.pollInternalLogs();
|
|
8060
8158
|
};
|
|
8159
|
+
Initialization.prototype.stopPollingInternalLogs = function () {
|
|
8160
|
+
this.core.stopPollingInternalLogs();
|
|
8161
|
+
};
|
|
8061
8162
|
Initialization.prototype.addHousekeepingBeforeUnload = function (appInsightsInstance) {
|
|
8062
8163
|
if (hasWindow() || hasDocument()) {
|
|
8063
8164
|
var performHousekeeping = function () {
|
|
@@ -8194,4 +8295,4 @@ catch (e) {
|
|
|
8194
8295
|
|
|
8195
8296
|
exports.ApplicationInsights = Initialization;
|
|
8196
8297
|
exports.Telemetry = Telemetry;
|
|
8197
|
-
//# sourceMappingURL=ai.2.7.
|
|
8298
|
+
//# sourceMappingURL=ai.2.7.1-nightly.202110-04.cjs.js.map
|