@microsoft/applicationinsights-dependencies-js 2.8.7-nightly.2208-10 → 2.8.7-nightly.2208-11
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 +152 -105
- 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 +667 -30
- package/dist/applicationinsights-dependencies-js.api.md +63 -9
- package/dist/applicationinsights-dependencies-js.d.ts +73 -8
- package/dist/applicationinsights-dependencies-js.js +152 -105
- 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 +7 -7
- package/dist-esm/__DynamicConstants.js.map +1 -1
- package/dist-esm/ajax.js +155 -100
- 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 +6 -6
- 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 +5 -5
- package/types/ajax.d.ts +18 -5
- package/types/ajaxRecord.d.ts +6 -0
- package/types/applicationinsights-dependencies-js.d.ts +2 -0
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "applicationinsights-dependencies-js",
|
|
3
|
-
"version": "2.8.7-nightly.2208-
|
|
3
|
+
"version": "2.8.7-nightly.2208-11",
|
|
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-i5pNEDvnaZAdWTDlvMng59/Q4yKZZw/NDYV96QWpkFU= sha384-caUiwYjQ7hvf00tkDPY018Z3QST79SwImRi+zegCfbPpZcdO6i4ag0dv8V3HSUYy sha512-El0KXd/GDWg1LHMSBkNjOFbSMjumTS3+izAcVqEjg8N2bGrrLGOf+bElOQHl4kWk7E8xyls75nd9q/Yt+b6zFQ==",
|
|
9
9
|
"hashes": {
|
|
10
|
-
"sha256": "
|
|
11
|
-
"sha384": "
|
|
12
|
-
"sha512": "
|
|
10
|
+
"sha256": "i5pNEDvnaZAdWTDlvMng59/Q4yKZZw/NDYV96QWpkFU=",
|
|
11
|
+
"sha384": "caUiwYjQ7hvf00tkDPY018Z3QST79SwImRi+zegCfbPpZcdO6i4ag0dv8V3HSUYy",
|
|
12
|
+
"sha512": "El0KXd/GDWg1LHMSBkNjOFbSMjumTS3+izAcVqEjg8N2bGrrLGOf+bElOQHl4kWk7E8xyls75nd9q/Yt+b6zFQ=="
|
|
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-QzgIvCgm9++GCn77Bv4pB5HqffvpIwtLin10yM4CGik= sha384-NnbO6JDNwh+z8zenlvzz+aScGqPoXnFMmgt40aiU4gF2m/ImfDymyNDV+zA2TNyi sha512-7w31ewzuicx8ov+kiS1Q1nYJKqZHNtT+JMlLlH7SOgu3vK13o8/9W60o54k+GJnimb0fbzHKNEIv6iYVjOZl7g==",
|
|
19
19
|
"hashes": {
|
|
20
|
-
"sha256": "
|
|
21
|
-
"sha384": "
|
|
22
|
-
"sha512": "
|
|
20
|
+
"sha256": "QzgIvCgm9++GCn77Bv4pB5HqffvpIwtLin10yM4CGik=",
|
|
21
|
+
"sha384": "NnbO6JDNwh+z8zenlvzz+aScGqPoXnFMmgt40aiU4gF2m/ImfDymyNDV+zA2TNyi",
|
|
22
|
+
"sha512": "7w31ewzuicx8ov+kiS1Q1nYJKqZHNtT+JMlLlH7SOgu3vK13o8/9W60o54k+GJnimb0fbzHKNEIv6iYVjOZl7g=="
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Application Insights JavaScript SDK - Dependencies Plugin, 2.8.7-nightly.2208-
|
|
2
|
+
* Application Insights JavaScript SDK - Dependencies Plugin, 2.8.7-nightly.2208-11
|
|
3
3
|
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
(function (global, factory) {
|
|
@@ -1256,7 +1256,7 @@
|
|
|
1256
1256
|
}
|
|
1257
1257
|
|
|
1258
1258
|
var _objDefineProperty = ObjDefineProperty;
|
|
1259
|
-
var version = "2.8.7-nightly.2208-
|
|
1259
|
+
var version = "2.8.7-nightly.2208-11";
|
|
1260
1260
|
var instanceName = "." + newId(6);
|
|
1261
1261
|
var _dataUid = 0;
|
|
1262
1262
|
function _createAccessor(target, prop, value) {
|
|
@@ -2786,18 +2786,18 @@
|
|
|
2786
2786
|
var _DYN_TRACE_ID = "traceID";
|
|
2787
2787
|
var _DYN_SPAN_ID = "spanID";
|
|
2788
2788
|
var _DYN_TRACE_FLAGS = "traceFlags";
|
|
2789
|
-
var
|
|
2789
|
+
var _DYN_CONTEXT = "context";
|
|
2790
2790
|
var _DYN_TRACE_ID0 = "traceId";
|
|
2791
2791
|
var _DYN_SPAN_ID1 = "spanId";
|
|
2792
|
-
var
|
|
2793
|
-
var
|
|
2794
|
-
var
|
|
2795
|
-
var _DYN_CAN_INCLUDE_CORRELAT4 = "canIncludeCorrelationHeader";
|
|
2792
|
+
var _DYN_CORE = "core";
|
|
2793
|
+
var _DYN_INCLUDE_CORRELATION_2 = "includeCorrelationHeaders";
|
|
2794
|
+
var _DYN_CAN_INCLUDE_CORRELAT3 = "canIncludeCorrelationHeader";
|
|
2796
2795
|
var _DYN_GET_ABSOLUTE_URL = "getAbsoluteUrl";
|
|
2797
2796
|
var _DYN_HEADERS = "headers";
|
|
2798
2797
|
var _DYN_REQUEST_HEADERS = "requestHeaders";
|
|
2799
2798
|
var _DYN_APP_ID = "appId";
|
|
2800
2799
|
var _DYN_SET_REQUEST_HEADER = "setRequestHeader";
|
|
2800
|
+
var _DYN_TRACK_DEPENDENCY_DAT4 = "trackDependencyDataInternal";
|
|
2801
2801
|
var _DYN_DISTRIBUTED_TRACING_5 = "distributedTracingMode";
|
|
2802
2802
|
var _DYN_START_TIME = "startTime";
|
|
2803
2803
|
var _DYN_TO_LOWER_CASE = "toLowerCase";
|
|
@@ -3079,6 +3079,13 @@
|
|
|
3079
3079
|
var strDiagLog = "diagLog";
|
|
3080
3080
|
var strAjaxData = "ajaxData";
|
|
3081
3081
|
var strFetch = "fetch";
|
|
3082
|
+
var ERROR_HEADER = "Failed to monitor XMLHttpRequest";
|
|
3083
|
+
var ERROR_PREFIX = ", monitoring data for this ajax call ";
|
|
3084
|
+
var ERROR_POSTFIX = ERROR_PREFIX + "may be incorrect.";
|
|
3085
|
+
var ERROR_NOT_SENT = ERROR_PREFIX + "won't be sent.";
|
|
3086
|
+
var CORRELATION_HEADER_ERROR = "Failed to get Request-Context correlation header as it may be not included in the response or not accessible.";
|
|
3087
|
+
var CUSTOM_REQUEST_CONTEXT_ERROR = "Failed to add custom defined request context as configured call back may missing a null check.";
|
|
3088
|
+
var FAILED_TO_CALCULATE_DURATION_ERROR = "Failed to calculate the duration of the ";
|
|
3082
3089
|
var _markCount = 0;
|
|
3083
3090
|
function _supportsFetch() {
|
|
3084
3091
|
var _global = getGlobal();
|
|
@@ -3122,9 +3129,7 @@
|
|
|
3122
3129
|
function _getFailedAjaxDiagnosticsMessage(xhr) {
|
|
3123
3130
|
var result = "";
|
|
3124
3131
|
try {
|
|
3125
|
-
if (
|
|
3126
|
-
!isNullOrUndefined(xhr[strAjaxData]) &&
|
|
3127
|
-
!isNullOrUndefined(xhr[strAjaxData][_DYN_REQUEST_URL ])) {
|
|
3132
|
+
if (xhr && xhr[strAjaxData] && xhr[strAjaxData][_DYN_REQUEST_URL ]) {
|
|
3128
3133
|
result += "(url: '" + xhr[strAjaxData][_DYN_REQUEST_URL ] + "')";
|
|
3129
3134
|
}
|
|
3130
3135
|
}
|
|
@@ -3152,6 +3157,37 @@
|
|
|
3152
3157
|
}
|
|
3153
3158
|
return -1;
|
|
3154
3159
|
}
|
|
3160
|
+
function _addHandler(container, id, theFunc) {
|
|
3161
|
+
var theHandler = {
|
|
3162
|
+
id: id,
|
|
3163
|
+
fn: theFunc
|
|
3164
|
+
};
|
|
3165
|
+
container.push(theHandler);
|
|
3166
|
+
return {
|
|
3167
|
+
remove: function () {
|
|
3168
|
+
arrForEach(container, function (initializer, idx) {
|
|
3169
|
+
if (initializer.id === theHandler.id) {
|
|
3170
|
+
container.splice(idx, 1);
|
|
3171
|
+
return -1;
|
|
3172
|
+
}
|
|
3173
|
+
});
|
|
3174
|
+
}
|
|
3175
|
+
};
|
|
3176
|
+
}
|
|
3177
|
+
function _processDependencyContainer(core, container, details, message) {
|
|
3178
|
+
var result = true;
|
|
3179
|
+
arrForEach(container, function (theFunc, idx) {
|
|
3180
|
+
try {
|
|
3181
|
+
if (theFunc.fn.call(null, details) === false) {
|
|
3182
|
+
result = false;
|
|
3183
|
+
}
|
|
3184
|
+
}
|
|
3185
|
+
catch (e) {
|
|
3186
|
+
_throwInternal(core && core.logger, 1 , 64 , "Dependency " + message + " [#" + idx + "] failed: " + getExceptionName(e), { exception: dumpObj(e) }, true);
|
|
3187
|
+
}
|
|
3188
|
+
});
|
|
3189
|
+
return result;
|
|
3190
|
+
}
|
|
3155
3191
|
function _processDependencyListeners(listeners, core, ajaxData, xhr, input, init) {
|
|
3156
3192
|
var _a;
|
|
3157
3193
|
var initializersCount = listeners[_DYN_LENGTH ];
|
|
@@ -3164,30 +3200,62 @@
|
|
|
3164
3200
|
_a.traceId = ajaxData[_DYN_TRACE_ID ],
|
|
3165
3201
|
_a.spanId = ajaxData[_DYN_SPAN_ID ],
|
|
3166
3202
|
_a.traceFlags = ajaxData[_DYN_TRACE_FLAGS ],
|
|
3203
|
+
_a.context = ajaxData[_DYN_CONTEXT ] || {},
|
|
3167
3204
|
_a);
|
|
3168
|
-
|
|
3169
|
-
var dependencyListener = listeners[i];
|
|
3170
|
-
if (dependencyListener && dependencyListener.fn) {
|
|
3171
|
-
try {
|
|
3172
|
-
dependencyListener.fn.call(null, details);
|
|
3173
|
-
}
|
|
3174
|
-
catch (e) {
|
|
3175
|
-
var core_1 = details[_DYN_CORE ];
|
|
3176
|
-
_throwInternal(core_1 && core_1.logger, 1 , 64 , "Dependency listener [#" + i + "] failed: " + getExceptionName(e), { exception: dumpObj(e) }, true);
|
|
3177
|
-
}
|
|
3178
|
-
}
|
|
3179
|
-
}
|
|
3205
|
+
_processDependencyContainer(core, listeners, details, "listener");
|
|
3180
3206
|
ajaxData[_DYN_TRACE_ID ] = details[_DYN_TRACE_ID0 ];
|
|
3181
3207
|
ajaxData[_DYN_SPAN_ID ] = details[_DYN_SPAN_ID1 ];
|
|
3182
3208
|
ajaxData[_DYN_TRACE_FLAGS ] = details[_DYN_TRACE_FLAGS ];
|
|
3209
|
+
ajaxData[_DYN_CONTEXT ] = details[_DYN_CONTEXT ];
|
|
3183
3210
|
}
|
|
3184
3211
|
}
|
|
3212
|
+
var BLOB_CORE = "*.blob.core.";
|
|
3185
3213
|
var DfltAjaxCorrelationHeaderExDomains = deepFreeze([
|
|
3186
|
-
"
|
|
3187
|
-
"
|
|
3188
|
-
"
|
|
3189
|
-
"
|
|
3214
|
+
BLOB_CORE + "windows.net",
|
|
3215
|
+
BLOB_CORE + "chinacloudapi.cn",
|
|
3216
|
+
BLOB_CORE + "cloudapi.de",
|
|
3217
|
+
BLOB_CORE + "usgovcloudapi.net"
|
|
3190
3218
|
]);
|
|
3219
|
+
var _internalExcludeEndpoints = [
|
|
3220
|
+
/https:\/\/[^\/]*(\.pipe\.aria|aria\.pipe|events\.data|collector\.azure)\.[^\/]+\/(OneCollector\/1|Collector\/3)\.0/i
|
|
3221
|
+
];
|
|
3222
|
+
function _getDefaultConfig() {
|
|
3223
|
+
var _a;
|
|
3224
|
+
var config = (_a = {},
|
|
3225
|
+
_a[_DYN_MAX_AJAX_CALLS_PER_V9 ] = 500,
|
|
3226
|
+
_a[_DYN_DISABLE_AJAX_TRACKIN12 ] = false,
|
|
3227
|
+
_a[_DYN_DISABLE_FETCH_TRACKI13 ] = false,
|
|
3228
|
+
_a[_DYN_EXCLUDE_REQUEST_FROM11 ] = undefined,
|
|
3229
|
+
_a.disableCorrelationHeaders = false,
|
|
3230
|
+
_a.distributedTracingMode = 1 ,
|
|
3231
|
+
_a.correlationHeaderExcludedDomains = DfltAjaxCorrelationHeaderExDomains,
|
|
3232
|
+
_a.correlationHeaderDomains = undefined,
|
|
3233
|
+
_a.correlationHeaderExcludePatterns = undefined,
|
|
3234
|
+
_a[_DYN_APP_ID ] = undefined,
|
|
3235
|
+
_a.enableCorsCorrelation = false,
|
|
3236
|
+
_a[_DYN_ENABLE_REQUEST_HEADE6 ] = false,
|
|
3237
|
+
_a[_DYN_ENABLE_RESPONSE_HEAD10 ] = false,
|
|
3238
|
+
_a[_DYN_ENABLE_AJAX_ERROR_ST7 ] = false,
|
|
3239
|
+
_a[_DYN_ENABLE_AJAX_PERF_TRA8 ] = false,
|
|
3240
|
+
_a.maxAjaxPerfLookupAttempts = 3,
|
|
3241
|
+
_a[_DYN_AJAX_PERF_LOOKUP_DEL18 ] = 25,
|
|
3242
|
+
_a.ignoreHeaders = [
|
|
3243
|
+
"Authorization",
|
|
3244
|
+
"X-API-Key",
|
|
3245
|
+
"WWW-Authenticate"
|
|
3246
|
+
],
|
|
3247
|
+
_a[_DYN_ADD_REQUEST_CONTEXT ] = undefined,
|
|
3248
|
+
_a.addIntEndpoints = true,
|
|
3249
|
+
_a);
|
|
3250
|
+
return config;
|
|
3251
|
+
}
|
|
3252
|
+
function _getEmptyConfig() {
|
|
3253
|
+
var emptyConfig = _getDefaultConfig();
|
|
3254
|
+
objForEachKey(emptyConfig, function (value) {
|
|
3255
|
+
emptyConfig[value] = undefined;
|
|
3256
|
+
});
|
|
3257
|
+
return emptyConfig;
|
|
3258
|
+
}
|
|
3191
3259
|
var AjaxMonitor = /** @class */ (function (_super) {
|
|
3192
3260
|
__extendsFn(AjaxMonitor, _super);
|
|
3193
3261
|
function AjaxMonitor() {
|
|
@@ -3214,8 +3282,9 @@
|
|
|
3214
3282
|
var _excludeRequestFromAutoTrackingPatterns;
|
|
3215
3283
|
var _addRequestContext;
|
|
3216
3284
|
var _evtNamespace;
|
|
3217
|
-
var
|
|
3285
|
+
var _dependencyHandlerId;
|
|
3218
3286
|
var _dependencyListeners;
|
|
3287
|
+
var _dependencyInitializers;
|
|
3219
3288
|
dynamicProto(AjaxMonitor, _this, function (_self, _base) {
|
|
3220
3289
|
var _addHook = _base._addHook;
|
|
3221
3290
|
_initDefaults();
|
|
@@ -3233,13 +3302,13 @@
|
|
|
3233
3302
|
_initDefaults();
|
|
3234
3303
|
};
|
|
3235
3304
|
_self.trackDependencyData = function (dependency, properties) {
|
|
3236
|
-
_self[
|
|
3305
|
+
_reportDependencyInternal(_dependencyInitializers, _self[_DYN_CORE ], null, dependency, properties);
|
|
3237
3306
|
};
|
|
3238
|
-
_self[
|
|
3307
|
+
_self[_DYN_INCLUDE_CORRELATION_2 ] = function (ajaxData, input, init, xhr) {
|
|
3239
3308
|
var currentWindowHost = _self["_currentWindowHost"] || _currentWindowHost;
|
|
3240
3309
|
_processDependencyListeners(_dependencyListeners, _self[_DYN_CORE ], ajaxData, xhr, input, init);
|
|
3241
3310
|
if (input) {
|
|
3242
|
-
if (CorrelationIdHelper[
|
|
3311
|
+
if (CorrelationIdHelper[_DYN_CAN_INCLUDE_CORRELAT3 ](_config, ajaxData[_DYN_GET_ABSOLUTE_URL ](), currentWindowHost)) {
|
|
3243
3312
|
if (!init) {
|
|
3244
3313
|
init = {};
|
|
3245
3314
|
}
|
|
@@ -3274,7 +3343,7 @@
|
|
|
3274
3343
|
return init;
|
|
3275
3344
|
}
|
|
3276
3345
|
else if (xhr) {
|
|
3277
|
-
if (CorrelationIdHelper[
|
|
3346
|
+
if (CorrelationIdHelper[_DYN_CAN_INCLUDE_CORRELAT3 ](_config, ajaxData[_DYN_GET_ABSOLUTE_URL ](), currentWindowHost)) {
|
|
3278
3347
|
if (_isUsingAIHeaders) {
|
|
3279
3348
|
var id = "|" + ajaxData[_DYN_TRACE_ID ] + "." + ajaxData[_DYN_SPAN_ID ];
|
|
3280
3349
|
xhr[_DYN_SET_REQUEST_HEADER ](RequestHeaders[3 ], id);
|
|
@@ -3305,7 +3374,7 @@
|
|
|
3305
3374
|
}
|
|
3306
3375
|
return undefined;
|
|
3307
3376
|
};
|
|
3308
|
-
_self[
|
|
3377
|
+
_self[_DYN_TRACK_DEPENDENCY_DAT4 ] = function (dependency, properties, systemProperties) {
|
|
3309
3378
|
if (_maxAjaxCallsPerView === -1 || _trackAjaxAttempts < _maxAjaxCallsPerView) {
|
|
3310
3379
|
if ((_config[_DYN_DISTRIBUTED_TRACING_5 ] === 2
|
|
3311
3380
|
|| _config[_DYN_DISTRIBUTED_TRACING_5 ] === 1 )
|
|
@@ -3324,22 +3393,10 @@
|
|
|
3324
3393
|
++_trackAjaxAttempts;
|
|
3325
3394
|
};
|
|
3326
3395
|
_self.addDependencyListener = function (dependencyListener) {
|
|
3327
|
-
|
|
3328
|
-
|
|
3329
|
-
|
|
3330
|
-
|
|
3331
|
-
_dependencyListeners.push(theInitializer);
|
|
3332
|
-
var handler = {
|
|
3333
|
-
remove: function () {
|
|
3334
|
-
arrForEach(_dependencyListeners, function (initializer, idx) {
|
|
3335
|
-
if (initializer.id === theInitializer.id) {
|
|
3336
|
-
_dependencyListeners.splice(idx, 1);
|
|
3337
|
-
return -1;
|
|
3338
|
-
}
|
|
3339
|
-
});
|
|
3340
|
-
}
|
|
3341
|
-
};
|
|
3342
|
-
return handler;
|
|
3396
|
+
return _addHandler(_dependencyListeners, _dependencyHandlerId++, dependencyListener);
|
|
3397
|
+
};
|
|
3398
|
+
_self.addDependencyInitializer = function (dependencyInitializer) {
|
|
3399
|
+
return _addHandler(_dependencyInitializers, _dependencyHandlerId++, dependencyInitializer);
|
|
3343
3400
|
};
|
|
3344
3401
|
function _initDefaults() {
|
|
3345
3402
|
var location = getLocation();
|
|
@@ -3363,13 +3420,14 @@
|
|
|
3363
3420
|
_excludeRequestFromAutoTrackingPatterns = null;
|
|
3364
3421
|
_addRequestContext = null;
|
|
3365
3422
|
_evtNamespace = null;
|
|
3366
|
-
|
|
3423
|
+
_dependencyHandlerId = 0;
|
|
3367
3424
|
_dependencyListeners = [];
|
|
3425
|
+
_dependencyInitializers = [];
|
|
3368
3426
|
}
|
|
3369
3427
|
function _populateDefaults(config) {
|
|
3370
3428
|
var ctx = createProcessTelemetryContext(null, config, _self[_DYN_CORE ]);
|
|
3371
|
-
_config =
|
|
3372
|
-
var defaultConfig =
|
|
3429
|
+
_config = _getEmptyConfig();
|
|
3430
|
+
var defaultConfig = _getDefaultConfig();
|
|
3373
3431
|
objForEachKey(defaultConfig, function (field, value) {
|
|
3374
3432
|
_config[field] = ctx.getConfig(AjaxMonitor.identifier, field, value);
|
|
3375
3433
|
});
|
|
@@ -3379,7 +3437,7 @@
|
|
|
3379
3437
|
_enableAjaxPerfTracking = _config[_DYN_ENABLE_AJAX_PERF_TRA8 ];
|
|
3380
3438
|
_maxAjaxCallsPerView = _config[_DYN_MAX_AJAX_CALLS_PER_V9 ];
|
|
3381
3439
|
_enableResponseHeaderTracking = _config[_DYN_ENABLE_RESPONSE_HEAD10 ];
|
|
3382
|
-
_excludeRequestFromAutoTrackingPatterns = _config[_DYN_EXCLUDE_REQUEST_FROM11 ];
|
|
3440
|
+
_excludeRequestFromAutoTrackingPatterns = [].concat(_config[_DYN_EXCLUDE_REQUEST_FROM11 ] || [], _config.addIntEndpoints !== false ? _internalExcludeEndpoints : []);
|
|
3383
3441
|
_addRequestContext = _config[_DYN_ADD_REQUEST_CONTEXT ];
|
|
3384
3442
|
_isUsingAIHeaders = distributedTracingMode === 0 || distributedTracingMode === 1 ;
|
|
3385
3443
|
_isUsingW3CHeaders = distributedTracingMode === 1 || distributedTracingMode === 2 ;
|
|
@@ -3398,7 +3456,7 @@
|
|
|
3398
3456
|
function _populateContext() {
|
|
3399
3457
|
var propExt = _self[_DYN_CORE ].getPlugin(PropertiesPluginIdentifier);
|
|
3400
3458
|
if (propExt) {
|
|
3401
|
-
_context = propExt.plugin
|
|
3459
|
+
_context = propExt.plugin[_DYN_CONTEXT ];
|
|
3402
3460
|
}
|
|
3403
3461
|
}
|
|
3404
3462
|
function _canIncludeHeaders(header) {
|
|
@@ -3430,7 +3488,7 @@
|
|
|
3430
3488
|
!(isPolyfill && _xhrInitialized)) {
|
|
3431
3489
|
var ctx = callDetails.ctx();
|
|
3432
3490
|
fetchData = _createFetchRecord(input, init);
|
|
3433
|
-
var newInit = _self[
|
|
3491
|
+
var newInit = _self[_DYN_INCLUDE_CORRELATION_2 ](fetchData, input, init);
|
|
3434
3492
|
if (newInit !== init) {
|
|
3435
3493
|
callDetails.set(1, newInit);
|
|
3436
3494
|
}
|
|
@@ -3469,7 +3527,7 @@
|
|
|
3469
3527
|
}
|
|
3470
3528
|
}
|
|
3471
3529
|
},
|
|
3472
|
-
hkErr: _createErrorCallbackFunc(_self, 15 , "Failed to monitor Window.fetch
|
|
3530
|
+
hkErr: _createErrorCallbackFunc(_self, 15 , "Failed to monitor Window.fetch" + ERROR_POSTFIX)
|
|
3473
3531
|
}));
|
|
3474
3532
|
_fetchInitialized = true;
|
|
3475
3533
|
}
|
|
@@ -3504,7 +3562,7 @@
|
|
|
3504
3562
|
}
|
|
3505
3563
|
}
|
|
3506
3564
|
},
|
|
3507
|
-
hkErr: _createErrorCallbackFunc(_self, 15 ,
|
|
3565
|
+
hkErr: _createErrorCallbackFunc(_self, 15 , ERROR_HEADER + ".open" + ERROR_POSTFIX)
|
|
3508
3566
|
});
|
|
3509
3567
|
_hookProto(XMLHttpRequest, "send", {
|
|
3510
3568
|
ns: _evtNamespace,
|
|
@@ -3515,12 +3573,12 @@
|
|
|
3515
3573
|
if (_isMonitoredXhrInstance(xhr) && !ajaxData.xhrMonitoringState[_DYN_SEND_DONE ]) {
|
|
3516
3574
|
_createMarkId("xhr", ajaxData);
|
|
3517
3575
|
ajaxData[_DYN_REQUEST_SENT_TIME ] = dateTimeUtilsNow();
|
|
3518
|
-
_self[
|
|
3576
|
+
_self[_DYN_INCLUDE_CORRELATION_2 ](ajaxData, undefined, undefined, xhr);
|
|
3519
3577
|
ajaxData.xhrMonitoringState[_DYN_SEND_DONE ] = true;
|
|
3520
3578
|
}
|
|
3521
3579
|
}
|
|
3522
3580
|
},
|
|
3523
|
-
hkErr: _createErrorCallbackFunc(_self, 17 ,
|
|
3581
|
+
hkErr: _createErrorCallbackFunc(_self, 17 , ERROR_HEADER + ERROR_POSTFIX)
|
|
3524
3582
|
});
|
|
3525
3583
|
_hookProto(XMLHttpRequest, "abort", {
|
|
3526
3584
|
ns: _evtNamespace,
|
|
@@ -3534,7 +3592,7 @@
|
|
|
3534
3592
|
}
|
|
3535
3593
|
}
|
|
3536
3594
|
},
|
|
3537
|
-
hkErr: _createErrorCallbackFunc(_self, 13 ,
|
|
3595
|
+
hkErr: _createErrorCallbackFunc(_self, 13 , ERROR_HEADER + ".abort" + ERROR_POSTFIX)
|
|
3538
3596
|
});
|
|
3539
3597
|
_hookProto(XMLHttpRequest, "setRequestHeader", {
|
|
3540
3598
|
ns: _evtNamespace,
|
|
@@ -3546,7 +3604,7 @@
|
|
|
3546
3604
|
}
|
|
3547
3605
|
}
|
|
3548
3606
|
},
|
|
3549
|
-
hkErr: _createErrorCallbackFunc(_self, 71 ,
|
|
3607
|
+
hkErr: _createErrorCallbackFunc(_self, 71 , ERROR_HEADER + ".setRequestHeader" + ERROR_POSTFIX)
|
|
3550
3608
|
});
|
|
3551
3609
|
_xhrInitialized = true;
|
|
3552
3610
|
}
|
|
@@ -3641,7 +3699,7 @@
|
|
|
3641
3699
|
catch (e) {
|
|
3642
3700
|
var exceptionText = dumpObj(e);
|
|
3643
3701
|
if (!exceptionText || _indexOf(exceptionText[_DYN_TO_LOWER_CASE ](), "c00c023f") === -1) {
|
|
3644
|
-
_throwInternalCritical(_self, 16 ,
|
|
3702
|
+
_throwInternalCritical(_self, 16 , ERROR_HEADER + " 'readystatechange' event handler" + ERROR_POSTFIX, (_a = {},
|
|
3645
3703
|
_a[_DYN_AJAX_DIAGNOSTICS_MES19 ] = _getFailedAjaxDiagnosticsMessage(xhr),
|
|
3646
3704
|
_a.exception = exceptionText,
|
|
3647
3705
|
_a));
|
|
@@ -3670,7 +3728,7 @@
|
|
|
3670
3728
|
if (e) {
|
|
3671
3729
|
errorProps["exception"] = dumpObj(e);
|
|
3672
3730
|
}
|
|
3673
|
-
_throwInternalWarning(_self, 14 ,
|
|
3731
|
+
_throwInternalWarning(_self, 14 , FAILED_TO_CALCULATE_DURATION_ERROR + "ajax call" + ERROR_NOT_SENT, errorProps);
|
|
3674
3732
|
}
|
|
3675
3733
|
_findPerfResourceEntry("xmlhttprequest", ajaxData, function () {
|
|
3676
3734
|
try {
|
|
@@ -3710,13 +3768,14 @@
|
|
|
3710
3768
|
}
|
|
3711
3769
|
}
|
|
3712
3770
|
catch (e) {
|
|
3713
|
-
_throwInternalWarning(_self, 104 ,
|
|
3771
|
+
_throwInternalWarning(_self, 104 , CUSTOM_REQUEST_CONTEXT_ERROR);
|
|
3714
3772
|
}
|
|
3715
3773
|
if (dependency) {
|
|
3716
3774
|
if (properties !== undefined) {
|
|
3717
3775
|
dependency[STR_PROPERTIES ] = __assignFn(__assignFn({}, dependency.properties), properties);
|
|
3718
3776
|
}
|
|
3719
|
-
|
|
3777
|
+
var sysProperties = ajaxData[_DYN_GET_PART_APROPS ]();
|
|
3778
|
+
_reportDependencyInternal(_dependencyInitializers, _self[_DYN_CORE ], ajaxData, dependency, null, sysProperties);
|
|
3720
3779
|
}
|
|
3721
3780
|
else {
|
|
3722
3781
|
_reportXhrError(null, {
|
|
@@ -3749,7 +3808,7 @@
|
|
|
3749
3808
|
}
|
|
3750
3809
|
}
|
|
3751
3810
|
catch (e) {
|
|
3752
|
-
_throwInternalWarning(_self, 18 ,
|
|
3811
|
+
_throwInternalWarning(_self, 18 , CORRELATION_HEADER_ERROR, (_a = {},
|
|
3753
3812
|
_a[_DYN_AJAX_DIAGNOSTICS_MES19 ] = _getFailedAjaxDiagnosticsMessage(xhr),
|
|
3754
3813
|
_a.exception = dumpObj(e),
|
|
3755
3814
|
_a));
|
|
@@ -3883,7 +3942,7 @@
|
|
|
3883
3942
|
if (e) {
|
|
3884
3943
|
errorProps["exception"] = dumpObj(e);
|
|
3885
3944
|
}
|
|
3886
|
-
_throwInternalWarning(_self, msgId,
|
|
3945
|
+
_throwInternalWarning(_self, msgId, FAILED_TO_CALCULATE_DURATION_ERROR + "fetch call" + ERROR_NOT_SENT, errorProps);
|
|
3887
3946
|
}
|
|
3888
3947
|
ajaxData[_DYN_RESPONSE_FINISHED_TI15 ] = dateTimeUtilsNow();
|
|
3889
3948
|
ajaxData[_DYN_STATUS ] = status;
|
|
@@ -3896,13 +3955,14 @@
|
|
|
3896
3955
|
}
|
|
3897
3956
|
}
|
|
3898
3957
|
catch (e) {
|
|
3899
|
-
_throwInternalWarning(_self, 104 ,
|
|
3958
|
+
_throwInternalWarning(_self, 104 , CUSTOM_REQUEST_CONTEXT_ERROR);
|
|
3900
3959
|
}
|
|
3901
3960
|
if (dependency) {
|
|
3902
3961
|
if (properties !== undefined) {
|
|
3903
3962
|
dependency[STR_PROPERTIES ] = __assignFn(__assignFn({}, dependency.properties), properties);
|
|
3904
3963
|
}
|
|
3905
|
-
|
|
3964
|
+
var sysProperties = ajaxData[_DYN_GET_PART_APROPS ]();
|
|
3965
|
+
_reportDependencyInternal(_dependencyInitializers, _self[_DYN_CORE ], ajaxData, dependency, null, sysProperties);
|
|
3906
3966
|
}
|
|
3907
3967
|
else {
|
|
3908
3968
|
_reportFetchError(14 , null, {
|
|
@@ -3921,56 +3981,43 @@
|
|
|
3921
3981
|
return CorrelationIdHelper[_DYN_GET_CORRELATION_CONT17 ](responseHeader);
|
|
3922
3982
|
}
|
|
3923
3983
|
catch (e) {
|
|
3924
|
-
_throwInternalWarning(_self, 18 ,
|
|
3984
|
+
_throwInternalWarning(_self, 18 , CORRELATION_HEADER_ERROR, {
|
|
3925
3985
|
fetchDiagnosticsMessage: _getFailedFetchDiagnosticsMessage(response),
|
|
3926
3986
|
exception: dumpObj(e)
|
|
3927
3987
|
});
|
|
3928
3988
|
}
|
|
3929
3989
|
}
|
|
3930
3990
|
}
|
|
3991
|
+
function _reportDependencyInternal(initializers, core, ajaxData, dependency, properties, systemProperties) {
|
|
3992
|
+
var _a;
|
|
3993
|
+
var result = true;
|
|
3994
|
+
var initializersCount = initializers[_DYN_LENGTH ];
|
|
3995
|
+
if (initializersCount > 0) {
|
|
3996
|
+
var details = (_a = {
|
|
3997
|
+
item: dependency
|
|
3998
|
+
},
|
|
3999
|
+
_a[STR_PROPERTIES ] = properties,
|
|
4000
|
+
_a.sysProperties = systemProperties,
|
|
4001
|
+
_a.context = ajaxData ? ajaxData[_DYN_CONTEXT ] : null,
|
|
4002
|
+
_a);
|
|
4003
|
+
result = _processDependencyContainer(core, initializers, details, "initializer");
|
|
4004
|
+
}
|
|
4005
|
+
if (result) {
|
|
4006
|
+
_self[_DYN_TRACK_DEPENDENCY_DAT4 ](dependency, properties, systemProperties);
|
|
4007
|
+
}
|
|
4008
|
+
}
|
|
3931
4009
|
});
|
|
3932
4010
|
return _this;
|
|
3933
4011
|
}
|
|
3934
|
-
AjaxMonitor.getDefaultConfig = function () {
|
|
3935
|
-
var _a;
|
|
3936
|
-
var config = (_a = {},
|
|
3937
|
-
_a[_DYN_MAX_AJAX_CALLS_PER_V9 ] = 500,
|
|
3938
|
-
_a[_DYN_DISABLE_AJAX_TRACKIN12 ] = false,
|
|
3939
|
-
_a[_DYN_DISABLE_FETCH_TRACKI13 ] = false,
|
|
3940
|
-
_a[_DYN_EXCLUDE_REQUEST_FROM11 ] = undefined,
|
|
3941
|
-
_a.disableCorrelationHeaders = false,
|
|
3942
|
-
_a.distributedTracingMode = 1 ,
|
|
3943
|
-
_a.correlationHeaderExcludedDomains = DfltAjaxCorrelationHeaderExDomains,
|
|
3944
|
-
_a.correlationHeaderDomains = undefined,
|
|
3945
|
-
_a.correlationHeaderExcludePatterns = undefined,
|
|
3946
|
-
_a[_DYN_APP_ID ] = undefined,
|
|
3947
|
-
_a.enableCorsCorrelation = false,
|
|
3948
|
-
_a[_DYN_ENABLE_REQUEST_HEADE6 ] = false,
|
|
3949
|
-
_a[_DYN_ENABLE_RESPONSE_HEAD10 ] = false,
|
|
3950
|
-
_a[_DYN_ENABLE_AJAX_ERROR_ST7 ] = false,
|
|
3951
|
-
_a[_DYN_ENABLE_AJAX_PERF_TRA8 ] = false,
|
|
3952
|
-
_a.maxAjaxPerfLookupAttempts = 3,
|
|
3953
|
-
_a[_DYN_AJAX_PERF_LOOKUP_DEL18 ] = 25,
|
|
3954
|
-
_a.ignoreHeaders = [
|
|
3955
|
-
"Authorization",
|
|
3956
|
-
"X-API-Key",
|
|
3957
|
-
"WWW-Authenticate"
|
|
3958
|
-
],
|
|
3959
|
-
_a[_DYN_ADD_REQUEST_CONTEXT ] = undefined,
|
|
3960
|
-
_a);
|
|
3961
|
-
return config;
|
|
3962
|
-
};
|
|
3963
|
-
AjaxMonitor.getEmptyConfig = function () {
|
|
3964
|
-
var emptyConfig = this[_DYN_GET_DEFAULT_CONFIG ]();
|
|
3965
|
-
objForEachKey(emptyConfig, function (value) {
|
|
3966
|
-
emptyConfig[value] = undefined;
|
|
3967
|
-
});
|
|
3968
|
-
return emptyConfig;
|
|
3969
|
-
};
|
|
3970
4012
|
AjaxMonitor.prototype.processTelemetry = function (item, itemCtx) {
|
|
3971
4013
|
this.processNext(item, itemCtx);
|
|
3972
4014
|
};
|
|
4015
|
+
AjaxMonitor.prototype.addDependencyInitializer = function (dependencyInitializer) {
|
|
4016
|
+
return null;
|
|
4017
|
+
};
|
|
3973
4018
|
AjaxMonitor.identifier = "AjaxDependencyPlugin";
|
|
4019
|
+
AjaxMonitor.getDefaultConfig = _getDefaultConfig;
|
|
4020
|
+
AjaxMonitor.getEmptyConfig = _getEmptyConfig;
|
|
3974
4021
|
return AjaxMonitor;
|
|
3975
4022
|
}(BaseTelemetryPlugin));
|
|
3976
4023
|
|