@microsoft/applicationinsights-dependencies-js 3.0.0-beta.2212-14 → 3.0.0-beta.2301-01
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/browser/applicationinsights-dependencies-js.integrity.json +9 -9
- package/browser/applicationinsights-dependencies-js.js +144 -131
- 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.d.ts +1 -1
- package/dist/applicationinsights-dependencies-js.js +144 -131
- 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 +1 -1
- package/dist-esm/DependencyInitializer.js +1 -1
- package/dist-esm/DependencyListener.js +1 -1
- package/dist-esm/InternalConstants.js +1 -1
- package/dist-esm/__DynamicConstants.js +7 -6
- package/dist-esm/__DynamicConstants.js.map +1 -1
- package/dist-esm/ajax.js +156 -144
- 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/__DynamicConstants.ts +6 -5
- package/src/ajax.ts +162 -148
- package/types/__DynamicConstants.d.ts +5 -4
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Microsoft Application Insights XHR dependencies plugin, 3.0.0-beta.
|
|
2
|
+
* Microsoft Application Insights XHR dependencies plugin, 3.0.0-beta.2301-01
|
|
3
3
|
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
4
4
|
*
|
|
5
5
|
* Microsoft Application Insights Team
|
|
@@ -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.2301-01
|
|
3
3
|
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -20,6 +20,7 @@ export var _DYN_TRACE_FLAGS = "traceFlags"; // Count: 13
|
|
|
20
20
|
export var _DYN_CONTEXT = "context"; // Count: 7
|
|
21
21
|
export var _DYN_TRACE_ID0 = "traceId"; // Count: 5
|
|
22
22
|
export var _DYN_SPAN_ID1 = "spanId"; // Count: 5
|
|
23
|
+
export var _DYN__ADD_HOOK = "_addHook"; // Count: 4
|
|
23
24
|
export var _DYN_CORE = "core"; // Count: 8
|
|
24
25
|
export var _DYN_INCLUDE_CORRELATION_2 = "includeCorrelationHeaders"; // Count: 4
|
|
25
26
|
export var _DYN_GET_ABSOLUTE_URL = "getAbsoluteUrl"; // Count: 3
|
|
@@ -29,16 +30,16 @@ export var _DYN_SET_REQUEST_HEADER = "setRequestHeader"; // Count: 3
|
|
|
29
30
|
export var _DYN_TRACK_DEPENDENCY_DAT3 = "trackDependencyDataInternal"; // Count: 2
|
|
30
31
|
export var _DYN_START_TIME = "startTime"; // Count: 6
|
|
31
32
|
export var _DYN_TO_LOWER_CASE = "toLowerCase"; // Count: 6
|
|
32
|
-
export var _DYN_ENABLE_REQUEST_HEADE4 = "enableRequestHeaderTracking"; // Count:
|
|
33
|
+
export var _DYN_ENABLE_REQUEST_HEADE4 = "enableRequestHeaderTracking"; // Count: 3
|
|
33
34
|
export var _DYN_ENABLE_AJAX_ERROR_ST5 = "enableAjaxErrorStatusText"; // Count: 2
|
|
34
35
|
export var _DYN_ENABLE_AJAX_PERF_TRA6 = "enableAjaxPerfTracking"; // Count: 2
|
|
35
36
|
export var _DYN_MAX_AJAX_CALLS_PER_V7 = "maxAjaxCallsPerView"; // Count: 2
|
|
36
|
-
export var
|
|
37
|
-
export var _DYN_EXCLUDE_REQUEST_FROM9 = "excludeRequestFromAutoTrackingPatterns"; // Count: 2
|
|
37
|
+
export var _DYN_EXCLUDE_REQUEST_FROM8 = "excludeRequestFromAutoTrackingPatterns"; // Count: 2
|
|
38
38
|
export var _DYN_ADD_REQUEST_CONTEXT = "addRequestContext"; // Count: 2
|
|
39
|
-
export var
|
|
39
|
+
export var _DYN_DISABLE_AJAX_TRACKIN9 = "disableAjaxTracking"; // Count: 3
|
|
40
|
+
export var _DYN_AJAX_PERF_LOOKUP_DEL10 = "ajaxPerfLookupDelay"; // Count: 2
|
|
40
41
|
export var _DYN_DISABLE_FETCH_TRACKI11 = "disableFetchTracking"; // Count: 2
|
|
41
|
-
export var
|
|
42
|
+
export var _DYN_ENABLE_RESPONSE_HEAD12 = "enableResponseHeaderTracking"; // Count: 2
|
|
42
43
|
export var _DYN_STATUS = "status"; // Count: 10
|
|
43
44
|
export var _DYN_STATUS_TEXT = "statusText"; // Count: 8
|
|
44
45
|
export var _DYN_HEADER_MAP = "headerMap"; // Count: 8
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"__DynamicConstants.js.map","sources":["__DynamicConstants.js"],"sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// ###########################################################################################################################################\r\n// Note: DON'T Export these const from the package as we are still targeting IE this will export a mutable variables that someone could change\r\n// ###########################################################################################################################################\r\nexport var _DYN_REQUEST_URL = \"requestUrl\"; // Count: 12\r\nexport var _DYN_INST = \"inst\"; // Count: 5\r\nexport var _DYN_LENGTH = \"length\"; // Count: 10\r\nexport var _DYN_TRACE_ID = \"traceID\"; // Count: 9\r\nexport var _DYN_SPAN_ID = \"spanID\"; // Count: 8\r\nexport var _DYN_TRACE_FLAGS = \"traceFlags\"; // Count: 13\r\nexport var _DYN_CONTEXT = \"context\"; // Count: 7\r\nexport var _DYN_TRACE_ID0 = \"traceId\"; // Count: 5\r\nexport var _DYN_SPAN_ID1 = \"spanId\"; // Count: 5\r\nexport var _DYN_CORE = \"core\"; // Count: 8\r\nexport var _DYN_INCLUDE_CORRELATION_2 = \"includeCorrelationHeaders\"; // Count: 4\r\nexport var _DYN_GET_ABSOLUTE_URL = \"getAbsoluteUrl\"; // Count: 3\r\nexport var _DYN_HEADERS = \"headers\"; // Count: 6\r\nexport var _DYN_REQUEST_HEADERS = \"requestHeaders\"; // Count: 13\r\nexport var _DYN_SET_REQUEST_HEADER = \"setRequestHeader\"; // Count: 3\r\nexport var _DYN_TRACK_DEPENDENCY_DAT3 = \"trackDependencyDataInternal\"; // Count: 2\r\nexport var _DYN_START_TIME = \"startTime\"; // Count: 6\r\nexport var _DYN_TO_LOWER_CASE = \"toLowerCase\"; // Count: 6\r\nexport var _DYN_ENABLE_REQUEST_HEADE4 = \"enableRequestHeaderTracking\"; // Count:
|
|
1
|
+
{"version":3,"file":"__DynamicConstants.js.map","sources":["__DynamicConstants.js"],"sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// ###########################################################################################################################################\r\n// Note: DON'T Export these const from the package as we are still targeting IE this will export a mutable variables that someone could change\r\n// ###########################################################################################################################################\r\nexport var _DYN_REQUEST_URL = \"requestUrl\"; // Count: 12\r\nexport var _DYN_INST = \"inst\"; // Count: 5\r\nexport var _DYN_LENGTH = \"length\"; // Count: 10\r\nexport var _DYN_TRACE_ID = \"traceID\"; // Count: 9\r\nexport var _DYN_SPAN_ID = \"spanID\"; // Count: 8\r\nexport var _DYN_TRACE_FLAGS = \"traceFlags\"; // Count: 13\r\nexport var _DYN_CONTEXT = \"context\"; // Count: 7\r\nexport var _DYN_TRACE_ID0 = \"traceId\"; // Count: 5\r\nexport var _DYN_SPAN_ID1 = \"spanId\"; // Count: 5\r\nexport var _DYN__ADD_HOOK = \"_addHook\"; // Count: 4\r\nexport var _DYN_CORE = \"core\"; // Count: 8\r\nexport var _DYN_INCLUDE_CORRELATION_2 = \"includeCorrelationHeaders\"; // Count: 4\r\nexport var _DYN_GET_ABSOLUTE_URL = \"getAbsoluteUrl\"; // Count: 3\r\nexport var _DYN_HEADERS = \"headers\"; // Count: 6\r\nexport var _DYN_REQUEST_HEADERS = \"requestHeaders\"; // Count: 13\r\nexport var _DYN_SET_REQUEST_HEADER = \"setRequestHeader\"; // Count: 3\r\nexport var _DYN_TRACK_DEPENDENCY_DAT3 = \"trackDependencyDataInternal\"; // Count: 2\r\nexport var _DYN_START_TIME = \"startTime\"; // Count: 6\r\nexport var _DYN_TO_LOWER_CASE = \"toLowerCase\"; // Count: 6\r\nexport var _DYN_ENABLE_REQUEST_HEADE4 = \"enableRequestHeaderTracking\"; // Count: 3\r\nexport var _DYN_ENABLE_AJAX_ERROR_ST5 = \"enableAjaxErrorStatusText\"; // Count: 2\r\nexport var _DYN_ENABLE_AJAX_PERF_TRA6 = \"enableAjaxPerfTracking\"; // Count: 2\r\nexport var _DYN_MAX_AJAX_CALLS_PER_V7 = \"maxAjaxCallsPerView\"; // Count: 2\r\nexport var _DYN_EXCLUDE_REQUEST_FROM8 = \"excludeRequestFromAutoTrackingPatterns\"; // Count: 2\r\nexport var _DYN_ADD_REQUEST_CONTEXT = \"addRequestContext\"; // Count: 2\r\nexport var _DYN_DISABLE_AJAX_TRACKIN9 = \"disableAjaxTracking\"; // Count: 3\r\nexport var _DYN_AJAX_PERF_LOOKUP_DEL10 = \"ajaxPerfLookupDelay\"; // Count: 2\r\nexport var _DYN_DISABLE_FETCH_TRACKI11 = \"disableFetchTracking\"; // Count: 2\r\nexport var _DYN_ENABLE_RESPONSE_HEAD12 = \"enableResponseHeaderTracking\"; // Count: 2\r\nexport var _DYN_STATUS = \"status\"; // Count: 10\r\nexport var _DYN_STATUS_TEXT = \"statusText\"; // Count: 8\r\nexport var _DYN_HEADER_MAP = \"headerMap\"; // Count: 8\r\nexport var _DYN_OPEN_DONE = \"openDone\"; // Count: 3\r\nexport var _DYN_SEND_DONE = \"sendDone\"; // Count: 3\r\nexport var _DYN_REQUEST_SENT_TIME = \"requestSentTime\"; // Count: 9\r\nexport var _DYN_ABORT_DONE = \"abortDone\"; // Count: 3\r\nexport var _DYN_GET_TRACE_ID = \"getTraceId\"; // Count: 3\r\nexport var _DYN_GET_TRACE_FLAGS = \"getTraceFlags\"; // Count: 3\r\nexport var _DYN_METHOD = \"method\"; // Count: 10\r\nexport var _DYN_ERROR_STATUS_TEXT = \"errorStatusText\"; // Count: 3\r\nexport var _DYN_STATE_CHANGE_ATTACHE13 = \"stateChangeAttached\"; // Count: 2\r\nexport var _DYN_RESPONSE_TEXT = \"responseText\"; // Count: 5\r\nexport var _DYN_RESPONSE_FINISHED_TI14 = \"responseFinishedTime\"; // Count: 7\r\nexport var _DYN__CREATE_TRACK_ITEM = \"CreateTrackItem\"; // Count: 3\r\nexport var _DYN_RESPONSE = \"response\"; // Count: 4\r\nexport var _DYN_GET_ALL_RESPONSE_HEA15 = \"getAllResponseHeaders\"; // Count: 2\r\nexport var _DYN_GET_PART_APROPS = \"getPartAProps\"; // Count: 3\r\nexport var _DYN_PERF_MARK = \"perfMark\"; // Count: 4\r\nexport var _DYN_NAME = \"name\"; // Count: 6\r\nexport var _DYN_PERF_TIMING = \"perfTiming\"; // Count: 3\r\nexport var _DYN_AJAX_DIAGNOSTICS_MES16 = \"ajaxDiagnosticsMessage\"; // Count: 3\r\nexport var _DYN_CORRELATION_CONTEXT = \"correlationContext\"; // Count: 3\r\nexport var _DYN_AJAX_TOTAL_DURATION = \"ajaxTotalDuration\"; // Count: 3\r\nexport var _DYN_EVENT_TRACE_CTX = \"eventTraceCtx\"; // Count: 3\r\n//# sourceMappingURL=__DynamicConstants.js.map"],"names":[],"mappings":";;;;AAA4D;AAC1B;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
|
package/dist-esm/ajax.js
CHANGED
|
@@ -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.2301-01
|
|
3
3
|
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -11,7 +11,7 @@ import { DisabledPropertyName, PropertiesPluginIdentifier, RemoteDependencyData,
|
|
|
11
11
|
import { BaseTelemetryPlugin, InstrumentFunc, InstrumentProto, _throwInternal, arrForEach, createProcessTelemetryContext, createUniqueNamespace, dumpObj, eventOn, generateW3CId, getExceptionName, getGlobal, getIEVersion, getLocation, getPerformance, isFunction, isNullOrUndefined, isString, isXhrSupported, mergeEvtNamespace, onConfigChange, strPrototype, strTrim } from "@microsoft/applicationinsights-core-js";
|
|
12
12
|
import { objFreeze, scheduleTimeout, strIndexOf } from "@nevware21/ts-utils";
|
|
13
13
|
import { STR_PROPERTIES } from "./InternalConstants";
|
|
14
|
-
import { _DYN_ABORT_DONE, _DYN_ADD_REQUEST_CONTEXT, _DYN_AJAX_DIAGNOSTICS_MES16,
|
|
14
|
+
import { _DYN_ABORT_DONE, _DYN_ADD_REQUEST_CONTEXT, _DYN_AJAX_DIAGNOSTICS_MES16, _DYN_AJAX_PERF_LOOKUP_DEL10, _DYN_CONTEXT, _DYN_CORE, _DYN_CORRELATION_CONTEXT, _DYN_DISABLE_AJAX_TRACKIN9, _DYN_DISABLE_FETCH_TRACKI11, _DYN_ENABLE_AJAX_ERROR_ST5, _DYN_ENABLE_AJAX_PERF_TRA6, _DYN_ENABLE_REQUEST_HEADE4, _DYN_ENABLE_RESPONSE_HEAD12, _DYN_ERROR_STATUS_TEXT, _DYN_EXCLUDE_REQUEST_FROM8, _DYN_GET_ABSOLUTE_URL, _DYN_GET_ALL_RESPONSE_HEA15, _DYN_GET_PART_APROPS, _DYN_GET_TRACE_FLAGS, _DYN_GET_TRACE_ID, _DYN_HEADERS, _DYN_HEADER_MAP, _DYN_INCLUDE_CORRELATION_2, _DYN_INST, _DYN_LENGTH, _DYN_MAX_AJAX_CALLS_PER_V7, _DYN_METHOD, _DYN_NAME, _DYN_OPEN_DONE, _DYN_PERF_MARK, _DYN_PERF_TIMING, _DYN_REQUEST_HEADERS, _DYN_REQUEST_SENT_TIME, _DYN_REQUEST_URL, _DYN_RESPONSE, _DYN_RESPONSE_FINISHED_TI14, _DYN_RESPONSE_TEXT, _DYN_SEND_DONE, _DYN_SET_REQUEST_HEADER, _DYN_SPAN_ID, _DYN_SPAN_ID1, _DYN_START_TIME, _DYN_STATE_CHANGE_ATTACHE13, _DYN_STATUS, _DYN_STATUS_TEXT, _DYN_TO_LOWER_CASE, _DYN_TRACE_FLAGS, _DYN_TRACE_ID, _DYN_TRACE_ID0, _DYN_TRACK_DEPENDENCY_DAT3, _DYN__ADD_HOOK, _DYN__CREATE_TRACK_ITEM } from "./__DynamicConstants";
|
|
15
15
|
import { ajaxRecord } from "./ajaxRecord";
|
|
16
16
|
var AJAX_MONITOR_PREFIX = "ai.ajxmn.";
|
|
17
17
|
var strDiagLog = "diagLog";
|
|
@@ -175,9 +175,9 @@ var _internalExcludeEndpoints = [
|
|
|
175
175
|
];
|
|
176
176
|
var _defaultConfig = objFreeze((_a = {},
|
|
177
177
|
_a[_DYN_MAX_AJAX_CALLS_PER_V7 /* @min:maxAjaxCallsPerView */] = 500,
|
|
178
|
-
_a[
|
|
178
|
+
_a[_DYN_DISABLE_AJAX_TRACKIN9 /* @min:disableAjaxTracking */] = false,
|
|
179
179
|
_a[_DYN_DISABLE_FETCH_TRACKI11 /* @min:disableFetchTracking */] = false,
|
|
180
|
-
_a[
|
|
180
|
+
_a[_DYN_EXCLUDE_REQUEST_FROM8 /* @min:excludeRequestFromAutoTrackingPatterns */] = undefined,
|
|
181
181
|
_a.disableCorrelationHeaders = false,
|
|
182
182
|
_a.distributedTracingMode = 1 /* eDistributedTracingModes.AI_AND_W3C */,
|
|
183
183
|
_a.correlationHeaderExcludedDomains = DfltAjaxCorrelationHeaderExDomains,
|
|
@@ -186,11 +186,11 @@ var _defaultConfig = objFreeze((_a = {},
|
|
|
186
186
|
_a.appId = undefined,
|
|
187
187
|
_a.enableCorsCorrelation = false,
|
|
188
188
|
_a[_DYN_ENABLE_REQUEST_HEADE4 /* @min:enableRequestHeaderTracking */] = false,
|
|
189
|
-
_a[
|
|
189
|
+
_a[_DYN_ENABLE_RESPONSE_HEAD12 /* @min:enableResponseHeaderTracking */] = false,
|
|
190
190
|
_a[_DYN_ENABLE_AJAX_ERROR_ST5 /* @min:enableAjaxErrorStatusText */] = false,
|
|
191
191
|
_a[_DYN_ENABLE_AJAX_PERF_TRA6 /* @min:enableAjaxPerfTracking */] = false,
|
|
192
192
|
_a.maxAjaxPerfLookupAttempts = 3,
|
|
193
|
-
_a[
|
|
193
|
+
_a[_DYN_AJAX_PERF_LOOKUP_DEL10 /* @min:ajaxPerfLookupDelay */] = 25,
|
|
194
194
|
_a.ignoreHeaders = [
|
|
195
195
|
"Authorization",
|
|
196
196
|
"X-API-Key",
|
|
@@ -233,8 +233,9 @@ var AjaxMonitor = /** @class */ (function (_super) {
|
|
|
233
233
|
var _ajaxPerfLookupDelay;
|
|
234
234
|
var _distributedTracingMode;
|
|
235
235
|
var _appId;
|
|
236
|
+
var _polyfillInitialized;
|
|
236
237
|
dynamicProto(AjaxMonitor, _this, function (_self, _base) {
|
|
237
|
-
var _addHook = _base
|
|
238
|
+
var _addHook = _base[_DYN__ADD_HOOK /* @min:%2e_addHook */];
|
|
238
239
|
_initDefaults();
|
|
239
240
|
_self.initialize = function (config, core, extensions, pluginChain) {
|
|
240
241
|
if (!_self.isInitialized()) {
|
|
@@ -357,6 +358,7 @@ var AjaxMonitor = /** @class */ (function (_super) {
|
|
|
357
358
|
var location = getLocation();
|
|
358
359
|
_fetchInitialized = false; // fetch monitoring initialized
|
|
359
360
|
_xhrInitialized = false; // XHR monitoring initialized
|
|
361
|
+
_polyfillInitialized = false; // polyfill monitoring initialized
|
|
360
362
|
_currentWindowHost = location && location.host && location.host[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();
|
|
361
363
|
_extensionConfig = null;
|
|
362
364
|
_enableRequestHeaderTracking = false;
|
|
@@ -385,7 +387,7 @@ var AjaxMonitor = /** @class */ (function (_super) {
|
|
|
385
387
|
_appId = null;
|
|
386
388
|
}
|
|
387
389
|
function _populateDefaults(config) {
|
|
388
|
-
_self
|
|
390
|
+
_self[_DYN__ADD_HOOK /* @min:%2e_addHook */](onConfigChange(config, function (details) {
|
|
389
391
|
var config = details.cfg;
|
|
390
392
|
var ctx = createProcessTelemetryContext(null, config, _self[_DYN_CORE /* @min:%2ecore */]);
|
|
391
393
|
_extensionConfig = ctx.getExtCfg(AjaxMonitor.identifier, _defaultConfig);
|
|
@@ -394,8 +396,7 @@ var AjaxMonitor = /** @class */ (function (_super) {
|
|
|
394
396
|
_enableAjaxErrorStatusText = _extensionConfig[_DYN_ENABLE_AJAX_ERROR_ST5 /* @min:%2eenableAjaxErrorStatusText */];
|
|
395
397
|
_enableAjaxPerfTracking = _extensionConfig[_DYN_ENABLE_AJAX_PERF_TRA6 /* @min:%2eenableAjaxPerfTracking */];
|
|
396
398
|
_maxAjaxCallsPerView = _extensionConfig[_DYN_MAX_AJAX_CALLS_PER_V7 /* @min:%2emaxAjaxCallsPerView */];
|
|
397
|
-
|
|
398
|
-
_excludeRequestFromAutoTrackingPatterns = [].concat(_extensionConfig[_DYN_EXCLUDE_REQUEST_FROM9 /* @min:%2eexcludeRequestFromAutoTrackingPatterns */] || [], _extensionConfig.addIntEndpoints !== false ? _internalExcludeEndpoints : []);
|
|
399
|
+
_excludeRequestFromAutoTrackingPatterns = [].concat(_extensionConfig[_DYN_EXCLUDE_REQUEST_FROM8 /* @min:%2eexcludeRequestFromAutoTrackingPatterns */] || [], _extensionConfig.addIntEndpoints !== false ? _internalExcludeEndpoints : []);
|
|
399
400
|
_addRequestContext = _extensionConfig[_DYN_ADD_REQUEST_CONTEXT /* @min:%2eaddRequestContext */];
|
|
400
401
|
_isUsingAIHeaders = _distributedTracingMode === 0 /* eDistributedTracingModes.AI */ || _distributedTracingMode === 1 /* eDistributedTracingModes.AI_AND_W3C */;
|
|
401
402
|
_isUsingW3CHeaders = _distributedTracingMode === 1 /* eDistributedTracingModes.AI_AND_W3C */ || _distributedTracingMode === 2 /* eDistributedTracingModes.W3C */;
|
|
@@ -408,10 +409,9 @@ var AjaxMonitor = /** @class */ (function (_super) {
|
|
|
408
409
|
_markPrefix = AJAX_MONITOR_PREFIX + iKey + ".";
|
|
409
410
|
}
|
|
410
411
|
}
|
|
411
|
-
_disableAjaxTracking = !!_extensionConfig[
|
|
412
|
-
_disableFetchTracking = !!_extensionConfig[_DYN_DISABLE_FETCH_TRACKI11 /* @min:%2edisableFetchTracking */];
|
|
412
|
+
_disableAjaxTracking = !!_extensionConfig[_DYN_DISABLE_AJAX_TRACKIN9 /* @min:%2edisableAjaxTracking */];
|
|
413
413
|
_maxAjaxPerfLookupAttempts = _extensionConfig.maxAjaxPerfLookupAttempts;
|
|
414
|
-
_ajaxPerfLookupDelay = _extensionConfig[
|
|
414
|
+
_ajaxPerfLookupDelay = _extensionConfig[_DYN_AJAX_PERF_LOOKUP_DEL10 /* @min:%2eajaxPerfLookupDelay */];
|
|
415
415
|
_ignoreHeaders = _extensionConfig.ignoreHeaders;
|
|
416
416
|
_appId = _extensionConfig.appId;
|
|
417
417
|
}));
|
|
@@ -443,79 +443,84 @@ var AjaxMonitor = /** @class */ (function (_super) {
|
|
|
443
443
|
}
|
|
444
444
|
var global = getGlobal();
|
|
445
445
|
var isPolyfill = fetch.polyfill;
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
!
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
446
|
+
_self[_DYN__ADD_HOOK /* @min:%2e_addHook */](onConfigChange(_extensionConfig, function () {
|
|
447
|
+
_disableFetchTracking = !!_extensionConfig[_DYN_DISABLE_FETCH_TRACKI11 /* @min:%2edisableFetchTracking */];
|
|
448
|
+
_enableResponseHeaderTracking = _extensionConfig[_DYN_ENABLE_RESPONSE_HEAD12 /* @min:%2eenableResponseHeaderTracking */];
|
|
449
|
+
if (!_disableFetchTracking && !_fetchInitialized) {
|
|
450
|
+
_addHook(InstrumentFunc(global, strFetch, {
|
|
451
|
+
ns: _evtNamespace,
|
|
452
|
+
// Add request hook
|
|
453
|
+
req: function (callDetails, input, init) {
|
|
454
|
+
var fetchData;
|
|
455
|
+
if (!_disableFetchTracking && _fetchInitialized &&
|
|
456
|
+
!_isDisabledRequest(null, input, init) &&
|
|
457
|
+
// If we have a polyfil and XHR instrumented then let XHR report otherwise we get duplicates
|
|
458
|
+
!(isPolyfill && _xhrInitialized)) {
|
|
459
|
+
var ctx = callDetails.ctx();
|
|
460
|
+
fetchData = _createFetchRecord(input, init);
|
|
461
|
+
var newInit = _self[_DYN_INCLUDE_CORRELATION_2 /* @min:%2eincludeCorrelationHeaders */](fetchData, input, init);
|
|
462
|
+
if (newInit !== init) {
|
|
463
|
+
callDetails.set(1, newInit);
|
|
464
|
+
}
|
|
465
|
+
ctx.data = fetchData;
|
|
461
466
|
}
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
}
|
|
486
|
-
ajaxResponse
|
|
487
|
-
}
|
|
488
|
-
return
|
|
467
|
+
},
|
|
468
|
+
rsp: function (callDetails, input) {
|
|
469
|
+
if (!_disableFetchTracking) {
|
|
470
|
+
var fetchData_1 = callDetails.ctx().data;
|
|
471
|
+
if (fetchData_1) {
|
|
472
|
+
// Replace the result with the new promise from this code
|
|
473
|
+
callDetails.rslt = callDetails.rslt.then(function (response) {
|
|
474
|
+
_reportFetchMetrics(callDetails, (response || {})[_DYN_STATUS /* @min:%2estatus */], input, response, fetchData_1, function () {
|
|
475
|
+
var _a;
|
|
476
|
+
var ajaxResponse = (_a = {
|
|
477
|
+
statusText: response[_DYN_STATUS_TEXT /* @min:%2estatusText */]
|
|
478
|
+
},
|
|
479
|
+
_a[_DYN_HEADER_MAP /* @min:headerMap */] = null,
|
|
480
|
+
_a[_DYN_CORRELATION_CONTEXT /* @min:correlationContext */] = _getFetchCorrelationContext(response),
|
|
481
|
+
_a);
|
|
482
|
+
if (_enableResponseHeaderTracking) {
|
|
483
|
+
var responseHeaderMap_1 = {};
|
|
484
|
+
response.headers.forEach(function (value, name) {
|
|
485
|
+
if (_canIncludeHeaders(name)) {
|
|
486
|
+
responseHeaderMap_1[name] = value;
|
|
487
|
+
}
|
|
488
|
+
});
|
|
489
|
+
ajaxResponse[_DYN_HEADER_MAP /* @min:%2eheaderMap */] = responseHeaderMap_1;
|
|
490
|
+
}
|
|
491
|
+
return ajaxResponse;
|
|
492
|
+
});
|
|
493
|
+
return response;
|
|
494
|
+
})
|
|
495
|
+
.catch(function (reason) {
|
|
496
|
+
_reportFetchMetrics(callDetails, 0, input, null, fetchData_1, null, { error: reason.message });
|
|
497
|
+
throw reason;
|
|
489
498
|
});
|
|
490
|
-
|
|
491
|
-
})
|
|
492
|
-
.catch(function (reason) {
|
|
493
|
-
_reportFetchMetrics(callDetails, 0, input, null, fetchData_1, null, { error: reason.message });
|
|
494
|
-
throw reason;
|
|
495
|
-
});
|
|
499
|
+
}
|
|
496
500
|
}
|
|
501
|
+
},
|
|
502
|
+
// Create an error callback to report any hook errors
|
|
503
|
+
hkErr: _createErrorCallbackFunc(_self, 15 /* _eInternalMessageId.FailedMonitorAjaxOpen */, "Failed to monitor Window.fetch" + ERROR_POSTFIX)
|
|
504
|
+
}));
|
|
505
|
+
_fetchInitialized = true;
|
|
506
|
+
}
|
|
507
|
+
else if (isPolyfill && !_polyfillInitialized) {
|
|
508
|
+
// If fetch is a polyfill we need to capture the request to ensure that we correctly track
|
|
509
|
+
// disabled request URLS (i.e. internal urls) to ensure we don't end up in a constant loop
|
|
510
|
+
// of reporting ourselves, for example React Native uses a polyfill for fetch
|
|
511
|
+
// Note: Polyfill implementations that don't support the "polyfill" tag are not supported
|
|
512
|
+
// the workaround is to add a polyfill property to your fetch implementation before initializing
|
|
513
|
+
// App Insights
|
|
514
|
+
_addHook(InstrumentFunc(global, strFetch, {
|
|
515
|
+
ns: _evtNamespace,
|
|
516
|
+
req: function (callDetails, input, init) {
|
|
517
|
+
// Just call so that we record any disabled URL
|
|
518
|
+
_isDisabledRequest(null, input, init);
|
|
497
519
|
}
|
|
498
|
-
}
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
_fetchInitialized = true;
|
|
503
|
-
}
|
|
504
|
-
else if (isPolyfill) {
|
|
505
|
-
// If fetch is a polyfill we need to capture the request to ensure that we correctly track
|
|
506
|
-
// disabled request URLS (i.e. internal urls) to ensure we don't end up in a constant loop
|
|
507
|
-
// of reporting ourselves, for example React Native uses a polyfill for fetch
|
|
508
|
-
// Note: Polyfill implementations that don't support the "poyyfill" tag are not supported
|
|
509
|
-
// the workaround is to add a polyfill property to your fetch implementation before initializing
|
|
510
|
-
// App Insights
|
|
511
|
-
_addHook(InstrumentFunc(global, strFetch, {
|
|
512
|
-
ns: _evtNamespace,
|
|
513
|
-
req: function (callDetails, input, init) {
|
|
514
|
-
// Just call so that we record any disabled URL
|
|
515
|
-
_isDisabledRequest(null, input, init);
|
|
516
|
-
}
|
|
517
|
-
}));
|
|
518
|
-
}
|
|
520
|
+
}));
|
|
521
|
+
_polyfillInitialized = true;
|
|
522
|
+
}
|
|
523
|
+
}));
|
|
519
524
|
if (isPolyfill) {
|
|
520
525
|
// retag the instrumented fetch with the same polyfill settings this is mostly for testing
|
|
521
526
|
// But also supports multiple App Insights usages
|
|
@@ -526,73 +531,80 @@ var AjaxMonitor = /** @class */ (function (_super) {
|
|
|
526
531
|
_addHook(InstrumentProto(target, funcName, callbacks));
|
|
527
532
|
}
|
|
528
533
|
function _instrumentXhr() {
|
|
529
|
-
if (_supportsAjaxMonitoring(_self)
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
534
|
+
if (!_supportsAjaxMonitoring(_self)) {
|
|
535
|
+
return;
|
|
536
|
+
}
|
|
537
|
+
_self[_DYN__ADD_HOOK /* @min:%2e_addHook */](onConfigChange(_extensionConfig, function () {
|
|
538
|
+
_disableAjaxTracking = !!_extensionConfig[_DYN_DISABLE_AJAX_TRACKIN9 /* @min:%2edisableAjaxTracking */];
|
|
539
|
+
_enableRequestHeaderTracking = _extensionConfig[_DYN_ENABLE_REQUEST_HEADE4 /* @min:%2eenableRequestHeaderTracking */];
|
|
540
|
+
if (!_disableAjaxTracking && !_xhrInitialized) {
|
|
541
|
+
// Instrument open
|
|
542
|
+
_hookProto(XMLHttpRequest, "open", {
|
|
543
|
+
ns: _evtNamespace,
|
|
544
|
+
req: function (args, method, url, async) {
|
|
545
|
+
if (!_disableAjaxTracking) {
|
|
546
|
+
var xhr = args[_DYN_INST /* @min:%2einst */];
|
|
547
|
+
var ajaxData = xhr[strAjaxData];
|
|
548
|
+
if (!_isDisabledRequest(xhr, url) && _isMonitoredXhrInstance(xhr, true)) {
|
|
549
|
+
if (!ajaxData || !ajaxData.xhrMonitoringState[_DYN_OPEN_DONE /* @min:%2eopenDone */]) {
|
|
550
|
+
// Only create a single ajaxData (even when multiple AI instances are running)
|
|
551
|
+
_openHandler(xhr, method, url, async);
|
|
552
|
+
}
|
|
553
|
+
// always attach to the on ready state change (required for handling multiple instances)
|
|
554
|
+
_attachToOnReadyStateChange(xhr);
|
|
541
555
|
}
|
|
542
|
-
// always attach to the on ready state change (required for handling multiple instances)
|
|
543
|
-
_attachToOnReadyStateChange(xhr);
|
|
544
556
|
}
|
|
545
|
-
}
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
557
|
+
},
|
|
558
|
+
hkErr: _createErrorCallbackFunc(_self, 15 /* _eInternalMessageId.FailedMonitorAjaxOpen */, ERROR_HEADER + ".open" + ERROR_POSTFIX)
|
|
559
|
+
});
|
|
560
|
+
// Instrument send
|
|
561
|
+
_hookProto(XMLHttpRequest, "send", {
|
|
562
|
+
ns: _evtNamespace,
|
|
563
|
+
req: function (args, context) {
|
|
564
|
+
if (!_disableAjaxTracking) {
|
|
565
|
+
var xhr = args[_DYN_INST /* @min:%2einst */];
|
|
566
|
+
var ajaxData = xhr[strAjaxData];
|
|
567
|
+
if (_isMonitoredXhrInstance(xhr) && !ajaxData.xhrMonitoringState[_DYN_SEND_DONE /* @min:%2esendDone */]) {
|
|
568
|
+
_createMarkId("xhr", ajaxData);
|
|
569
|
+
ajaxData[_DYN_REQUEST_SENT_TIME /* @min:%2erequestSentTime */] = dateTimeUtilsNow();
|
|
570
|
+
_self[_DYN_INCLUDE_CORRELATION_2 /* @min:%2eincludeCorrelationHeaders */](ajaxData, undefined, undefined, xhr);
|
|
571
|
+
ajaxData.xhrMonitoringState[_DYN_SEND_DONE /* @min:%2esendDone */] = true;
|
|
572
|
+
}
|
|
561
573
|
}
|
|
562
|
-
}
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
574
|
+
},
|
|
575
|
+
hkErr: _createErrorCallbackFunc(_self, 17 /* _eInternalMessageId.FailedMonitorAjaxSend */, ERROR_HEADER + ERROR_POSTFIX)
|
|
576
|
+
});
|
|
577
|
+
// Instrument abort
|
|
578
|
+
_hookProto(XMLHttpRequest, "abort", {
|
|
579
|
+
ns: _evtNamespace,
|
|
580
|
+
req: function (args) {
|
|
581
|
+
if (!_disableAjaxTracking) {
|
|
582
|
+
var xhr = args[_DYN_INST /* @min:%2einst */];
|
|
583
|
+
var ajaxData = xhr[strAjaxData];
|
|
584
|
+
if (_isMonitoredXhrInstance(xhr) && !ajaxData.xhrMonitoringState[_DYN_ABORT_DONE /* @min:%2eabortDone */]) {
|
|
585
|
+
ajaxData.aborted = 1;
|
|
586
|
+
ajaxData.xhrMonitoringState[_DYN_ABORT_DONE /* @min:%2eabortDone */] = true;
|
|
587
|
+
}
|
|
576
588
|
}
|
|
577
|
-
}
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
+
},
|
|
590
|
+
hkErr: _createErrorCallbackFunc(_self, 13 /* _eInternalMessageId.FailedMonitorAjaxAbort */, ERROR_HEADER + ".abort" + ERROR_POSTFIX)
|
|
591
|
+
});
|
|
592
|
+
// Instrument setRequestHeader
|
|
593
|
+
_hookProto(XMLHttpRequest, "setRequestHeader", {
|
|
594
|
+
ns: _evtNamespace,
|
|
595
|
+
req: function (args, header, value) {
|
|
596
|
+
if (!_disableAjaxTracking && _enableRequestHeaderTracking) {
|
|
597
|
+
var xhr = args[_DYN_INST /* @min:%2einst */];
|
|
598
|
+
if (_isMonitoredXhrInstance(xhr) && _canIncludeHeaders(header)) {
|
|
599
|
+
xhr[strAjaxData][_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */][header] = value;
|
|
600
|
+
}
|
|
589
601
|
}
|
|
590
|
-
}
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
}
|
|
602
|
+
},
|
|
603
|
+
hkErr: _createErrorCallbackFunc(_self, 71 /* _eInternalMessageId.FailedMonitorAjaxSetRequestHeader */, ERROR_HEADER + ".setRequestHeader" + ERROR_POSTFIX)
|
|
604
|
+
});
|
|
605
|
+
_xhrInitialized = true;
|
|
606
|
+
}
|
|
607
|
+
}));
|
|
596
608
|
}
|
|
597
609
|
function _isDisabledRequest(xhr, request, init) {
|
|
598
610
|
var isDisabled = false;
|