@microsoft/applicationinsights-dependencies-js 3.0.0-beta.2302-01 → 3.0.0-beta.2302-02

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.
Files changed (34) hide show
  1. package/browser/applicationinsights-dependencies-js.integrity.json +9 -9
  2. package/browser/applicationinsights-dependencies-js.js +88 -37
  3. package/browser/applicationinsights-dependencies-js.js.map +1 -1
  4. package/browser/applicationinsights-dependencies-js.min.js +2 -2
  5. package/browser/applicationinsights-dependencies-js.min.js.map +1 -1
  6. package/dist/applicationinsights-dependencies-js.api.json +54 -0
  7. package/dist/applicationinsights-dependencies-js.api.md +2 -0
  8. package/dist/applicationinsights-dependencies-js.d.ts +11 -1
  9. package/dist/applicationinsights-dependencies-js.js +88 -37
  10. package/dist/applicationinsights-dependencies-js.js.map +1 -1
  11. package/dist/applicationinsights-dependencies-js.min.js +2 -2
  12. package/dist/applicationinsights-dependencies-js.min.js.map +1 -1
  13. package/dist/applicationinsights-dependencies-js.rollup.d.ts +11 -1
  14. package/dist-esm/DependencyInitializer.js +1 -1
  15. package/dist-esm/DependencyListener.js +1 -1
  16. package/dist-esm/InternalConstants.js +1 -1
  17. package/dist-esm/__DynamicConstants.js +8 -7
  18. package/dist-esm/__DynamicConstants.js.map +1 -1
  19. package/dist-esm/ajax.js +16 -14
  20. package/dist-esm/ajax.js.map +1 -1
  21. package/dist-esm/ajaxRecord.js +18 -12
  22. package/dist-esm/ajaxRecord.js.map +1 -1
  23. package/dist-esm/ajaxUtils.js +1 -1
  24. package/dist-esm/applicationinsights-dependencies-js.js +1 -1
  25. package/package.json +7 -6
  26. package/src/DependencyInitializer.ts +5 -0
  27. package/src/DependencyListener.ts +7 -0
  28. package/src/__DynamicConstants.ts +67 -66
  29. package/src/ajax.ts +40 -38
  30. package/src/ajaxRecord.ts +30 -24
  31. package/src/ajaxUtils.ts +6 -6
  32. package/types/DependencyInitializer.d.ts +4 -0
  33. package/types/DependencyListener.d.ts +6 -0
  34. package/types/__DynamicConstants.d.ts +1 -0
@@ -1,25 +1,25 @@
1
1
  {
2
2
  "name": "applicationinsights-dependencies-js",
3
- "version": "3.0.0-beta.2302-01",
3
+ "version": "3.0.0-beta.2302-02",
4
4
  "ext": {
5
5
  "@js": {
6
6
  "file": "applicationinsights-dependencies-js.js",
7
7
  "type": "text/javascript; charset=utf-8",
8
- "integrity": "sha256-QBqTVnjgIn1JcdTGLs18opQUp30vCW5BxXlwrWUdMTE= sha384-Yd8gwI1TKmv5spjT7eZo3zOAd/qDfTHe3nGAzuAfKrcOv0XLYEDCqF39Ekr493GL sha512-9PYY0br7MqwnPTG4gBNhzEOT2NnU1j9YAtR1fieEZaNDq05kiMGJc7ePD4OCk2pMOP0GBvWdyh929/zfBJSooQ==",
8
+ "integrity": "sha256-clKhCzJoc86HK+Sr4VnIBSmTtO1bcHc5BJIboHHn/S4= sha384-flW+CZXj+Z8p0+iTkhLMlIvfr8wMZg+nS3WAYv2I1nlkA7YWfzRQNK/tdZUy88ri sha512-k+gxKs5DIGrAKhR7G2HFCpuWzUgyJo0EsD2y+lLE+n060U44qHiexNhTOEyaEL1PGMshZHHIdsOIikt+l88slg==",
9
9
  "hashes": {
10
- "sha256": "QBqTVnjgIn1JcdTGLs18opQUp30vCW5BxXlwrWUdMTE=",
11
- "sha384": "Yd8gwI1TKmv5spjT7eZo3zOAd/qDfTHe3nGAzuAfKrcOv0XLYEDCqF39Ekr493GL",
12
- "sha512": "9PYY0br7MqwnPTG4gBNhzEOT2NnU1j9YAtR1fieEZaNDq05kiMGJc7ePD4OCk2pMOP0GBvWdyh929/zfBJSooQ=="
10
+ "sha256": "clKhCzJoc86HK+Sr4VnIBSmTtO1bcHc5BJIboHHn/S4=",
11
+ "sha384": "flW+CZXj+Z8p0+iTkhLMlIvfr8wMZg+nS3WAYv2I1nlkA7YWfzRQNK/tdZUy88ri",
12
+ "sha512": "k+gxKs5DIGrAKhR7G2HFCpuWzUgyJo0EsD2y+lLE+n060U44qHiexNhTOEyaEL1PGMshZHHIdsOIikt+l88slg=="
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-tANT4Ay+BPtQ/ChdZkc2zkVwaYHy5qYbjghsV2RDxZM= sha384-e+44ZrOCgho5e0/3ueVR5kARA7Bsk1yYe70Bdcc2EnsT84AZH2pSgBvRiO+xx+xT sha512-1UQMaP46HLVi8oPmkpRauBzMJsTy0lBHyGoDuu0ecOIK25oLbriyLGVu99cxdq6wz6vXRMUBkcgXcQp7PJnsuw==",
18
+ "integrity": "sha256-A8z7jelPnZ7DkN71qYv7bRAtCn4QoFZnwUQnPA+6q+U= sha384-Zc8UJQ6wuiaS+YmithZA+7EYNPTX5X2Siirqm37aSS/aN8fknDkTux3ippGws4wu sha512-z8GJcR4z2FOwrmhgh724Vch/pgEVQW9oERi/Yj8NEytoGroQQZYMFlfRnh502ByfRyZQRYU7d0jYWsZ2e6Qytg==",
19
19
  "hashes": {
20
- "sha256": "tANT4Ay+BPtQ/ChdZkc2zkVwaYHy5qYbjghsV2RDxZM=",
21
- "sha384": "e+44ZrOCgho5e0/3ueVR5kARA7Bsk1yYe70Bdcc2EnsT84AZH2pSgBvRiO+xx+xT",
22
- "sha512": "1UQMaP46HLVi8oPmkpRauBzMJsTy0lBHyGoDuu0ecOIK25oLbriyLGVu99cxdq6wz6vXRMUBkcgXcQp7PJnsuw=="
20
+ "sha256": "A8z7jelPnZ7DkN71qYv7bRAtCn4QoFZnwUQnPA+6q+U=",
21
+ "sha384": "Zc8UJQ6wuiaS+YmithZA+7EYNPTX5X2Siirqm37aSS/aN8fknDkTux3ippGws4wu",
22
+ "sha512": "z8GJcR4z2FOwrmhgh724Vch/pgEVQW9oERi/Yj8NEytoGroQQZYMFlfRnh502ByfRyZQRYU7d0jYWsZ2e6Qytg=="
23
23
  }
24
24
  }
25
25
  }
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Dependencies Plugin, 3.0.0-beta.2302-01
2
+ * Application Insights JavaScript SDK - Dependencies Plugin, 3.0.0-beta.2302-02
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
@@ -881,6 +881,44 @@
881
881
  var TRIM = "trim";
882
882
  var strTrim = StrProto[TRIM] ? _unwrapFunction(TRIM) : polyStrTrim;
883
883
 
884
+ function _createTimerHandler(startTimer, refreshFn, cancelFn) {
885
+ var ref = true;
886
+ var timerId = startTimer ? refreshFn(null) : null;
887
+ function _unref() {
888
+ ref = false;
889
+ timerId && timerId["unref"] && timerId["unref"]();
890
+ return timer;
891
+ }
892
+ function _ref() {
893
+ ref = true;
894
+ timerId && timerId["ref"] && timerId["ref"]();
895
+ return timer;
896
+ }
897
+ function _hasRef() {
898
+ if (timerId && timerId["hasRef"]) {
899
+ return timerId["hasRef"]();
900
+ }
901
+ return ref;
902
+ }
903
+ var timer = {
904
+ cancel: function () {
905
+ timerId && cancelFn(timerId);
906
+ timerId = null;
907
+ },
908
+ refresh: function () {
909
+ timerId = refreshFn(timerId);
910
+ if (!ref) {
911
+ _unref();
912
+ }
913
+ return timer;
914
+ },
915
+ hasRef: _hasRef,
916
+ ref: _ref,
917
+ unref: _unref
918
+ };
919
+ return timer;
920
+ }
921
+
884
922
  function _extractArgs(args, startAt) {
885
923
  var theArgs = [];
886
924
  for (var lp = startAt; lp < args[LENGTH]; lp++) {
@@ -889,22 +927,26 @@
889
927
  return theArgs;
890
928
  }
891
929
 
892
- function _scheduleTimeoutWith(self, setTimeoutFn, clearTimeoutFn, theArgs) {
893
- var timeoutId = setTimeoutFn.apply(self, theArgs);
894
- return {
895
- cancel: function () {
896
- timeoutId && clearTimeoutFn.call(self, timeoutId);
897
- timeoutId = null;
898
- },
899
- refresh: function () {
900
- timeoutId && clearTimeoutFn.call(self, timeoutId);
901
- timeoutId = setTimeoutFn.apply(self, theArgs);
902
- return this;
930
+ function _createTimeoutWith(self, startTimer, overrideFn, theArgs) {
931
+ var isArr = isArray(overrideFn);
932
+ var len = isArr ? overrideFn.length : 0;
933
+ var setFn = (len > 0 ? overrideFn[0] : (!isArr ? overrideFn : UNDEF_VALUE)) || setTimeout;
934
+ var clearFn = (len > 1 ? overrideFn[1] : UNDEF_VALUE) || clearTimeout;
935
+ return _createTimerHandler(startTimer, function (timerId) {
936
+ if (timerId) {
937
+ if (timerId.refresh) {
938
+ timerId.refresh();
939
+ return timerId;
940
+ }
941
+ clearFn.call(self, timerId);
903
942
  }
904
- };
943
+ return setFn.apply(self, theArgs);
944
+ }, function (timerId) {
945
+ clearFn.call(self, timerId);
946
+ });
905
947
  }
906
948
  function scheduleTimeout(callback, timeout) {
907
- return _scheduleTimeoutWith(this, setTimeout, clearTimeout, _extractArgs(arguments, 0));
949
+ return _createTimeoutWith(this, true, UNDEF_VALUE, _extractArgs(arguments, 0));
908
950
  }
909
951
 
910
952
  var createValueMap = createTypeMap;
@@ -1218,7 +1260,7 @@
1218
1260
  }
1219
1261
 
1220
1262
  var _objDefineProperty = ObjDefineProperty;
1221
- var version = "3.0.0-beta.2302-01";
1263
+ var version = "3.0.0-beta.2302-02";
1222
1264
  var instanceName = "." + newId(6);
1223
1265
  var _dataUid = 0;
1224
1266
  function _createAccessor(target, prop, value) {
@@ -3486,6 +3528,7 @@
3486
3528
  var _DYN_SPAN_ID = "spanID";
3487
3529
  var _DYN_TRACE_FLAGS = "traceFlags";
3488
3530
  var _DYN_CONTEXT = "context";
3531
+ var _DYN_ABORTED = "aborted";
3489
3532
  var _DYN_TRACE_ID0 = "traceId";
3490
3533
  var _DYN_SPAN_ID1 = "spanId";
3491
3534
  var _DYN__ADD_HOOK = "_addHook";
@@ -3659,7 +3702,7 @@
3659
3702
  self.responseReceivingDuration = null;
3660
3703
  self.callbackDuration = null;
3661
3704
  self[_DYN_AJAX_TOTAL_DURATION ] = null;
3662
- self.aborted = 0;
3705
+ self[_DYN_ABORTED ] = 0;
3663
3706
  self.pageUrl = null;
3664
3707
  self[_DYN_REQUEST_URL ] = null;
3665
3708
  self.requestSize = 0;
@@ -3711,6 +3754,10 @@
3711
3754
  _a.method = self[_DYN_METHOD ],
3712
3755
  _a[STR_PROPERTIES] = { HttpMethod: self[_DYN_METHOD ] },
3713
3756
  _a);
3757
+ var props = dependency[STR_PROPERTIES];
3758
+ if (self[_DYN_ABORTED ]) {
3759
+ props[_DYN_ABORTED ] = true;
3760
+ }
3714
3761
  if (self[_DYN_REQUEST_SENT_TIME ]) {
3715
3762
  dependency[_DYN_START_TIME ] = new Date();
3716
3763
  dependency[_DYN_START_TIME ].setTime(self[_DYN_REQUEST_SENT_TIME ]);
@@ -3718,7 +3765,6 @@
3718
3765
  _populatePerfData(self, dependency);
3719
3766
  if (enableRequestHeaderTracking) {
3720
3767
  if (objKeys(self.requestHeaders)[_DYN_LENGTH ] > 0) {
3721
- var props = dependency[STR_PROPERTIES ] = dependency[STR_PROPERTIES ] || {};
3722
3768
  props[_DYN_REQUEST_HEADERS ] = self[_DYN_REQUEST_HEADERS ];
3723
3769
  }
3724
3770
  }
@@ -3731,18 +3777,21 @@
3731
3777
  }
3732
3778
  if (response[_DYN_HEADER_MAP ]) {
3733
3779
  if (objKeys(response.headerMap)[_DYN_LENGTH ] > 0) {
3734
- var props = dependency[STR_PROPERTIES ] = dependency[STR_PROPERTIES ] || {};
3735
3780
  props.responseHeaders = response[_DYN_HEADER_MAP ];
3736
3781
  }
3737
3782
  }
3738
- if (self.errorStatusText && self[_DYN_STATUS ] >= 400) {
3739
- var responseType = response.type;
3740
- var props = dependency[STR_PROPERTIES ] = dependency[STR_PROPERTIES ] || {};
3741
- if (responseType === "" || responseType === "text") {
3742
- props.responseText = response.responseText ? response[_DYN_STATUS_TEXT ] + " - " + response[strResponseText] : response[_DYN_STATUS_TEXT ];
3783
+ if (self[_DYN_ERROR_STATUS_TEXT ]) {
3784
+ if (self[_DYN_STATUS ] >= 400) {
3785
+ var responseType = response.type;
3786
+ if (responseType === "" || responseType === "text") {
3787
+ props.responseText = response.responseText ? response[_DYN_STATUS_TEXT ] + " - " + response[strResponseText] : response[_DYN_STATUS_TEXT ];
3788
+ }
3789
+ if (responseType === "json") {
3790
+ props.responseText = response.response ? response[_DYN_STATUS_TEXT ] + " - " + JSON.stringify(response[_DYN_RESPONSE ]) : response[_DYN_STATUS_TEXT ];
3791
+ }
3743
3792
  }
3744
- if (responseType === "json") {
3745
- props.responseText = response.response ? response[_DYN_STATUS_TEXT ] + " - " + JSON.stringify(response[_DYN_RESPONSE ]) : response[_DYN_STATUS_TEXT ];
3793
+ else if (self[_DYN_STATUS ] === 0) {
3794
+ props.responseText = response[_DYN_STATUS_TEXT ] || "";
3746
3795
  }
3747
3796
  }
3748
3797
  }
@@ -3775,7 +3824,7 @@
3775
3824
  var AJAX_MONITOR_PREFIX = "ai.ajxmn.";
3776
3825
  var strDiagLog = "diagLog";
3777
3826
  var strAjaxData = "ajaxData";
3778
- var strFetch = "fetch";
3827
+ var STR_FETCH = "fetch";
3779
3828
  var ERROR_HEADER = "Failed to monitor XMLHttpRequest";
3780
3829
  var ERROR_PREFIX = ", monitoring data for this ajax call ";
3781
3830
  var ERROR_POSTFIX = ERROR_PREFIX + "may be incorrect.";
@@ -3789,10 +3838,10 @@
3789
3838
  if (!_global ||
3790
3839
  isNullOrUndefined(_global.Request) ||
3791
3840
  isNullOrUndefined(_global.Request[strShimPrototype]) ||
3792
- isNullOrUndefined(_global[strFetch])) {
3841
+ isNullOrUndefined(_global[STR_FETCH])) {
3793
3842
  return null;
3794
3843
  }
3795
- return _global[strFetch];
3844
+ return _global[STR_FETCH];
3796
3845
  }
3797
3846
  function _supportsAjaxMonitoring(ajaxMonitorInstance) {
3798
3847
  var result = false;
@@ -3898,6 +3947,7 @@
3898
3947
  _a.spanId = ajaxData[_DYN_SPAN_ID ],
3899
3948
  _a.traceFlags = ajaxData[_DYN_TRACE_FLAGS ],
3900
3949
  _a.context = ajaxData[_DYN_CONTEXT ] || {},
3950
+ _a.aborted = !!ajaxData[_DYN_ABORTED ],
3901
3951
  _a);
3902
3952
  _processDependencyContainer(core, listeners, details, "listener");
3903
3953
  ajaxData[_DYN_TRACE_ID ] = details[_DYN_TRACE_ID0 ];
@@ -4181,7 +4231,7 @@
4181
4231
  _disableFetchTracking = !!_extensionConfig[_DYN_DISABLE_FETCH_TRACKI11 ];
4182
4232
  _enableResponseHeaderTracking = _extensionConfig[_DYN_ENABLE_RESPONSE_HEAD12 ];
4183
4233
  if (!_disableFetchTracking && !_fetchInitialized) {
4184
- _addHook(InstrumentFunc(global, strFetch, {
4234
+ _addHook(InstrumentFunc(global, STR_FETCH, {
4185
4235
  ns: _evtNamespace,
4186
4236
  req: function (callDetails, input, init) {
4187
4237
  var fetchData;
@@ -4205,12 +4255,12 @@
4205
4255
  _reportFetchMetrics(callDetails, (response || {})[_DYN_STATUS ], input, response, fetchData_1, function () {
4206
4256
  var _a;
4207
4257
  var ajaxResponse = (_a = {
4208
- statusText: response[_DYN_STATUS_TEXT ]
4258
+ statusText: (response || {})[_DYN_STATUS_TEXT ]
4209
4259
  },
4210
4260
  _a[_DYN_HEADER_MAP ] = null,
4211
4261
  _a[_DYN_CORRELATION_CONTEXT ] = _getFetchCorrelationContext(response),
4212
4262
  _a);
4213
- if (_enableResponseHeaderTracking) {
4263
+ if (_enableResponseHeaderTracking && response) {
4214
4264
  var responseHeaderMap_1 = {};
4215
4265
  response.headers.forEach(function (value, name) {
4216
4266
  if (_canIncludeHeaders(name)) {
@@ -4224,7 +4274,7 @@
4224
4274
  return response;
4225
4275
  })
4226
4276
  .catch(function (reason) {
4227
- _reportFetchMetrics(callDetails, 0, input, null, fetchData_1, null, { error: reason.message });
4277
+ _reportFetchMetrics(callDetails, 0, input, null, fetchData_1, null, { error: reason.message || dumpObj(reason) });
4228
4278
  throw reason;
4229
4279
  });
4230
4280
  }
@@ -4235,7 +4285,7 @@
4235
4285
  _fetchInitialized = true;
4236
4286
  }
4237
4287
  else if (isPolyfill && !_polyfillInitialized) {
4238
- _addHook(InstrumentFunc(global, strFetch, {
4288
+ _addHook(InstrumentFunc(global, STR_FETCH, {
4239
4289
  ns: _evtNamespace,
4240
4290
  req: function (callDetails, input, init) {
4241
4291
  _isDisabledRequest(null, input, init);
@@ -4245,7 +4295,7 @@
4245
4295
  }
4246
4296
  }));
4247
4297
  if (isPolyfill) {
4248
- global[strFetch].polyfill = isPolyfill;
4298
+ global[STR_FETCH].polyfill = isPolyfill;
4249
4299
  }
4250
4300
  }
4251
4301
  function _hookProto(target, funcName, callbacks) {
@@ -4298,7 +4348,7 @@
4298
4348
  var xhr = args[_DYN_INST ];
4299
4349
  var ajaxData = xhr[strAjaxData];
4300
4350
  if (_isMonitoredXhrInstance(xhr) && !ajaxData.xhrMonitoringState[_DYN_ABORT_DONE ]) {
4301
- ajaxData.aborted = 1;
4351
+ ajaxData[_DYN_ABORTED ] = 1;
4302
4352
  ajaxData.xhrMonitoringState[_DYN_ABORT_DONE ] = true;
4303
4353
  }
4304
4354
  }
@@ -4624,7 +4674,7 @@
4624
4674
  });
4625
4675
  }
4626
4676
  ajaxData[_DYN_REQUEST_HEADERS ] = requestHeaders;
4627
- _createMarkId("fetch", ajaxData);
4677
+ _createMarkId(STR_FETCH, ajaxData);
4628
4678
  return ajaxData;
4629
4679
  }
4630
4680
  function _getFailedFetchDiagnosticsMessage(input) {
@@ -4658,7 +4708,7 @@
4658
4708
  }
4659
4709
  ajaxData[_DYN_RESPONSE_FINISHED_TI14 ] = dateTimeUtilsNow();
4660
4710
  ajaxData[_DYN_STATUS ] = status;
4661
- _findPerfResourceEntry("fetch", ajaxData, function () {
4711
+ _findPerfResourceEntry(STR_FETCH, ajaxData, function () {
4662
4712
  var dependency = ajaxData[_DYN__CREATE_TRACK_ITEM ]("Fetch", _enableRequestHeaderTracking, getResponse);
4663
4713
  var properties;
4664
4714
  try {
@@ -4711,6 +4761,7 @@
4711
4761
  _a[STR_PROPERTIES ] = properties,
4712
4762
  _a.sysProperties = systemProperties,
4713
4763
  _a.context = ajaxData ? ajaxData[_DYN_CONTEXT ] : null,
4764
+ _a.aborted = ajaxData ? !!ajaxData[_DYN_ABORTED ] : false,
4714
4765
  _a);
4715
4766
  result = _processDependencyContainer(core, initializers, details, "initializer");
4716
4767
  }