@microsoft/applicationinsights-dependencies-js 3.0.0-beta.2208-19 → 3.0.0-beta.2209-03
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-dependencies-js.integrity.json +9 -9
- package/browser/applicationinsights-dependencies-js.js +157 -103
- package/browser/applicationinsights-dependencies-js.js.map +1 -1
- package/browser/applicationinsights-dependencies-js.min.js +2 -2
- package/browser/applicationinsights-dependencies-js.min.js.map +1 -1
- package/dist/applicationinsights-dependencies-js.api.json +671 -34
- package/dist/applicationinsights-dependencies-js.api.md +63 -9
- package/dist/applicationinsights-dependencies-js.d.ts +73 -8
- package/dist/applicationinsights-dependencies-js.js +157 -103
- package/dist/applicationinsights-dependencies-js.js.map +1 -1
- package/dist/applicationinsights-dependencies-js.min.js +2 -2
- package/dist/applicationinsights-dependencies-js.min.js.map +1 -1
- package/dist/applicationinsights-dependencies-js.rollup.d.ts +75 -10
- package/dist-esm/DependencyInitializer.js +6 -0
- package/dist-esm/DependencyInitializer.js.map +1 -0
- package/dist-esm/DependencyListener.js +1 -1
- package/dist-esm/InternalConstants.js +1 -1
- package/dist-esm/__DynamicConstants.js +6 -6
- package/dist-esm/__DynamicConstants.js.map +1 -1
- package/dist-esm/ajax.js +153 -98
- package/dist-esm/ajax.js.map +1 -1
- package/dist-esm/ajaxRecord.js +1 -1
- package/dist-esm/ajaxUtils.js +1 -1
- package/dist-esm/applicationinsights-dependencies-js.js +1 -1
- package/package.json +3 -3
- package/src/DependencyInitializer.ts +44 -0
- package/src/DependencyListener.ts +13 -3
- package/src/__DynamicConstants.ts +5 -5
- package/src/ajax.ts +183 -106
- package/src/ajaxRecord.ts +5 -0
- package/src/applicationinsights-dependencies-js.ts +5 -1
- package/types/DependencyInitializer.d.ts +41 -0
- package/types/DependencyListener.d.ts +14 -3
- package/types/__DynamicConstants.d.ts +4 -4
- package/types/ajax.d.ts +18 -5
- package/types/ajaxRecord.d.ts +6 -0
- package/types/applicationinsights-dependencies-js.d.ts +2 -0
- package/types/tsdoc-metadata.json +1 -1
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "applicationinsights-dependencies-js",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.2209-03",
|
|
4
4
|
"ext": {
|
|
5
5
|
"@js": {
|
|
6
6
|
"file": "applicationinsights-dependencies-js.js",
|
|
7
7
|
"type": "text/javascript; charset=utf-8",
|
|
8
|
-
"integrity": "sha256-
|
|
8
|
+
"integrity": "sha256-78Mti9VrFrTGUcyLMjlA3ilQc0FXsSk6B6gYV1a08zA= sha384-mlDdyz3l8+pQQY+AH6m2UdYV/UjWL+fC7uMctJpCWJ9coIt9rppurnpheiyN0KFn sha512-e+DnvdW4Yjc3s3QY6ioSwv/TXNuSqPyi2APKNHdkhuSdbKnO8pYt0vAdylCHqsonNoPzLWUDDSSicFMNNS2QRg==",
|
|
9
9
|
"hashes": {
|
|
10
|
-
"sha256": "
|
|
11
|
-
"sha384": "
|
|
12
|
-
"sha512": "
|
|
10
|
+
"sha256": "78Mti9VrFrTGUcyLMjlA3ilQc0FXsSk6B6gYV1a08zA=",
|
|
11
|
+
"sha384": "mlDdyz3l8+pQQY+AH6m2UdYV/UjWL+fC7uMctJpCWJ9coIt9rppurnpheiyN0KFn",
|
|
12
|
+
"sha512": "e+DnvdW4Yjc3s3QY6ioSwv/TXNuSqPyi2APKNHdkhuSdbKnO8pYt0vAdylCHqsonNoPzLWUDDSSicFMNNS2QRg=="
|
|
13
13
|
}
|
|
14
14
|
},
|
|
15
15
|
"@min.js": {
|
|
16
16
|
"file": "applicationinsights-dependencies-js.min.js",
|
|
17
17
|
"type": "text/javascript; charset=utf-8",
|
|
18
|
-
"integrity": "sha256-
|
|
18
|
+
"integrity": "sha256-NaVyZHkiE1xAfHP9EMiUlXFPmU6/SsLEmJqgbPoBvQY= sha384-onfa+yjnCj9BKgvZJiFC4wWKO9pO7rYfF/UdoQnsxe++ebVUyllHHSAHfzTeGM1/ sha512-58o6SOPr4B/lnNw2XsQTOX15oPz6vxa58mnqDq/WmZrUKpSmcCpkh92RAXYU8QUD/gbL0IuGZN+bNq2VMggERQ==",
|
|
19
19
|
"hashes": {
|
|
20
|
-
"sha256": "
|
|
21
|
-
"sha384": "
|
|
22
|
-
"sha512": "
|
|
20
|
+
"sha256": "NaVyZHkiE1xAfHP9EMiUlXFPmU6/SsLEmJqgbPoBvQY=",
|
|
21
|
+
"sha384": "onfa+yjnCj9BKgvZJiFC4wWKO9pO7rYfF/UdoQnsxe++ebVUyllHHSAHfzTeGM1/",
|
|
22
|
+
"sha512": "58o6SOPr4B/lnNw2XsQTOX15oPz6vxa58mnqDq/WmZrUKpSmcCpkh92RAXYU8QUD/gbL0IuGZN+bNq2VMggERQ=="
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Application Insights JavaScript SDK - Dependencies Plugin, 3.0.0-beta.
|
|
2
|
+
* Application Insights JavaScript SDK - Dependencies Plugin, 3.0.0-beta.2209-03
|
|
3
3
|
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
(function (global, factory) {
|
|
@@ -455,14 +455,21 @@
|
|
|
455
455
|
return _hasNavigator ? navigator : getInst(NAVIGATOR);
|
|
456
456
|
}
|
|
457
457
|
|
|
458
|
+
var objGetOwnPropertyDescriptor = ObjClass.getOwnPropertyDescriptor;
|
|
459
|
+
|
|
458
460
|
function objHasOwnProperty(obj, prop) {
|
|
459
461
|
return obj && ObjProto[HAS_OWN_PROPERTY].call(obj, prop);
|
|
460
462
|
}
|
|
461
463
|
|
|
464
|
+
var objHasOwn = ObjClass["hasOwn"] || polyObjHasOwn;
|
|
465
|
+
function polyObjHasOwn(obj, prop) {
|
|
466
|
+
return objHasOwnProperty(obj, prop) || !!objGetOwnPropertyDescriptor(obj, prop);
|
|
467
|
+
}
|
|
468
|
+
|
|
462
469
|
function objForEachKey(theObject, callbackfn, thisArg) {
|
|
463
470
|
if (theObject && isObject(theObject)) {
|
|
464
471
|
for (var prop in theObject) {
|
|
465
|
-
if (
|
|
472
|
+
if (objHasOwn(theObject, prop)) {
|
|
466
473
|
if (callbackfn.call(thisArg || theObject, prop, theObject[prop]) === -1) {
|
|
467
474
|
break;
|
|
468
475
|
}
|
|
@@ -1314,7 +1321,7 @@
|
|
|
1314
1321
|
}
|
|
1315
1322
|
|
|
1316
1323
|
var _objDefineProperty = ObjDefineProperty;
|
|
1317
|
-
var version = "3.0.0-beta.
|
|
1324
|
+
var version = "3.0.0-beta.2209-03";
|
|
1318
1325
|
var instanceName = "." + newId(6);
|
|
1319
1326
|
var _dataUid = 0;
|
|
1320
1327
|
function _createAccessor(target, prop, value) {
|
|
@@ -2791,17 +2798,17 @@
|
|
|
2791
2798
|
var _DYN_TRACE_ID = "traceID";
|
|
2792
2799
|
var _DYN_SPAN_ID = "spanID";
|
|
2793
2800
|
var _DYN_TRACE_FLAGS = "traceFlags";
|
|
2794
|
-
var
|
|
2801
|
+
var _DYN_CONTEXT = "context";
|
|
2795
2802
|
var _DYN_TRACE_ID0 = "traceId";
|
|
2796
2803
|
var _DYN_SPAN_ID1 = "spanId";
|
|
2797
|
-
var
|
|
2798
|
-
var
|
|
2799
|
-
var _DYN_INCLUDE_CORRELATION_3 = "includeCorrelationHeaders";
|
|
2804
|
+
var _DYN_CORE = "core";
|
|
2805
|
+
var _DYN_INCLUDE_CORRELATION_2 = "includeCorrelationHeaders";
|
|
2800
2806
|
var _DYN_GET_ABSOLUTE_URL = "getAbsoluteUrl";
|
|
2801
2807
|
var _DYN_HEADERS = "headers";
|
|
2802
2808
|
var _DYN_REQUEST_HEADERS = "requestHeaders";
|
|
2803
2809
|
var _DYN_APP_ID = "appId";
|
|
2804
2810
|
var _DYN_SET_REQUEST_HEADER = "setRequestHeader";
|
|
2811
|
+
var _DYN_TRACK_DEPENDENCY_DAT3 = "trackDependencyDataInternal";
|
|
2805
2812
|
var _DYN_DISTRIBUTED_TRACING_4 = "distributedTracingMode";
|
|
2806
2813
|
var _DYN_START_TIME = "startTime";
|
|
2807
2814
|
var _DYN_TO_LOWER_CASE = "toLowerCase";
|
|
@@ -3082,6 +3089,13 @@
|
|
|
3082
3089
|
var strDiagLog = "diagLog";
|
|
3083
3090
|
var strAjaxData = "ajaxData";
|
|
3084
3091
|
var strFetch = "fetch";
|
|
3092
|
+
var ERROR_HEADER = "Failed to monitor XMLHttpRequest";
|
|
3093
|
+
var ERROR_PREFIX = ", monitoring data for this ajax call ";
|
|
3094
|
+
var ERROR_POSTFIX = ERROR_PREFIX + "may be incorrect.";
|
|
3095
|
+
var ERROR_NOT_SENT = ERROR_PREFIX + "won't be sent.";
|
|
3096
|
+
var CORRELATION_HEADER_ERROR = "Failed to get Request-Context correlation header as it may be not included in the response or not accessible.";
|
|
3097
|
+
var CUSTOM_REQUEST_CONTEXT_ERROR = "Failed to add custom defined request context as configured call back may missing a null check.";
|
|
3098
|
+
var FAILED_TO_CALCULATE_DURATION_ERROR = "Failed to calculate the duration of the ";
|
|
3085
3099
|
var _markCount = 0;
|
|
3086
3100
|
function _supportsFetch() {
|
|
3087
3101
|
var _global = getGlobal$1();
|
|
@@ -3125,9 +3139,7 @@
|
|
|
3125
3139
|
function _getFailedAjaxDiagnosticsMessage(xhr) {
|
|
3126
3140
|
var result = "";
|
|
3127
3141
|
try {
|
|
3128
|
-
if (
|
|
3129
|
-
!isNullOrUndefined(xhr[strAjaxData]) &&
|
|
3130
|
-
!isNullOrUndefined(xhr[strAjaxData][_DYN_REQUEST_URL ])) {
|
|
3142
|
+
if (xhr && xhr[strAjaxData] && xhr[strAjaxData][_DYN_REQUEST_URL ]) {
|
|
3131
3143
|
result += "(url: '" + xhr[strAjaxData][_DYN_REQUEST_URL ] + "')";
|
|
3132
3144
|
}
|
|
3133
3145
|
}
|
|
@@ -3155,6 +3167,37 @@
|
|
|
3155
3167
|
}
|
|
3156
3168
|
return -1;
|
|
3157
3169
|
}
|
|
3170
|
+
function _addHandler(container, id, theFunc) {
|
|
3171
|
+
var theHandler = {
|
|
3172
|
+
id: id,
|
|
3173
|
+
fn: theFunc
|
|
3174
|
+
};
|
|
3175
|
+
container.push(theHandler);
|
|
3176
|
+
return {
|
|
3177
|
+
remove: function () {
|
|
3178
|
+
arrForEach(container, function (initializer, idx) {
|
|
3179
|
+
if (initializer.id === theHandler.id) {
|
|
3180
|
+
container.splice(idx, 1);
|
|
3181
|
+
return -1;
|
|
3182
|
+
}
|
|
3183
|
+
});
|
|
3184
|
+
}
|
|
3185
|
+
};
|
|
3186
|
+
}
|
|
3187
|
+
function _processDependencyContainer(core, container, details, message) {
|
|
3188
|
+
var result = true;
|
|
3189
|
+
arrForEach(container, function (theFunc, idx) {
|
|
3190
|
+
try {
|
|
3191
|
+
if (theFunc.fn.call(null, details) === false) {
|
|
3192
|
+
result = false;
|
|
3193
|
+
}
|
|
3194
|
+
}
|
|
3195
|
+
catch (e) {
|
|
3196
|
+
_throwInternal(core && core.logger, 1 , 64 , "Dependency " + message + " [#" + idx + "] failed: " + getExceptionName(e), { exception: dumpObj(e) }, true);
|
|
3197
|
+
}
|
|
3198
|
+
});
|
|
3199
|
+
return result;
|
|
3200
|
+
}
|
|
3158
3201
|
function _processDependencyListeners(listeners, core, ajaxData, xhr, input, init) {
|
|
3159
3202
|
var _a;
|
|
3160
3203
|
var initializersCount = listeners[_DYN_LENGTH ];
|
|
@@ -3167,30 +3210,62 @@
|
|
|
3167
3210
|
_a.traceId = ajaxData[_DYN_TRACE_ID ],
|
|
3168
3211
|
_a.spanId = ajaxData[_DYN_SPAN_ID ],
|
|
3169
3212
|
_a.traceFlags = ajaxData[_DYN_TRACE_FLAGS ],
|
|
3213
|
+
_a.context = ajaxData[_DYN_CONTEXT ] || {},
|
|
3170
3214
|
_a);
|
|
3171
|
-
|
|
3172
|
-
var dependencyListener = listeners[i];
|
|
3173
|
-
if (dependencyListener && dependencyListener.fn) {
|
|
3174
|
-
try {
|
|
3175
|
-
dependencyListener.fn.call(null, details);
|
|
3176
|
-
}
|
|
3177
|
-
catch (e) {
|
|
3178
|
-
var core_1 = details[_DYN_CORE ];
|
|
3179
|
-
_throwInternal(core_1 && core_1.logger, 1 , 64 , "Dependency listener [#" + i + "] failed: " + getExceptionName(e), { exception: dumpObj(e) }, true);
|
|
3180
|
-
}
|
|
3181
|
-
}
|
|
3182
|
-
}
|
|
3215
|
+
_processDependencyContainer(core, listeners, details, "listener");
|
|
3183
3216
|
ajaxData[_DYN_TRACE_ID ] = details[_DYN_TRACE_ID0 ];
|
|
3184
3217
|
ajaxData[_DYN_SPAN_ID ] = details[_DYN_SPAN_ID1 ];
|
|
3185
3218
|
ajaxData[_DYN_TRACE_FLAGS ] = details[_DYN_TRACE_FLAGS ];
|
|
3219
|
+
ajaxData[_DYN_CONTEXT ] = details[_DYN_CONTEXT ];
|
|
3186
3220
|
}
|
|
3187
3221
|
}
|
|
3222
|
+
var BLOB_CORE = "*.blob.core.";
|
|
3188
3223
|
var DfltAjaxCorrelationHeaderExDomains = objDeepFreeze([
|
|
3189
|
-
"
|
|
3190
|
-
"
|
|
3191
|
-
"
|
|
3192
|
-
"
|
|
3224
|
+
BLOB_CORE + "windows.net",
|
|
3225
|
+
BLOB_CORE + "chinacloudapi.cn",
|
|
3226
|
+
BLOB_CORE + "cloudapi.de",
|
|
3227
|
+
BLOB_CORE + "usgovcloudapi.net"
|
|
3193
3228
|
]);
|
|
3229
|
+
var _internalExcludeEndpoints = [
|
|
3230
|
+
/https:\/\/[^\/]*(\.pipe\.aria|aria\.pipe|events\.data|collector\.azure)\.[^\/]+\/(OneCollector\/1|Collector\/3)\.0/i
|
|
3231
|
+
];
|
|
3232
|
+
function _getDefaultConfig() {
|
|
3233
|
+
var _a;
|
|
3234
|
+
var config = (_a = {},
|
|
3235
|
+
_a[_DYN_MAX_AJAX_CALLS_PER_V8 ] = 500,
|
|
3236
|
+
_a[_DYN_DISABLE_AJAX_TRACKIN11 ] = false,
|
|
3237
|
+
_a[_DYN_DISABLE_FETCH_TRACKI12 ] = false,
|
|
3238
|
+
_a[_DYN_EXCLUDE_REQUEST_FROM10 ] = undefined,
|
|
3239
|
+
_a.disableCorrelationHeaders = false,
|
|
3240
|
+
_a.distributedTracingMode = 1 ,
|
|
3241
|
+
_a.correlationHeaderExcludedDomains = DfltAjaxCorrelationHeaderExDomains,
|
|
3242
|
+
_a.correlationHeaderDomains = undefined,
|
|
3243
|
+
_a.correlationHeaderExcludePatterns = undefined,
|
|
3244
|
+
_a[_DYN_APP_ID ] = undefined,
|
|
3245
|
+
_a.enableCorsCorrelation = false,
|
|
3246
|
+
_a[_DYN_ENABLE_REQUEST_HEADE5 ] = false,
|
|
3247
|
+
_a[_DYN_ENABLE_RESPONSE_HEAD9 ] = false,
|
|
3248
|
+
_a[_DYN_ENABLE_AJAX_ERROR_ST6 ] = false,
|
|
3249
|
+
_a[_DYN_ENABLE_AJAX_PERF_TRA7 ] = false,
|
|
3250
|
+
_a.maxAjaxPerfLookupAttempts = 3,
|
|
3251
|
+
_a[_DYN_AJAX_PERF_LOOKUP_DEL16 ] = 25,
|
|
3252
|
+
_a.ignoreHeaders = [
|
|
3253
|
+
"Authorization",
|
|
3254
|
+
"X-API-Key",
|
|
3255
|
+
"WWW-Authenticate"
|
|
3256
|
+
],
|
|
3257
|
+
_a[_DYN_ADD_REQUEST_CONTEXT ] = undefined,
|
|
3258
|
+
_a.addIntEndpoints = true,
|
|
3259
|
+
_a);
|
|
3260
|
+
return config;
|
|
3261
|
+
}
|
|
3262
|
+
function _getEmptyConfig() {
|
|
3263
|
+
var emptyConfig = _getDefaultConfig();
|
|
3264
|
+
objForEachKey(emptyConfig, function (value) {
|
|
3265
|
+
emptyConfig[value] = undefined;
|
|
3266
|
+
});
|
|
3267
|
+
return emptyConfig;
|
|
3268
|
+
}
|
|
3194
3269
|
var AjaxMonitor = /** @class */ (function (_super) {
|
|
3195
3270
|
__extendsFn(AjaxMonitor, _super);
|
|
3196
3271
|
function AjaxMonitor() {
|
|
@@ -3217,8 +3292,9 @@
|
|
|
3217
3292
|
var _excludeRequestFromAutoTrackingPatterns;
|
|
3218
3293
|
var _addRequestContext;
|
|
3219
3294
|
var _evtNamespace;
|
|
3220
|
-
var
|
|
3295
|
+
var _dependencyHandlerId;
|
|
3221
3296
|
var _dependencyListeners;
|
|
3297
|
+
var _dependencyInitializers;
|
|
3222
3298
|
dynamicProto(AjaxMonitor, _this, function (_self, _base) {
|
|
3223
3299
|
var _addHook = _base._addHook;
|
|
3224
3300
|
_initDefaults();
|
|
@@ -3236,9 +3312,9 @@
|
|
|
3236
3312
|
_initDefaults();
|
|
3237
3313
|
};
|
|
3238
3314
|
_self.trackDependencyData = function (dependency, properties) {
|
|
3239
|
-
_self[
|
|
3315
|
+
_reportDependencyInternal(_dependencyInitializers, _self[_DYN_CORE ], null, dependency, properties);
|
|
3240
3316
|
};
|
|
3241
|
-
_self[
|
|
3317
|
+
_self[_DYN_INCLUDE_CORRELATION_2 ] = function (ajaxData, input, init, xhr) {
|
|
3242
3318
|
var currentWindowHost = _self["_currentWindowHost"] || _currentWindowHost;
|
|
3243
3319
|
_processDependencyListeners(_dependencyListeners, _self[_DYN_CORE ], ajaxData, xhr, input, init);
|
|
3244
3320
|
if (input) {
|
|
@@ -3308,7 +3384,7 @@
|
|
|
3308
3384
|
}
|
|
3309
3385
|
return undefined;
|
|
3310
3386
|
};
|
|
3311
|
-
_self[
|
|
3387
|
+
_self[_DYN_TRACK_DEPENDENCY_DAT3 ] = function (dependency, properties, systemProperties) {
|
|
3312
3388
|
if (_maxAjaxCallsPerView === -1 || _trackAjaxAttempts < _maxAjaxCallsPerView) {
|
|
3313
3389
|
if ((_config[_DYN_DISTRIBUTED_TRACING_4 ] === 2
|
|
3314
3390
|
|| _config[_DYN_DISTRIBUTED_TRACING_4 ] === 1 )
|
|
@@ -3327,22 +3403,10 @@
|
|
|
3327
3403
|
++_trackAjaxAttempts;
|
|
3328
3404
|
};
|
|
3329
3405
|
_self.addDependencyListener = function (dependencyListener) {
|
|
3330
|
-
|
|
3331
|
-
|
|
3332
|
-
|
|
3333
|
-
|
|
3334
|
-
_dependencyListeners.push(theInitializer);
|
|
3335
|
-
var handler = {
|
|
3336
|
-
remove: function () {
|
|
3337
|
-
arrForEach(_dependencyListeners, function (initializer, idx) {
|
|
3338
|
-
if (initializer.id === theInitializer.id) {
|
|
3339
|
-
_dependencyListeners.splice(idx, 1);
|
|
3340
|
-
return -1;
|
|
3341
|
-
}
|
|
3342
|
-
});
|
|
3343
|
-
}
|
|
3344
|
-
};
|
|
3345
|
-
return handler;
|
|
3406
|
+
return _addHandler(_dependencyListeners, _dependencyHandlerId++, dependencyListener);
|
|
3407
|
+
};
|
|
3408
|
+
_self.addDependencyInitializer = function (dependencyInitializer) {
|
|
3409
|
+
return _addHandler(_dependencyInitializers, _dependencyHandlerId++, dependencyInitializer);
|
|
3346
3410
|
};
|
|
3347
3411
|
function _initDefaults() {
|
|
3348
3412
|
var location = getLocation();
|
|
@@ -3366,13 +3430,14 @@
|
|
|
3366
3430
|
_excludeRequestFromAutoTrackingPatterns = null;
|
|
3367
3431
|
_addRequestContext = null;
|
|
3368
3432
|
_evtNamespace = null;
|
|
3369
|
-
|
|
3433
|
+
_dependencyHandlerId = 0;
|
|
3370
3434
|
_dependencyListeners = [];
|
|
3435
|
+
_dependencyInitializers = [];
|
|
3371
3436
|
}
|
|
3372
3437
|
function _populateDefaults(config) {
|
|
3373
3438
|
var ctx = createProcessTelemetryContext(null, config, _self[_DYN_CORE ]);
|
|
3374
|
-
_config =
|
|
3375
|
-
var defaultConfig =
|
|
3439
|
+
_config = _getEmptyConfig();
|
|
3440
|
+
var defaultConfig = _getDefaultConfig();
|
|
3376
3441
|
objForEachKey(defaultConfig, function (field, value) {
|
|
3377
3442
|
_config[field] = ctx.getConfig(AjaxMonitor.identifier, field, value);
|
|
3378
3443
|
});
|
|
@@ -3382,7 +3447,7 @@
|
|
|
3382
3447
|
_enableAjaxPerfTracking = _config[_DYN_ENABLE_AJAX_PERF_TRA7 ];
|
|
3383
3448
|
_maxAjaxCallsPerView = _config[_DYN_MAX_AJAX_CALLS_PER_V8 ];
|
|
3384
3449
|
_enableResponseHeaderTracking = _config[_DYN_ENABLE_RESPONSE_HEAD9 ];
|
|
3385
|
-
_excludeRequestFromAutoTrackingPatterns = _config[_DYN_EXCLUDE_REQUEST_FROM10 ];
|
|
3450
|
+
_excludeRequestFromAutoTrackingPatterns = [].concat(_config[_DYN_EXCLUDE_REQUEST_FROM10 ] || [], _config.addIntEndpoints !== false ? _internalExcludeEndpoints : []);
|
|
3386
3451
|
_addRequestContext = _config[_DYN_ADD_REQUEST_CONTEXT ];
|
|
3387
3452
|
_isUsingAIHeaders = distributedTracingMode === 0 || distributedTracingMode === 1 ;
|
|
3388
3453
|
_isUsingW3CHeaders = distributedTracingMode === 1 || distributedTracingMode === 2 ;
|
|
@@ -3401,7 +3466,7 @@
|
|
|
3401
3466
|
function _populateContext() {
|
|
3402
3467
|
var propExt = _self[_DYN_CORE ].getPlugin(PropertiesPluginIdentifier);
|
|
3403
3468
|
if (propExt) {
|
|
3404
|
-
_context = propExt.plugin
|
|
3469
|
+
_context = propExt.plugin[_DYN_CONTEXT ];
|
|
3405
3470
|
}
|
|
3406
3471
|
}
|
|
3407
3472
|
function _canIncludeHeaders(header) {
|
|
@@ -3433,7 +3498,7 @@
|
|
|
3433
3498
|
!(isPolyfill && _xhrInitialized)) {
|
|
3434
3499
|
var ctx = callDetails.ctx();
|
|
3435
3500
|
fetchData = _createFetchRecord(input, init);
|
|
3436
|
-
var newInit = _self[
|
|
3501
|
+
var newInit = _self[_DYN_INCLUDE_CORRELATION_2 ](fetchData, input, init);
|
|
3437
3502
|
if (newInit !== init) {
|
|
3438
3503
|
callDetails.set(1, newInit);
|
|
3439
3504
|
}
|
|
@@ -3473,7 +3538,7 @@
|
|
|
3473
3538
|
}
|
|
3474
3539
|
}
|
|
3475
3540
|
},
|
|
3476
|
-
hkErr: _createErrorCallbackFunc(_self, 15 , "Failed to monitor Window.fetch
|
|
3541
|
+
hkErr: _createErrorCallbackFunc(_self, 15 , "Failed to monitor Window.fetch" + ERROR_POSTFIX)
|
|
3477
3542
|
}));
|
|
3478
3543
|
_fetchInitialized = true;
|
|
3479
3544
|
}
|
|
@@ -3508,7 +3573,7 @@
|
|
|
3508
3573
|
}
|
|
3509
3574
|
}
|
|
3510
3575
|
},
|
|
3511
|
-
hkErr: _createErrorCallbackFunc(_self, 15 ,
|
|
3576
|
+
hkErr: _createErrorCallbackFunc(_self, 15 , ERROR_HEADER + ".open" + ERROR_POSTFIX)
|
|
3512
3577
|
});
|
|
3513
3578
|
_hookProto(XMLHttpRequest, "send", {
|
|
3514
3579
|
ns: _evtNamespace,
|
|
@@ -3519,12 +3584,12 @@
|
|
|
3519
3584
|
if (_isMonitoredXhrInstance(xhr) && !ajaxData.xhrMonitoringState[_DYN_SEND_DONE ]) {
|
|
3520
3585
|
_createMarkId("xhr", ajaxData);
|
|
3521
3586
|
ajaxData[_DYN_REQUEST_SENT_TIME ] = dateTimeUtilsNow();
|
|
3522
|
-
_self[
|
|
3587
|
+
_self[_DYN_INCLUDE_CORRELATION_2 ](ajaxData, undefined, undefined, xhr);
|
|
3523
3588
|
ajaxData.xhrMonitoringState[_DYN_SEND_DONE ] = true;
|
|
3524
3589
|
}
|
|
3525
3590
|
}
|
|
3526
3591
|
},
|
|
3527
|
-
hkErr: _createErrorCallbackFunc(_self, 17 ,
|
|
3592
|
+
hkErr: _createErrorCallbackFunc(_self, 17 , ERROR_HEADER + ERROR_POSTFIX)
|
|
3528
3593
|
});
|
|
3529
3594
|
_hookProto(XMLHttpRequest, "abort", {
|
|
3530
3595
|
ns: _evtNamespace,
|
|
@@ -3538,7 +3603,7 @@
|
|
|
3538
3603
|
}
|
|
3539
3604
|
}
|
|
3540
3605
|
},
|
|
3541
|
-
hkErr: _createErrorCallbackFunc(_self, 13 ,
|
|
3606
|
+
hkErr: _createErrorCallbackFunc(_self, 13 , ERROR_HEADER + ".abort" + ERROR_POSTFIX)
|
|
3542
3607
|
});
|
|
3543
3608
|
_hookProto(XMLHttpRequest, "setRequestHeader", {
|
|
3544
3609
|
ns: _evtNamespace,
|
|
@@ -3550,7 +3615,7 @@
|
|
|
3550
3615
|
}
|
|
3551
3616
|
}
|
|
3552
3617
|
},
|
|
3553
|
-
hkErr: _createErrorCallbackFunc(_self, 71 ,
|
|
3618
|
+
hkErr: _createErrorCallbackFunc(_self, 71 , ERROR_HEADER + ".setRequestHeader" + ERROR_POSTFIX)
|
|
3554
3619
|
});
|
|
3555
3620
|
_xhrInitialized = true;
|
|
3556
3621
|
}
|
|
@@ -3645,7 +3710,7 @@
|
|
|
3645
3710
|
catch (e) {
|
|
3646
3711
|
var exceptionText = dumpObj(e);
|
|
3647
3712
|
if (!exceptionText || _indexOf(exceptionText[_DYN_TO_LOWER_CASE ](), "c00c023f") === -1) {
|
|
3648
|
-
_throwInternalCritical(_self, 16 ,
|
|
3713
|
+
_throwInternalCritical(_self, 16 , ERROR_HEADER + " 'readystatechange' event handler" + ERROR_POSTFIX, (_a = {},
|
|
3649
3714
|
_a[_DYN_AJAX_DIAGNOSTICS_MES17 ] = _getFailedAjaxDiagnosticsMessage(xhr),
|
|
3650
3715
|
_a.exception = exceptionText,
|
|
3651
3716
|
_a));
|
|
@@ -3674,7 +3739,7 @@
|
|
|
3674
3739
|
if (e) {
|
|
3675
3740
|
errorProps["exception"] = dumpObj(e);
|
|
3676
3741
|
}
|
|
3677
|
-
_throwInternalWarning(_self, 14 ,
|
|
3742
|
+
_throwInternalWarning(_self, 14 , FAILED_TO_CALCULATE_DURATION_ERROR + "ajax call" + ERROR_NOT_SENT, errorProps);
|
|
3678
3743
|
}
|
|
3679
3744
|
_findPerfResourceEntry("xmlhttprequest", ajaxData, function () {
|
|
3680
3745
|
try {
|
|
@@ -3714,13 +3779,14 @@
|
|
|
3714
3779
|
}
|
|
3715
3780
|
}
|
|
3716
3781
|
catch (e) {
|
|
3717
|
-
_throwInternalWarning(_self, 104 ,
|
|
3782
|
+
_throwInternalWarning(_self, 104 , CUSTOM_REQUEST_CONTEXT_ERROR);
|
|
3718
3783
|
}
|
|
3719
3784
|
if (dependency) {
|
|
3720
3785
|
if (properties !== undefined) {
|
|
3721
3786
|
dependency[STR_PROPERTIES ] = __assignFn(__assignFn({}, dependency.properties), properties);
|
|
3722
3787
|
}
|
|
3723
|
-
|
|
3788
|
+
var sysProperties = ajaxData[_DYN_GET_PART_APROPS ]();
|
|
3789
|
+
_reportDependencyInternal(_dependencyInitializers, _self[_DYN_CORE ], ajaxData, dependency, null, sysProperties);
|
|
3724
3790
|
}
|
|
3725
3791
|
else {
|
|
3726
3792
|
_reportXhrError(null, {
|
|
@@ -3753,7 +3819,7 @@
|
|
|
3753
3819
|
}
|
|
3754
3820
|
}
|
|
3755
3821
|
catch (e) {
|
|
3756
|
-
_throwInternalWarning(_self, 18 ,
|
|
3822
|
+
_throwInternalWarning(_self, 18 , CORRELATION_HEADER_ERROR, (_a = {},
|
|
3757
3823
|
_a[_DYN_AJAX_DIAGNOSTICS_MES17 ] = _getFailedAjaxDiagnosticsMessage(xhr),
|
|
3758
3824
|
_a.exception = dumpObj(e),
|
|
3759
3825
|
_a));
|
|
@@ -3887,7 +3953,7 @@
|
|
|
3887
3953
|
if (e) {
|
|
3888
3954
|
errorProps["exception"] = dumpObj(e);
|
|
3889
3955
|
}
|
|
3890
|
-
_throwInternalWarning(_self, msgId,
|
|
3956
|
+
_throwInternalWarning(_self, msgId, FAILED_TO_CALCULATE_DURATION_ERROR + "fetch call" + ERROR_NOT_SENT, errorProps);
|
|
3891
3957
|
}
|
|
3892
3958
|
ajaxData[_DYN_RESPONSE_FINISHED_TI14 ] = dateTimeUtilsNow();
|
|
3893
3959
|
ajaxData[_DYN_STATUS ] = status;
|
|
@@ -3900,13 +3966,14 @@
|
|
|
3900
3966
|
}
|
|
3901
3967
|
}
|
|
3902
3968
|
catch (e) {
|
|
3903
|
-
_throwInternalWarning(_self, 104 ,
|
|
3969
|
+
_throwInternalWarning(_self, 104 , CUSTOM_REQUEST_CONTEXT_ERROR);
|
|
3904
3970
|
}
|
|
3905
3971
|
if (dependency) {
|
|
3906
3972
|
if (properties !== undefined) {
|
|
3907
3973
|
dependency[STR_PROPERTIES ] = __assignFn(__assignFn({}, dependency.properties), properties);
|
|
3908
3974
|
}
|
|
3909
|
-
|
|
3975
|
+
var sysProperties = ajaxData[_DYN_GET_PART_APROPS ]();
|
|
3976
|
+
_reportDependencyInternal(_dependencyInitializers, _self[_DYN_CORE ], ajaxData, dependency, null, sysProperties);
|
|
3910
3977
|
}
|
|
3911
3978
|
else {
|
|
3912
3979
|
_reportFetchError(14 , null, {
|
|
@@ -3925,56 +3992,43 @@
|
|
|
3925
3992
|
return correlationIdGetCorrelationContext(responseHeader);
|
|
3926
3993
|
}
|
|
3927
3994
|
catch (e) {
|
|
3928
|
-
_throwInternalWarning(_self, 18 ,
|
|
3995
|
+
_throwInternalWarning(_self, 18 , CORRELATION_HEADER_ERROR, {
|
|
3929
3996
|
fetchDiagnosticsMessage: _getFailedFetchDiagnosticsMessage(response),
|
|
3930
3997
|
exception: dumpObj(e)
|
|
3931
3998
|
});
|
|
3932
3999
|
}
|
|
3933
4000
|
}
|
|
3934
4001
|
}
|
|
4002
|
+
function _reportDependencyInternal(initializers, core, ajaxData, dependency, properties, systemProperties) {
|
|
4003
|
+
var _a;
|
|
4004
|
+
var result = true;
|
|
4005
|
+
var initializersCount = initializers[_DYN_LENGTH ];
|
|
4006
|
+
if (initializersCount > 0) {
|
|
4007
|
+
var details = (_a = {
|
|
4008
|
+
item: dependency
|
|
4009
|
+
},
|
|
4010
|
+
_a[STR_PROPERTIES ] = properties,
|
|
4011
|
+
_a.sysProperties = systemProperties,
|
|
4012
|
+
_a.context = ajaxData ? ajaxData[_DYN_CONTEXT ] : null,
|
|
4013
|
+
_a);
|
|
4014
|
+
result = _processDependencyContainer(core, initializers, details, "initializer");
|
|
4015
|
+
}
|
|
4016
|
+
if (result) {
|
|
4017
|
+
_self[_DYN_TRACK_DEPENDENCY_DAT3 ](dependency, properties, systemProperties);
|
|
4018
|
+
}
|
|
4019
|
+
}
|
|
3935
4020
|
});
|
|
3936
4021
|
return _this;
|
|
3937
4022
|
}
|
|
3938
|
-
AjaxMonitor.getDefaultConfig = function () {
|
|
3939
|
-
var _a;
|
|
3940
|
-
var config = (_a = {},
|
|
3941
|
-
_a[_DYN_MAX_AJAX_CALLS_PER_V8 ] = 500,
|
|
3942
|
-
_a[_DYN_DISABLE_AJAX_TRACKIN11 ] = false,
|
|
3943
|
-
_a[_DYN_DISABLE_FETCH_TRACKI12 ] = false,
|
|
3944
|
-
_a[_DYN_EXCLUDE_REQUEST_FROM10 ] = undefined,
|
|
3945
|
-
_a.disableCorrelationHeaders = false,
|
|
3946
|
-
_a.distributedTracingMode = 1 ,
|
|
3947
|
-
_a.correlationHeaderExcludedDomains = DfltAjaxCorrelationHeaderExDomains,
|
|
3948
|
-
_a.correlationHeaderDomains = undefined,
|
|
3949
|
-
_a.correlationHeaderExcludePatterns = undefined,
|
|
3950
|
-
_a[_DYN_APP_ID ] = undefined,
|
|
3951
|
-
_a.enableCorsCorrelation = false,
|
|
3952
|
-
_a[_DYN_ENABLE_REQUEST_HEADE5 ] = false,
|
|
3953
|
-
_a[_DYN_ENABLE_RESPONSE_HEAD9 ] = false,
|
|
3954
|
-
_a[_DYN_ENABLE_AJAX_ERROR_ST6 ] = false,
|
|
3955
|
-
_a[_DYN_ENABLE_AJAX_PERF_TRA7 ] = false,
|
|
3956
|
-
_a.maxAjaxPerfLookupAttempts = 3,
|
|
3957
|
-
_a[_DYN_AJAX_PERF_LOOKUP_DEL16 ] = 25,
|
|
3958
|
-
_a.ignoreHeaders = [
|
|
3959
|
-
"Authorization",
|
|
3960
|
-
"X-API-Key",
|
|
3961
|
-
"WWW-Authenticate"
|
|
3962
|
-
],
|
|
3963
|
-
_a[_DYN_ADD_REQUEST_CONTEXT ] = undefined,
|
|
3964
|
-
_a);
|
|
3965
|
-
return config;
|
|
3966
|
-
};
|
|
3967
|
-
AjaxMonitor.getEmptyConfig = function () {
|
|
3968
|
-
var emptyConfig = this[_DYN_GET_DEFAULT_CONFIG ]();
|
|
3969
|
-
objForEachKey(emptyConfig, function (value) {
|
|
3970
|
-
emptyConfig[value] = undefined;
|
|
3971
|
-
});
|
|
3972
|
-
return emptyConfig;
|
|
3973
|
-
};
|
|
3974
4023
|
AjaxMonitor.prototype.processTelemetry = function (item, itemCtx) {
|
|
3975
4024
|
this.processNext(item, itemCtx);
|
|
3976
4025
|
};
|
|
4026
|
+
AjaxMonitor.prototype.addDependencyInitializer = function (dependencyInitializer) {
|
|
4027
|
+
return null;
|
|
4028
|
+
};
|
|
3977
4029
|
AjaxMonitor.identifier = "AjaxDependencyPlugin";
|
|
4030
|
+
AjaxMonitor.getDefaultConfig = _getDefaultConfig;
|
|
4031
|
+
AjaxMonitor.getEmptyConfig = _getEmptyConfig;
|
|
3978
4032
|
return AjaxMonitor;
|
|
3979
4033
|
}(BaseTelemetryPlugin));
|
|
3980
4034
|
|