@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.
- package/browser/applicationinsights-dependencies-js.integrity.json +9 -9
- package/browser/applicationinsights-dependencies-js.js +159 -113
- 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 +1 -1
- package/dist/applicationinsights-dependencies-js.d.ts +1 -1
- package/dist/applicationinsights-dependencies-js.js +159 -113
- 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/TraceParent.js +1 -1
- package/dist-esm/ajax.js +149 -111
- 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 +4 -4
- package/src/ajax.ts +175 -125
- package/types/tsdoc-metadata.json +1 -1
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "applicationinsights-dependencies-js",
|
|
3
|
-
"version": "2.8.0-beta.2203-
|
|
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-
|
|
8
|
+
"integrity": "sha256-fNu6GqrLqA9OS6p5CMVWmTvvLgZwaM3i5r6qsVyS5fE= sha384-bIEO8UpG2vfYXb7bukk2R/qNnckD1260wEwg+mYGHtlMtm9WJFU0afy15UYYptBS sha512-EvO5e8iZMVv9M6THxfK64b/cjpKD0Wdr3DuVuLip1Qv2FQ0pEWgH3qVNNds4EtvUa7J9tw3gls1HjiSuVJ2rjw==",
|
|
9
9
|
"hashes": {
|
|
10
|
-
"sha256": "
|
|
11
|
-
"sha384": "
|
|
12
|
-
"sha512": "
|
|
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
|
|
18
|
+
"integrity": "sha256-/JSnUoBCdNhWDu7rnFpgqKjJ30BW2zlo5uKGeV0i+I4= sha384-+WGYuMqXLB5TJuduWGiP92MUBYu9IA4d/Hu0vXfM89ZxuPtrASirDOwmNeId5g5z sha512-bU0QteeGVvQupT4BuX0KPDJoUC0gSJHnFZEYxz9/XDrQzn/W2iyoHoVyrVmVID2Fh944fU9xhtAPhw8aozK73g==",
|
|
19
19
|
"hashes": {
|
|
20
|
-
"sha256": "
|
|
21
|
-
"sha384": "
|
|
22
|
-
"sha512": "
|
|
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-
|
|
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) {
|
|
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 __() {
|
|
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.
|
|
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 () {
|
|
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
|
|
2820
|
-
var
|
|
2821
|
-
var
|
|
2822
|
-
var
|
|
2823
|
-
var
|
|
2824
|
-
var
|
|
2825
|
-
var
|
|
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
|
|
2833
|
-
var _maxAjaxCallsPerView
|
|
2834
|
-
var _enableResponseHeaderTracking
|
|
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
|
-
|
|
2851
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 (
|
|
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
|
-
|
|
3009
|
-
|
|
3010
|
-
|
|
3011
|
-
|
|
3012
|
-
|
|
3013
|
-
|
|
3014
|
-
|
|
3015
|
-
|
|
3016
|
-
|
|
3017
|
-
|
|
3018
|
-
|
|
3019
|
-
|
|
3020
|
-
|
|
3021
|
-
|
|
3022
|
-
|
|
3023
|
-
|
|
3024
|
-
|
|
3025
|
-
|
|
3026
|
-
|
|
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
|
-
|
|
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
|
-
|
|
3058
|
-
|
|
3059
|
-
|
|
3060
|
-
if (!
|
|
3061
|
-
|
|
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
|
-
|
|
3071
|
-
|
|
3072
|
-
|
|
3073
|
-
|
|
3074
|
-
|
|
3075
|
-
|
|
3076
|
-
|
|
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
|
-
|
|
3084
|
-
|
|
3085
|
-
|
|
3086
|
-
ajaxData.
|
|
3087
|
-
|
|
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
|
-
|
|
3093
|
-
|
|
3094
|
-
|
|
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
|
-
|
|
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
|
}
|