@microsoft/applicationinsights-dependencies-js 2.8.0-beta.2203-08 → 2.8.0-beta.2203-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.
@@ -1,25 +1,25 @@
1
1
  {
2
2
  "name": "applicationinsights-dependencies-js",
3
- "version": "2.8.0-beta.2203-08",
3
+ "version": "2.8.0-beta.2203-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-l7ZtgfOtXfUOdT0610zwm00KmW5WHa8HKdqYiE3xZoQ= sha384-rv2D5GpecrAHdMKf7mxSMhX/EBZXOvPnz/t8zNy1CPVvidfOlqLWuyGpoofXCeF1 sha512-fULCTeoq3N1TMJrPHHSLatHWPJfQldSznusivAjW2jDL8/JFmzlcjjeWs2bJLfMb0ufFi1KJY4XarwjmkH43uA==",
8
+ "integrity": "sha256-fNu6GqrLqA9OS6p5CMVWmTvvLgZwaM3i5r6qsVyS5fE= sha384-bIEO8UpG2vfYXb7bukk2R/qNnckD1260wEwg+mYGHtlMtm9WJFU0afy15UYYptBS sha512-EvO5e8iZMVv9M6THxfK64b/cjpKD0Wdr3DuVuLip1Qv2FQ0pEWgH3qVNNds4EtvUa7J9tw3gls1HjiSuVJ2rjw==",
9
9
  "hashes": {
10
- "sha256": "l7ZtgfOtXfUOdT0610zwm00KmW5WHa8HKdqYiE3xZoQ=",
11
- "sha384": "rv2D5GpecrAHdMKf7mxSMhX/EBZXOvPnz/t8zNy1CPVvidfOlqLWuyGpoofXCeF1",
12
- "sha512": "fULCTeoq3N1TMJrPHHSLatHWPJfQldSznusivAjW2jDL8/JFmzlcjjeWs2bJLfMb0ufFi1KJY4XarwjmkH43uA=="
10
+ "sha256": "fNu6GqrLqA9OS6p5CMVWmTvvLgZwaM3i5r6qsVyS5fE=",
11
+ "sha384": "bIEO8UpG2vfYXb7bukk2R/qNnckD1260wEwg+mYGHtlMtm9WJFU0afy15UYYptBS",
12
+ "sha512": "EvO5e8iZMVv9M6THxfK64b/cjpKD0Wdr3DuVuLip1Qv2FQ0pEWgH3qVNNds4EtvUa7J9tw3gls1HjiSuVJ2rjw=="
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-udu3vgu0CFuFq/KzMliz2EdGgrHFUWoq+QyCcbtDlMQ= sha384-ctJGmY6bxpwiAnBp3d3jZpGt5ZJ6vMeZ2zQkUXC5F95LYRyP8OdKITLSQrAjoXy5 sha512-fJDie5/AOvjUFcSSpG4ZLwW/0gtE43hEw+RNU5er+fq7o9J7S2TUOixdQBAe+kf/AKGENs7PcWkeydFbmLxuOA==",
18
+ "integrity": "sha256-/JSnUoBCdNhWDu7rnFpgqKjJ30BW2zlo5uKGeV0i+I4= sha384-+WGYuMqXLB5TJuduWGiP92MUBYu9IA4d/Hu0vXfM89ZxuPtrASirDOwmNeId5g5z sha512-bU0QteeGVvQupT4BuX0KPDJoUC0gSJHnFZEYxz9/XDrQzn/W2iyoHoVyrVmVID2Fh944fU9xhtAPhw8aozK73g==",
19
19
  "hashes": {
20
- "sha256": "udu3vgu0CFuFq/KzMliz2EdGgrHFUWoq+QyCcbtDlMQ=",
21
- "sha384": "ctJGmY6bxpwiAnBp3d3jZpGt5ZJ6vMeZ2zQkUXC5F95LYRyP8OdKITLSQrAjoXy5",
22
- "sha512": "fJDie5/AOvjUFcSSpG4ZLwW/0gtE43hEw+RNU5er+fq7o9J7S2TUOixdQBAe+kf/AKGENs7PcWkeydFbmLxuOA=="
20
+ "sha256": "/JSnUoBCdNhWDu7rnFpgqKjJ30BW2zlo5uKGeV0i+I4=",
21
+ "sha384": "+WGYuMqXLB5TJuduWGiP92MUBYu9IA4d/Hu0vXfM89ZxuPtrASirDOwmNeId5g5z",
22
+ "sha512": "bU0QteeGVvQupT4BuX0KPDJoUC0gSJHnFZEYxz9/XDrQzn/W2iyoHoVyrVmVID2Fh944fU9xhtAPhw8aozK73g=="
23
23
  }
24
24
  }
25
25
  }
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Dependencies Plugin, 2.8.0-beta.2203-08
2
+ * Application Insights JavaScript SDK - Dependencies Plugin, 2.8.0-beta.2203-11
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
@@ -75,7 +75,9 @@
75
75
  var __assignFn = ObjAssign || __objAssignFnImpl;
76
76
  var extendStaticsFn = function (d, b) {
77
77
  extendStaticsFn = ObjClass["setPrototypeOf"] ||
78
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
78
+ ({ __proto__: [] } instanceof Array && function (d, b) {
79
+ d.__proto__ = b;
80
+ }) ||
79
81
  function (d, b) {
80
82
  for (var p in b) {
81
83
  if (b[strShimHasOwnProperty](p)) {
@@ -90,7 +92,9 @@
90
92
  throwTypeError("Class extends value " + String(b) + " is not a constructor or null");
91
93
  }
92
94
  extendStaticsFn(d, b);
93
- function __() { this.constructor = d; }
95
+ function __() {
96
+ this.constructor = d;
97
+ }
94
98
  d[strShimPrototype] = b === null ? objCreateFn(b) : (__[strShimPrototype] = b[strShimPrototype], new __());
95
99
  }
96
100
 
@@ -1138,7 +1142,7 @@
1138
1142
  }
1139
1143
 
1140
1144
  var _objDefineProperty = ObjDefineProperty;
1141
- var version = "2.7.3";
1145
+ var version = "2.8.0-beta.2203-11";
1142
1146
  var instanceName = "." + newId(6);
1143
1147
  var _dataUid = 0;
1144
1148
  function _createAccessor(target, prop, value) {
@@ -1236,7 +1240,9 @@
1236
1240
  var context = {
1237
1241
  _next: _moveNext,
1238
1242
  ctx: {
1239
- core: function () { return core; },
1243
+ core: function () {
1244
+ return core;
1245
+ },
1240
1246
  diagLog: function () {
1241
1247
  return safeGetLogger(core, config);
1242
1248
  },
@@ -1734,6 +1740,8 @@
1734
1740
  var strEvents = "events";
1735
1741
  createUniqueNamespace("aiEvtPageHide");
1736
1742
  createUniqueNamespace("aiEvtPageShow");
1743
+ var rRemoveEmptyNs = /\.[\.]+/g;
1744
+ var rRemoveTrailingEmptyNs = /[\.]+$/;
1737
1745
  var _guid = 1;
1738
1746
  var elmNodeData = createElmNodeData("events");
1739
1747
  var eventNamespace = /^([^.]*)(?:\.(.+)|)/;
@@ -1768,10 +1776,10 @@
1768
1776
  eventName = (eventName || "") + theNamespace_1;
1769
1777
  }
1770
1778
  }
1771
- var parsedEvent = (eventNamespace.exec(eventName) || []);
1779
+ var parsedEvent = (eventNamespace.exec(eventName || "") || []);
1772
1780
  return {
1773
1781
  type: parsedEvent[1],
1774
- ns: ((parsedEvent[2] || "").split(".").sort()).join(".")
1782
+ ns: ((parsedEvent[2] || "").replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, "").split(".").sort()).join(".")
1775
1783
  };
1776
1784
  }
1777
1785
  function _getRegisteredEvents(target, evtName, addDefault) {
@@ -1806,6 +1814,7 @@
1806
1814
  else {
1807
1815
  newNamespaces = [theNamespace, namespaces];
1808
1816
  }
1817
+ newNamespaces = (_getEvtNamespace("xx", newNamespaces).ns).split(".");
1809
1818
  }
1810
1819
  else {
1811
1820
  newNamespaces = theNamespace;
@@ -2737,6 +2746,7 @@
2737
2746
  var strAjaxData = "ajaxData";
2738
2747
  var strThrowInternal = "throwInternal";
2739
2748
  var strFetch = "fetch";
2749
+ var strTrackDependencyDataInternal = "trackDependencyDataInternal";
2740
2750
  var _markCount = 0;
2741
2751
  function _supportsFetch() {
2742
2752
  var _global = getGlobal();
@@ -2816,77 +2826,41 @@
2816
2826
  var _this = _super.call(this) || this;
2817
2827
  _this.identifier = AjaxMonitor.identifier;
2818
2828
  _this.priority = 120;
2819
- var strTrackDependencyDataInternal = "trackDependencyDataInternal";
2820
- var location = getLocation();
2821
- var _fetchInitialized = false;
2822
- var _xhrInitialized = false;
2823
- var _currentWindowHost = location && location.host && location.host.toLowerCase();
2824
- var _config = AjaxMonitor.getEmptyConfig();
2825
- var _enableRequestHeaderTracking = false;
2826
- var _enableAjaxErrorStatusText = false;
2827
- var _trackAjaxAttempts = 0;
2829
+ var _fetchInitialized;
2830
+ var _xhrInitialized;
2831
+ var _currentWindowHost;
2832
+ var _config;
2833
+ var _enableRequestHeaderTracking;
2834
+ var _enableAjaxErrorStatusText;
2835
+ var _trackAjaxAttempts;
2828
2836
  var _context;
2829
2837
  var _isUsingW3CHeaders;
2830
2838
  var _isUsingAIHeaders;
2831
2839
  var _markPrefix;
2832
- var _enableAjaxPerfTracking = false;
2833
- var _maxAjaxCallsPerView = 0;
2834
- var _enableResponseHeaderTracking = false;
2835
- var _disabledUrls = {};
2840
+ var _enableAjaxPerfTracking;
2841
+ var _maxAjaxCallsPerView;
2842
+ var _enableResponseHeaderTracking;
2843
+ var _disabledUrls;
2844
+ var _disableAjaxTracking;
2845
+ var _disableFetchTracking;
2836
2846
  var _excludeRequestFromAutoTrackingPatterns;
2837
2847
  var _addRequestContext;
2838
2848
  var _evtNamespace;
2839
2849
  dynamicProto(AjaxMonitor, _this, function (_self, _base) {
2840
2850
  var _addHook = _base._addHook;
2851
+ _initDefaults();
2841
2852
  _self.initialize = function (config, core, extensions, pluginChain) {
2842
2853
  if (!_self.isInitialized()) {
2843
2854
  _base.initialize(config, core, extensions, pluginChain);
2844
- var ctx_1 = _self._getTelCtx();
2845
- var defaultConfig = AjaxMonitor.getDefaultConfig();
2846
- objForEachKey(defaultConfig, function (field, value) {
2847
- _config[field] = ctx_1.getConfig(AjaxMonitor.identifier, field, value);
2848
- });
2849
2855
  _evtNamespace = mergeEvtNamespace(createUniqueNamespace("ajax"), core && core.evtNamespace && core.evtNamespace());
2850
- var distributedTracingMode = _config.distributedTracingMode;
2851
- _enableRequestHeaderTracking = _config.enableRequestHeaderTracking;
2852
- _enableAjaxErrorStatusText = _config.enableAjaxErrorStatusText;
2853
- _enableAjaxPerfTracking = _config.enableAjaxPerfTracking;
2854
- _maxAjaxCallsPerView = _config.maxAjaxCallsPerView;
2855
- _enableResponseHeaderTracking = _config.enableResponseHeaderTracking;
2856
- _excludeRequestFromAutoTrackingPatterns = _config.excludeRequestFromAutoTrackingPatterns;
2857
- _addRequestContext = _config.addRequestContext;
2858
- _isUsingAIHeaders = distributedTracingMode === 0 || distributedTracingMode === 1 ;
2859
- _isUsingW3CHeaders = distributedTracingMode === 1 || distributedTracingMode === 2 ;
2860
- if (_enableAjaxPerfTracking) {
2861
- var iKey = config.instrumentationKey || "unkwn";
2862
- if (iKey.length > 5) {
2863
- _markPrefix = AJAX_MONITOR_PREFIX + iKey.substring(iKey.length - 5) + ".";
2864
- }
2865
- else {
2866
- _markPrefix = AJAX_MONITOR_PREFIX + iKey + ".";
2867
- }
2868
- }
2869
- if (_config.disableAjaxTracking === false) {
2870
- _instrumentXhr();
2871
- }
2856
+ _populateDefaults(config);
2857
+ _instrumentXhr();
2872
2858
  _instrumentFetch();
2873
- if (extensions.length > 0 && extensions) {
2874
- var propExt = void 0, extIx = 0;
2875
- while (!propExt && extIx < extensions.length) {
2876
- if (extensions[extIx] && extensions[extIx].identifier === PropertiesPluginIdentifier) {
2877
- propExt = extensions[extIx];
2878
- }
2879
- extIx++;
2880
- }
2881
- if (propExt) {
2882
- _context = propExt.context;
2883
- }
2884
- }
2859
+ _populateContext();
2885
2860
  }
2886
2861
  };
2887
2862
  _self._doTeardown = function () {
2888
- _fetchInitialized = false;
2889
- _xhrInitialized = false;
2863
+ _initDefaults();
2890
2864
  };
2891
2865
  _self.trackDependencyData = function (dependency, properties) {
2892
2866
  _self[strTrackDependencyDataInternal](dependency, properties);
@@ -2969,6 +2943,64 @@
2969
2943
  }
2970
2944
  ++_trackAjaxAttempts;
2971
2945
  };
2946
+ function _initDefaults() {
2947
+ var location = getLocation();
2948
+ _fetchInitialized = false;
2949
+ _xhrInitialized = false;
2950
+ _currentWindowHost = location && location.host && location.host.toLowerCase();
2951
+ _config = AjaxMonitor.getEmptyConfig();
2952
+ _enableRequestHeaderTracking = false;
2953
+ _enableAjaxErrorStatusText = false;
2954
+ _trackAjaxAttempts = 0;
2955
+ _context = null;
2956
+ _isUsingW3CHeaders = false;
2957
+ _isUsingAIHeaders = false;
2958
+ _markPrefix = null;
2959
+ _enableAjaxPerfTracking = false;
2960
+ _maxAjaxCallsPerView = 0;
2961
+ _enableResponseHeaderTracking = false;
2962
+ _disabledUrls = {};
2963
+ _disableAjaxTracking = false;
2964
+ _disableFetchTracking = true;
2965
+ _excludeRequestFromAutoTrackingPatterns = null;
2966
+ _addRequestContext = null;
2967
+ _evtNamespace = null;
2968
+ }
2969
+ function _populateDefaults(config) {
2970
+ var ctx = createProcessTelemetryContext(null, config, _self.core);
2971
+ _config = AjaxMonitor.getEmptyConfig();
2972
+ var defaultConfig = AjaxMonitor.getDefaultConfig();
2973
+ objForEachKey(defaultConfig, function (field, value) {
2974
+ _config[field] = ctx.getConfig(AjaxMonitor.identifier, field, value);
2975
+ });
2976
+ var distributedTracingMode = _config.distributedTracingMode;
2977
+ _enableRequestHeaderTracking = _config.enableRequestHeaderTracking;
2978
+ _enableAjaxErrorStatusText = _config.enableAjaxErrorStatusText;
2979
+ _enableAjaxPerfTracking = _config.enableAjaxPerfTracking;
2980
+ _maxAjaxCallsPerView = _config.maxAjaxCallsPerView;
2981
+ _enableResponseHeaderTracking = _config.enableResponseHeaderTracking;
2982
+ _excludeRequestFromAutoTrackingPatterns = _config.excludeRequestFromAutoTrackingPatterns;
2983
+ _addRequestContext = _config.addRequestContext;
2984
+ _isUsingAIHeaders = distributedTracingMode === 0 || distributedTracingMode === 1 ;
2985
+ _isUsingW3CHeaders = distributedTracingMode === 1 || distributedTracingMode === 2 ;
2986
+ if (_enableAjaxPerfTracking) {
2987
+ var iKey = config.instrumentationKey || "unkwn";
2988
+ if (iKey.length > 5) {
2989
+ _markPrefix = AJAX_MONITOR_PREFIX + iKey.substring(iKey.length - 5) + ".";
2990
+ }
2991
+ else {
2992
+ _markPrefix = AJAX_MONITOR_PREFIX + iKey + ".";
2993
+ }
2994
+ }
2995
+ _disableAjaxTracking = !!_config.disableAjaxTracking;
2996
+ _disableFetchTracking = !!_config.disableFetchTracking;
2997
+ }
2998
+ function _populateContext() {
2999
+ var propExt = _self.core.getPlugin(PropertiesPluginIdentifier);
3000
+ if (propExt) {
3001
+ _context = propExt.plugin.context;
3002
+ }
3003
+ }
2972
3004
  function _canIncludeHeaders(header) {
2973
3005
  var rlt = true;
2974
3006
  if (header || _config.ignoreHeaders) {
@@ -2988,11 +3020,12 @@
2988
3020
  }
2989
3021
  var global = getGlobal();
2990
3022
  var isPolyfill = fetch.polyfill;
2991
- if (_config.disableFetchTracking === false) {
3023
+ if (!_disableFetchTracking && !_fetchInitialized) {
2992
3024
  _addHook(InstrumentFunc(global, strFetch, {
3025
+ ns: _evtNamespace,
2993
3026
  req: function (callDetails, input, init) {
2994
3027
  var fetchData;
2995
- if (_fetchInitialized &&
3028
+ if (!_disableFetchTracking && _fetchInitialized &&
2996
3029
  !_isDisabledRequest(null, input, init) &&
2997
3030
  !(isPolyfill && _xhrInitialized)) {
2998
3031
  var ctx = callDetails.ctx();
@@ -3005,31 +3038,33 @@
3005
3038
  }
3006
3039
  },
3007
3040
  rsp: function (callDetails, input) {
3008
- var fetchData = callDetails.ctx().data;
3009
- if (fetchData) {
3010
- callDetails.rslt = callDetails.rslt.then(function (response) {
3011
- _reportFetchMetrics(callDetails, (response || {}).status, input, response, fetchData, function () {
3012
- var ajaxResponse = {
3013
- statusText: response.statusText,
3014
- headerMap: null,
3015
- correlationContext: _getFetchCorrelationContext(response)
3016
- };
3017
- if (_enableResponseHeaderTracking) {
3018
- var responseHeaderMap_1 = {};
3019
- response.headers.forEach(function (value, name) {
3020
- if (_canIncludeHeaders(name)) {
3021
- responseHeaderMap_1[name] = value;
3022
- }
3023
- });
3024
- ajaxResponse.headerMap = responseHeaderMap_1;
3025
- }
3026
- return ajaxResponse;
3041
+ if (!_disableFetchTracking) {
3042
+ var fetchData_1 = callDetails.ctx().data;
3043
+ if (fetchData_1) {
3044
+ callDetails.rslt = callDetails.rslt.then(function (response) {
3045
+ _reportFetchMetrics(callDetails, (response || {}).status, input, response, fetchData_1, function () {
3046
+ var ajaxResponse = {
3047
+ statusText: response.statusText,
3048
+ headerMap: null,
3049
+ correlationContext: _getFetchCorrelationContext(response)
3050
+ };
3051
+ if (_enableResponseHeaderTracking) {
3052
+ var responseHeaderMap_1 = {};
3053
+ response.headers.forEach(function (value, name) {
3054
+ if (_canIncludeHeaders(name)) {
3055
+ responseHeaderMap_1[name] = value;
3056
+ }
3057
+ });
3058
+ ajaxResponse.headerMap = responseHeaderMap_1;
3059
+ }
3060
+ return ajaxResponse;
3061
+ });
3062
+ return response;
3063
+ })["catch"](function (reason) {
3064
+ _reportFetchMetrics(callDetails, 0, input, null, fetchData_1, null, { error: reason.message });
3065
+ throw reason;
3027
3066
  });
3028
- return response;
3029
- })["catch"](function (reason) {
3030
- _reportFetchMetrics(callDetails, 0, input, null, fetchData, null, { error: reason.message });
3031
- throw reason;
3032
- });
3067
+ }
3033
3068
  }
3034
3069
  },
3035
3070
  hkErr: _createErrorCallbackFunc(_self, _InternalMessageId.FailedMonitorAjaxOpen, "Failed to monitor Window.fetch, monitoring data for this fetch call may be incorrect.")
@@ -3038,6 +3073,7 @@
3038
3073
  }
3039
3074
  else if (isPolyfill) {
3040
3075
  _addHook(InstrumentFunc(global, strFetch, {
3076
+ ns: _evtNamespace,
3041
3077
  req: function (callDetails, input, init) {
3042
3078
  _isDisabledRequest(null, input, init);
3043
3079
  }
@@ -3051,55 +3087,65 @@
3051
3087
  _addHook(InstrumentProto(target, funcName, callbacks));
3052
3088
  }
3053
3089
  function _instrumentXhr() {
3054
- if (_supportsAjaxMonitoring(_self) && !_xhrInitialized) {
3090
+ if (_supportsAjaxMonitoring(_self) && !_disableAjaxTracking && !_xhrInitialized) {
3055
3091
  _hookProto(XMLHttpRequest, "open", {
3092
+ ns: _evtNamespace,
3056
3093
  req: function (args, method, url, async) {
3057
- var xhr = args.inst;
3058
- var ajaxData = xhr[strAjaxData];
3059
- if (!_isDisabledRequest(xhr, url) && _isMonitoredXhrInstance(xhr, true)) {
3060
- if (!ajaxData || !ajaxData.xhrMonitoringState.openDone) {
3061
- _openHandler(xhr, method, url, async);
3094
+ if (!_disableAjaxTracking) {
3095
+ var xhr = args.inst;
3096
+ var ajaxData = xhr[strAjaxData];
3097
+ if (!_isDisabledRequest(xhr, url) && _isMonitoredXhrInstance(xhr, true)) {
3098
+ if (!ajaxData || !ajaxData.xhrMonitoringState.openDone) {
3099
+ _openHandler(xhr, method, url, async);
3100
+ }
3101
+ _attachToOnReadyStateChange(xhr);
3062
3102
  }
3063
- _attachToOnReadyStateChange(xhr);
3064
3103
  }
3065
3104
  },
3066
3105
  hkErr: _createErrorCallbackFunc(_self, _InternalMessageId.FailedMonitorAjaxOpen, "Failed to monitor XMLHttpRequest.open, monitoring data for this ajax call may be incorrect.")
3067
3106
  });
3068
3107
  _hookProto(XMLHttpRequest, "send", {
3108
+ ns: _evtNamespace,
3069
3109
  req: function (args, context) {
3070
- var xhr = args.inst;
3071
- var ajaxData = xhr[strAjaxData];
3072
- if (_isMonitoredXhrInstance(xhr) && !ajaxData.xhrMonitoringState.sendDone) {
3073
- _createMarkId("xhr", ajaxData);
3074
- ajaxData.requestSentTime = dateTimeUtilsNow();
3075
- _self.includeCorrelationHeaders(ajaxData, undefined, undefined, xhr);
3076
- ajaxData.xhrMonitoringState.sendDone = true;
3110
+ if (!_disableAjaxTracking) {
3111
+ var xhr = args.inst;
3112
+ var ajaxData = xhr[strAjaxData];
3113
+ if (_isMonitoredXhrInstance(xhr) && !ajaxData.xhrMonitoringState.sendDone) {
3114
+ _createMarkId("xhr", ajaxData);
3115
+ ajaxData.requestSentTime = dateTimeUtilsNow();
3116
+ _self.includeCorrelationHeaders(ajaxData, undefined, undefined, xhr);
3117
+ ajaxData.xhrMonitoringState.sendDone = true;
3118
+ }
3077
3119
  }
3078
3120
  },
3079
3121
  hkErr: _createErrorCallbackFunc(_self, _InternalMessageId.FailedMonitorAjaxSend, "Failed to monitor XMLHttpRequest, monitoring data for this ajax call may be incorrect.")
3080
3122
  });
3081
3123
  _hookProto(XMLHttpRequest, "abort", {
3124
+ ns: _evtNamespace,
3082
3125
  req: function (args) {
3083
- var xhr = args.inst;
3084
- var ajaxData = xhr[strAjaxData];
3085
- if (_isMonitoredXhrInstance(xhr) && !ajaxData.xhrMonitoringState.abortDone) {
3086
- ajaxData.aborted = 1;
3087
- ajaxData.xhrMonitoringState.abortDone = true;
3126
+ if (!_disableAjaxTracking) {
3127
+ var xhr = args.inst;
3128
+ var ajaxData = xhr[strAjaxData];
3129
+ if (_isMonitoredXhrInstance(xhr) && !ajaxData.xhrMonitoringState.abortDone) {
3130
+ ajaxData.aborted = 1;
3131
+ ajaxData.xhrMonitoringState.abortDone = true;
3132
+ }
3088
3133
  }
3089
3134
  },
3090
3135
  hkErr: _createErrorCallbackFunc(_self, _InternalMessageId.FailedMonitorAjaxAbort, "Failed to monitor XMLHttpRequest.abort, monitoring data for this ajax call may be incorrect.")
3091
3136
  });
3092
- if (_enableRequestHeaderTracking) {
3093
- _hookProto(XMLHttpRequest, "setRequestHeader", {
3094
- req: function (args, header, value) {
3137
+ _hookProto(XMLHttpRequest, "setRequestHeader", {
3138
+ ns: _evtNamespace,
3139
+ req: function (args, header, value) {
3140
+ if (!_disableAjaxTracking && _enableRequestHeaderTracking) {
3095
3141
  var xhr = args.inst;
3096
3142
  if (_isMonitoredXhrInstance(xhr) && _canIncludeHeaders(header)) {
3097
3143
  xhr[strAjaxData].requestHeaders[header] = value;
3098
3144
  }
3099
- },
3100
- hkErr: _createErrorCallbackFunc(_self, _InternalMessageId.FailedMonitorAjaxSetRequestHeader, "Failed to monitor XMLHttpRequest.setRequestHeader, monitoring data for this ajax call may be incorrect.")
3101
- });
3102
- }
3145
+ }
3146
+ },
3147
+ hkErr: _createErrorCallbackFunc(_self, _InternalMessageId.FailedMonitorAjaxSetRequestHeader, "Failed to monitor XMLHttpRequest.setRequestHeader, monitoring data for this ajax call may be incorrect.")
3148
+ });
3103
3149
  _xhrInitialized = true;
3104
3150
  }
3105
3151
  }