@microsoft/applicationinsights-web 3.0.0-beta.2208-16 → 3.0.0-beta.2209-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.
Files changed (47) hide show
  1. package/browser/{ai.3.0.0-beta.2208-16.cjs.js → ai.3.0.0-beta.2209-01.cjs.js} +167 -111
  2. package/browser/{ai.3.0.0-beta.2208-16.cjs.js.map → ai.3.0.0-beta.2209-01.cjs.js.map} +1 -1
  3. package/browser/ai.3.0.0-beta.2209-01.cjs.min.js +6 -0
  4. package/browser/{ai.3.0.0-beta.2208-16.cjs.min.js.map → ai.3.0.0-beta.2209-01.cjs.min.js.map} +1 -1
  5. package/browser/{ai.3.0.0-beta.2208-16.gbl.js → ai.3.0.0-beta.2209-01.gbl.js} +167 -111
  6. package/browser/{ai.3.0.0-beta.2208-16.gbl.js.map → ai.3.0.0-beta.2209-01.gbl.js.map} +1 -1
  7. package/browser/ai.3.0.0-beta.2209-01.gbl.min.js +6 -0
  8. package/browser/{ai.3.0.0-beta.2208-16.gbl.min.js.map → ai.3.0.0-beta.2209-01.gbl.min.js.map} +1 -1
  9. package/browser/ai.3.0.0-beta.2209-01.integrity.json +66 -0
  10. package/browser/{ai.3.0.0-beta.2208-16.js → ai.3.0.0-beta.2209-01.js} +167 -111
  11. package/browser/{ai.3.0.0-beta.2208-16.js.map → ai.3.0.0-beta.2209-01.js.map} +1 -1
  12. package/browser/ai.3.0.0-beta.2209-01.min.js +6 -0
  13. package/browser/{ai.3.0.0-beta.2208-16.min.js.map → ai.3.0.0-beta.2209-01.min.js.map} +1 -1
  14. package/browser/ai.3.cjs.js +166 -110
  15. package/browser/ai.3.cjs.js.map +1 -1
  16. package/browser/ai.3.cjs.min.js +2 -2
  17. package/browser/ai.3.cjs.min.js.map +1 -1
  18. package/browser/ai.3.gbl.js +166 -110
  19. package/browser/ai.3.gbl.js.map +1 -1
  20. package/browser/ai.3.gbl.min.js +2 -2
  21. package/browser/ai.3.gbl.min.js.map +1 -1
  22. package/browser/ai.3.js +166 -110
  23. package/browser/ai.3.js.map +1 -1
  24. package/browser/ai.3.min.js +2 -2
  25. package/browser/ai.3.min.js.map +1 -1
  26. package/dist/applicationinsights-web.api.json +172 -28
  27. package/dist/applicationinsights-web.api.md +12 -6
  28. package/dist/applicationinsights-web.d.ts +96 -8
  29. package/dist/applicationinsights-web.js +166 -110
  30. package/dist/applicationinsights-web.js.map +1 -1
  31. package/dist/applicationinsights-web.min.js +2 -2
  32. package/dist/applicationinsights-web.min.js.map +1 -1
  33. package/dist/applicationinsights-web.rollup.d.ts +96 -8
  34. package/dist-esm/ApplicationInsightsContainer.js +1 -1
  35. package/dist-esm/Init.js +1 -1
  36. package/dist-esm/Initialization.js +14 -7
  37. package/dist-esm/Initialization.js.map +1 -1
  38. package/dist-esm/InternalConstants.js +1 -1
  39. package/dist-esm/__DynamicConstants.js +1 -1
  40. package/dist-esm/applicationinsights-web.js +1 -1
  41. package/package.json +7 -7
  42. package/src/Initialization.ts +17 -2
  43. package/types/Initialization.d.ts +10 -1
  44. package/browser/ai.3.0.0-beta.2208-16.cjs.min.js +0 -6
  45. package/browser/ai.3.0.0-beta.2208-16.gbl.min.js +0 -6
  46. package/browser/ai.3.0.0-beta.2208-16.integrity.json +0 -66
  47. package/browser/ai.3.0.0-beta.2208-16.min.js +0 -6
package/browser/ai.3.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Web, 3.0.0-beta.2208-16
2
+ * Application Insights JavaScript SDK - Web, 3.0.0-beta.2209-01
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
@@ -1636,7 +1636,7 @@
1636
1636
  }
1637
1637
 
1638
1638
  var _objDefineProperty = ObjDefineProperty;
1639
- var version = "3.0.0-beta.2208-16";
1639
+ var version = "3.0.0-beta.2209-01";
1640
1640
  var instanceName = "." + newId(6);
1641
1641
  var _dataUid = 0;
1642
1642
  function _createAccessor(target, prop, value) {
@@ -5955,7 +5955,7 @@
5955
5955
  }
5956
5956
  return value;
5957
5957
  }
5958
- function _getDefaultConfig(config) {
5958
+ function _getDefaultConfig$1(config) {
5959
5959
  if (!config) {
5960
5960
  config = {};
5961
5961
  }
@@ -6255,7 +6255,7 @@
6255
6255
  function _populateDefaults(config) {
6256
6256
  var ctx = createProcessTelemetryContext(null, config, _self[_DYN_CORE$1 ]);
6257
6257
  var identifier = _self.identifier;
6258
- var defaults = _getDefaultConfig(config);
6258
+ var defaults = _getDefaultConfig$1(config);
6259
6259
  var extConfig = _self.config = ctx.getExtCfg(identifier);
6260
6260
  if (defaults !== undefined) {
6261
6261
  objForEachKey(defaults, function (field, value) {
@@ -6448,8 +6448,8 @@
6448
6448
  });
6449
6449
  return _this;
6450
6450
  }
6451
- AnalyticsPlugin.Version = "3.0.0-beta.2208-16";
6452
- AnalyticsPlugin.getDefaultConfig = _getDefaultConfig;
6451
+ AnalyticsPlugin.Version = "3.0.0-beta.2209-01";
6452
+ AnalyticsPlugin.getDefaultConfig = _getDefaultConfig$1;
6453
6453
  return AnalyticsPlugin;
6454
6454
  }(BaseTelemetryPlugin));
6455
6455
 
@@ -6621,7 +6621,7 @@
6621
6621
  }
6622
6622
  }
6623
6623
  var EnvelopeCreator = {
6624
- Version: "3.0.0-beta.2208-16"
6624
+ Version: "3.0.0-beta.2209-01"
6625
6625
  };
6626
6626
  function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
6627
6627
  EnvelopeCreatorInit(logger, telemetryItem);
@@ -7368,7 +7368,13 @@
7368
7368
  _offlineListener = createOfflineListener(_evtNamespace);
7369
7369
  var defaultConfig = _getDefaultAppInsightsChannelConfig();
7370
7370
  objForEachKey(defaultConfig, function (field, value) {
7371
- _self[_DYN__SENDER_CONFIG ][field] = function () { return ctx.getConfig(identifier, field, value()); };
7371
+ _self[_DYN__SENDER_CONFIG ][field] = function () {
7372
+ var theValue = ctx.getConfig(identifier, field, value());
7373
+ if (!theValue && field === "endpointUrl") {
7374
+ theValue = value();
7375
+ }
7376
+ return theValue;
7377
+ };
7372
7378
  });
7373
7379
  _self._buffer = (_self[_DYN__SENDER_CONFIG ][_DYN_ENABLE_SESSION_STORA4 ]() && utlCanUseSessionStorage())
7374
7380
  ? new SessionStorageSendBuffer(diagLog, _self[_DYN__SENDER_CONFIG ]) : new ArraySendBuffer(diagLog, _self[_DYN__SENDER_CONFIG ]);
@@ -7966,17 +7972,17 @@
7966
7972
  var _DYN_TRACE_ID = "traceID";
7967
7973
  var _DYN_SPAN_ID = "spanID";
7968
7974
  var _DYN_TRACE_FLAGS = "traceFlags";
7969
- var _DYN_CORE = "core";
7975
+ var _DYN_CONTEXT$1 = "context";
7970
7976
  var _DYN_TRACE_ID0 = "traceId";
7971
7977
  var _DYN_SPAN_ID1 = "spanId";
7972
- var _DYN_GET_DEFAULT_CONFIG = "getDefaultConfig";
7973
- var _DYN_TRACK_DEPENDENCY_DAT2 = "trackDependencyDataInternal";
7974
- var _DYN_INCLUDE_CORRELATION_3 = "includeCorrelationHeaders";
7978
+ var _DYN_CORE = "core";
7979
+ var _DYN_INCLUDE_CORRELATION_2 = "includeCorrelationHeaders";
7975
7980
  var _DYN_GET_ABSOLUTE_URL = "getAbsoluteUrl";
7976
7981
  var _DYN_HEADERS = "headers";
7977
7982
  var _DYN_REQUEST_HEADERS = "requestHeaders";
7978
7983
  var _DYN_APP_ID = "appId";
7979
7984
  var _DYN_SET_REQUEST_HEADER = "setRequestHeader";
7985
+ var _DYN_TRACK_DEPENDENCY_DAT3 = "trackDependencyDataInternal";
7980
7986
  var _DYN_DISTRIBUTED_TRACING_4 = "distributedTracingMode";
7981
7987
  var _DYN_START_TIME = "startTime";
7982
7988
  var _DYN_TO_LOWER_CASE = "toLowerCase";
@@ -8257,6 +8263,13 @@
8257
8263
  var strDiagLog = "diagLog";
8258
8264
  var strAjaxData = "ajaxData";
8259
8265
  var strFetch = "fetch";
8266
+ var ERROR_HEADER = "Failed to monitor XMLHttpRequest";
8267
+ var ERROR_PREFIX = ", monitoring data for this ajax call ";
8268
+ var ERROR_POSTFIX = ERROR_PREFIX + "may be incorrect.";
8269
+ var ERROR_NOT_SENT = ERROR_PREFIX + "won't be sent.";
8270
+ var CORRELATION_HEADER_ERROR = "Failed to get Request-Context correlation header as it may be not included in the response or not accessible.";
8271
+ var CUSTOM_REQUEST_CONTEXT_ERROR = "Failed to add custom defined request context as configured call back may missing a null check.";
8272
+ var FAILED_TO_CALCULATE_DURATION_ERROR = "Failed to calculate the duration of the ";
8260
8273
  var _markCount = 0;
8261
8274
  function _supportsFetch() {
8262
8275
  var _global = getGlobal();
@@ -8300,9 +8313,7 @@
8300
8313
  function _getFailedAjaxDiagnosticsMessage(xhr) {
8301
8314
  var result = "";
8302
8315
  try {
8303
- if (!isNullOrUndefined(xhr) &&
8304
- !isNullOrUndefined(xhr[strAjaxData]) &&
8305
- !isNullOrUndefined(xhr[strAjaxData][_DYN_REQUEST_URL ])) {
8316
+ if (xhr && xhr[strAjaxData] && xhr[strAjaxData][_DYN_REQUEST_URL ]) {
8306
8317
  result += "(url: '" + xhr[strAjaxData][_DYN_REQUEST_URL ] + "')";
8307
8318
  }
8308
8319
  }
@@ -8330,6 +8341,37 @@
8330
8341
  }
8331
8342
  return -1;
8332
8343
  }
8344
+ function _addHandler(container, id, theFunc) {
8345
+ var theHandler = {
8346
+ id: id,
8347
+ fn: theFunc
8348
+ };
8349
+ container.push(theHandler);
8350
+ return {
8351
+ remove: function () {
8352
+ arrForEach(container, function (initializer, idx) {
8353
+ if (initializer.id === theHandler.id) {
8354
+ container.splice(idx, 1);
8355
+ return -1;
8356
+ }
8357
+ });
8358
+ }
8359
+ };
8360
+ }
8361
+ function _processDependencyContainer(core, container, details, message) {
8362
+ var result = true;
8363
+ arrForEach(container, function (theFunc, idx) {
8364
+ try {
8365
+ if (theFunc.fn.call(null, details) === false) {
8366
+ result = false;
8367
+ }
8368
+ }
8369
+ catch (e) {
8370
+ _throwInternal(core && core.logger, 1 , 64 , "Dependency " + message + " [#" + idx + "] failed: " + getExceptionName(e), { exception: dumpObj(e) }, true);
8371
+ }
8372
+ });
8373
+ return result;
8374
+ }
8333
8375
  function _processDependencyListeners(listeners, core, ajaxData, xhr, input, init) {
8334
8376
  var _a;
8335
8377
  var initializersCount = listeners[_DYN_LENGTH$1 ];
@@ -8342,30 +8384,62 @@
8342
8384
  _a.traceId = ajaxData[_DYN_TRACE_ID ],
8343
8385
  _a.spanId = ajaxData[_DYN_SPAN_ID ],
8344
8386
  _a.traceFlags = ajaxData[_DYN_TRACE_FLAGS ],
8387
+ _a.context = ajaxData[_DYN_CONTEXT$1 ] || {},
8345
8388
  _a);
8346
- for (var i = 0; i < initializersCount; ++i) {
8347
- var dependencyListener = listeners[i];
8348
- if (dependencyListener && dependencyListener.fn) {
8349
- try {
8350
- dependencyListener.fn.call(null, details);
8351
- }
8352
- catch (e) {
8353
- var core_1 = details[_DYN_CORE ];
8354
- _throwInternal(core_1 && core_1.logger, 1 , 64 , "Dependency listener [#" + i + "] failed: " + getExceptionName(e), { exception: dumpObj(e) }, true);
8355
- }
8356
- }
8357
- }
8389
+ _processDependencyContainer(core, listeners, details, "listener");
8358
8390
  ajaxData[_DYN_TRACE_ID ] = details[_DYN_TRACE_ID0 ];
8359
8391
  ajaxData[_DYN_SPAN_ID ] = details[_DYN_SPAN_ID1 ];
8360
8392
  ajaxData[_DYN_TRACE_FLAGS ] = details[_DYN_TRACE_FLAGS ];
8393
+ ajaxData[_DYN_CONTEXT$1 ] = details[_DYN_CONTEXT$1 ];
8361
8394
  }
8362
8395
  }
8396
+ var BLOB_CORE = "*.blob.core.";
8363
8397
  var DfltAjaxCorrelationHeaderExDomains = objDeepFreeze([
8364
- "*.blob.core.windows.net",
8365
- "*.blob.core.chinacloudapi.cn",
8366
- "*.blob.core.cloudapi.de",
8367
- "*.blob.core.usgovcloudapi.net"
8398
+ BLOB_CORE + "windows.net",
8399
+ BLOB_CORE + "chinacloudapi.cn",
8400
+ BLOB_CORE + "cloudapi.de",
8401
+ BLOB_CORE + "usgovcloudapi.net"
8368
8402
  ]);
8403
+ var _internalExcludeEndpoints = [
8404
+ /https:\/\/[^\/]*(\.pipe\.aria|aria\.pipe|events\.data|collector\.azure)\.[^\/]+\/(OneCollector\/1|Collector\/3)\.0/i
8405
+ ];
8406
+ function _getDefaultConfig() {
8407
+ var _a;
8408
+ var config = (_a = {},
8409
+ _a[_DYN_MAX_AJAX_CALLS_PER_V8 ] = 500,
8410
+ _a[_DYN_DISABLE_AJAX_TRACKIN11 ] = false,
8411
+ _a[_DYN_DISABLE_FETCH_TRACKI12 ] = false,
8412
+ _a[_DYN_EXCLUDE_REQUEST_FROM10 ] = undefined,
8413
+ _a.disableCorrelationHeaders = false,
8414
+ _a.distributedTracingMode = 1 ,
8415
+ _a.correlationHeaderExcludedDomains = DfltAjaxCorrelationHeaderExDomains,
8416
+ _a.correlationHeaderDomains = undefined,
8417
+ _a.correlationHeaderExcludePatterns = undefined,
8418
+ _a[_DYN_APP_ID ] = undefined,
8419
+ _a.enableCorsCorrelation = false,
8420
+ _a[_DYN_ENABLE_REQUEST_HEADE5 ] = false,
8421
+ _a[_DYN_ENABLE_RESPONSE_HEAD9 ] = false,
8422
+ _a[_DYN_ENABLE_AJAX_ERROR_ST6 ] = false,
8423
+ _a[_DYN_ENABLE_AJAX_PERF_TRA7 ] = false,
8424
+ _a.maxAjaxPerfLookupAttempts = 3,
8425
+ _a[_DYN_AJAX_PERF_LOOKUP_DEL16 ] = 25,
8426
+ _a.ignoreHeaders = [
8427
+ "Authorization",
8428
+ "X-API-Key",
8429
+ "WWW-Authenticate"
8430
+ ],
8431
+ _a[_DYN_ADD_REQUEST_CONTEXT ] = undefined,
8432
+ _a.addIntEndpoints = true,
8433
+ _a);
8434
+ return config;
8435
+ }
8436
+ function _getEmptyConfig() {
8437
+ var emptyConfig = _getDefaultConfig();
8438
+ objForEachKey(emptyConfig, function (value) {
8439
+ emptyConfig[value] = undefined;
8440
+ });
8441
+ return emptyConfig;
8442
+ }
8369
8443
  var AjaxMonitor = /** @class */ (function (_super) {
8370
8444
  __extendsFn(AjaxMonitor, _super);
8371
8445
  function AjaxMonitor() {
@@ -8392,8 +8466,9 @@
8392
8466
  var _excludeRequestFromAutoTrackingPatterns;
8393
8467
  var _addRequestContext;
8394
8468
  var _evtNamespace;
8395
- var _dependencyListenerId;
8469
+ var _dependencyHandlerId;
8396
8470
  var _dependencyListeners;
8471
+ var _dependencyInitializers;
8397
8472
  dynamicProto(AjaxMonitor, _this, function (_self, _base) {
8398
8473
  var _addHook = _base._addHook;
8399
8474
  _initDefaults();
@@ -8411,9 +8486,9 @@
8411
8486
  _initDefaults();
8412
8487
  };
8413
8488
  _self.trackDependencyData = function (dependency, properties) {
8414
- _self[_DYN_TRACK_DEPENDENCY_DAT2 ](dependency, properties);
8489
+ _reportDependencyInternal(_dependencyInitializers, _self[_DYN_CORE ], null, dependency, properties);
8415
8490
  };
8416
- _self[_DYN_INCLUDE_CORRELATION_3 ] = function (ajaxData, input, init, xhr) {
8491
+ _self[_DYN_INCLUDE_CORRELATION_2 ] = function (ajaxData, input, init, xhr) {
8417
8492
  var currentWindowHost = _self["_currentWindowHost"] || _currentWindowHost;
8418
8493
  _processDependencyListeners(_dependencyListeners, _self[_DYN_CORE ], ajaxData, xhr, input, init);
8419
8494
  if (input) {
@@ -8483,7 +8558,7 @@
8483
8558
  }
8484
8559
  return undefined;
8485
8560
  };
8486
- _self[_DYN_TRACK_DEPENDENCY_DAT2 ] = function (dependency, properties, systemProperties) {
8561
+ _self[_DYN_TRACK_DEPENDENCY_DAT3 ] = function (dependency, properties, systemProperties) {
8487
8562
  if (_maxAjaxCallsPerView === -1 || _trackAjaxAttempts < _maxAjaxCallsPerView) {
8488
8563
  if ((_config[_DYN_DISTRIBUTED_TRACING_4 ] === 2
8489
8564
  || _config[_DYN_DISTRIBUTED_TRACING_4 ] === 1 )
@@ -8502,22 +8577,10 @@
8502
8577
  ++_trackAjaxAttempts;
8503
8578
  };
8504
8579
  _self.addDependencyListener = function (dependencyListener) {
8505
- var theInitializer = {
8506
- id: _dependencyListenerId++,
8507
- fn: dependencyListener
8508
- };
8509
- _dependencyListeners.push(theInitializer);
8510
- var handler = {
8511
- remove: function () {
8512
- arrForEach(_dependencyListeners, function (initializer, idx) {
8513
- if (initializer.id === theInitializer.id) {
8514
- _dependencyListeners.splice(idx, 1);
8515
- return -1;
8516
- }
8517
- });
8518
- }
8519
- };
8520
- return handler;
8580
+ return _addHandler(_dependencyListeners, _dependencyHandlerId++, dependencyListener);
8581
+ };
8582
+ _self.addDependencyInitializer = function (dependencyInitializer) {
8583
+ return _addHandler(_dependencyInitializers, _dependencyHandlerId++, dependencyInitializer);
8521
8584
  };
8522
8585
  function _initDefaults() {
8523
8586
  var location = getLocation();
@@ -8541,13 +8604,14 @@
8541
8604
  _excludeRequestFromAutoTrackingPatterns = null;
8542
8605
  _addRequestContext = null;
8543
8606
  _evtNamespace = null;
8544
- _dependencyListenerId = 0;
8607
+ _dependencyHandlerId = 0;
8545
8608
  _dependencyListeners = [];
8609
+ _dependencyInitializers = [];
8546
8610
  }
8547
8611
  function _populateDefaults(config) {
8548
8612
  var ctx = createProcessTelemetryContext(null, config, _self[_DYN_CORE ]);
8549
- _config = AjaxMonitor.getEmptyConfig();
8550
- var defaultConfig = AjaxMonitor[_DYN_GET_DEFAULT_CONFIG ]();
8613
+ _config = _getEmptyConfig();
8614
+ var defaultConfig = _getDefaultConfig();
8551
8615
  objForEachKey(defaultConfig, function (field, value) {
8552
8616
  _config[field] = ctx.getConfig(AjaxMonitor.identifier, field, value);
8553
8617
  });
@@ -8557,7 +8621,7 @@
8557
8621
  _enableAjaxPerfTracking = _config[_DYN_ENABLE_AJAX_PERF_TRA7 ];
8558
8622
  _maxAjaxCallsPerView = _config[_DYN_MAX_AJAX_CALLS_PER_V8 ];
8559
8623
  _enableResponseHeaderTracking = _config[_DYN_ENABLE_RESPONSE_HEAD9 ];
8560
- _excludeRequestFromAutoTrackingPatterns = _config[_DYN_EXCLUDE_REQUEST_FROM10 ];
8624
+ _excludeRequestFromAutoTrackingPatterns = [].concat(_config[_DYN_EXCLUDE_REQUEST_FROM10 ] || [], _config.addIntEndpoints !== false ? _internalExcludeEndpoints : []);
8561
8625
  _addRequestContext = _config[_DYN_ADD_REQUEST_CONTEXT ];
8562
8626
  _isUsingAIHeaders = distributedTracingMode === 0 || distributedTracingMode === 1 ;
8563
8627
  _isUsingW3CHeaders = distributedTracingMode === 1 || distributedTracingMode === 2 ;
@@ -8576,7 +8640,7 @@
8576
8640
  function _populateContext() {
8577
8641
  var propExt = _self[_DYN_CORE ].getPlugin(PropertiesPluginIdentifier);
8578
8642
  if (propExt) {
8579
- _context = propExt.plugin.context;
8643
+ _context = propExt.plugin[_DYN_CONTEXT$1 ];
8580
8644
  }
8581
8645
  }
8582
8646
  function _canIncludeHeaders(header) {
@@ -8608,7 +8672,7 @@
8608
8672
  !(isPolyfill && _xhrInitialized)) {
8609
8673
  var ctx = callDetails.ctx();
8610
8674
  fetchData = _createFetchRecord(input, init);
8611
- var newInit = _self[_DYN_INCLUDE_CORRELATION_3 ](fetchData, input, init);
8675
+ var newInit = _self[_DYN_INCLUDE_CORRELATION_2 ](fetchData, input, init);
8612
8676
  if (newInit !== init) {
8613
8677
  callDetails.set(1, newInit);
8614
8678
  }
@@ -8648,7 +8712,7 @@
8648
8712
  }
8649
8713
  }
8650
8714
  },
8651
- hkErr: _createErrorCallbackFunc(_self, 15 , "Failed to monitor Window.fetch, monitoring data for this fetch call may be incorrect.")
8715
+ hkErr: _createErrorCallbackFunc(_self, 15 , "Failed to monitor Window.fetch" + ERROR_POSTFIX)
8652
8716
  }));
8653
8717
  _fetchInitialized = true;
8654
8718
  }
@@ -8683,7 +8747,7 @@
8683
8747
  }
8684
8748
  }
8685
8749
  },
8686
- hkErr: _createErrorCallbackFunc(_self, 15 , "Failed to monitor XMLHttpRequest.open, monitoring data for this ajax call may be incorrect.")
8750
+ hkErr: _createErrorCallbackFunc(_self, 15 , ERROR_HEADER + ".open" + ERROR_POSTFIX)
8687
8751
  });
8688
8752
  _hookProto(XMLHttpRequest, "send", {
8689
8753
  ns: _evtNamespace,
@@ -8694,12 +8758,12 @@
8694
8758
  if (_isMonitoredXhrInstance(xhr) && !ajaxData.xhrMonitoringState[_DYN_SEND_DONE ]) {
8695
8759
  _createMarkId("xhr", ajaxData);
8696
8760
  ajaxData[_DYN_REQUEST_SENT_TIME ] = dateTimeUtilsNow();
8697
- _self[_DYN_INCLUDE_CORRELATION_3 ](ajaxData, undefined, undefined, xhr);
8761
+ _self[_DYN_INCLUDE_CORRELATION_2 ](ajaxData, undefined, undefined, xhr);
8698
8762
  ajaxData.xhrMonitoringState[_DYN_SEND_DONE ] = true;
8699
8763
  }
8700
8764
  }
8701
8765
  },
8702
- hkErr: _createErrorCallbackFunc(_self, 17 , "Failed to monitor XMLHttpRequest, monitoring data for this ajax call may be incorrect.")
8766
+ hkErr: _createErrorCallbackFunc(_self, 17 , ERROR_HEADER + ERROR_POSTFIX)
8703
8767
  });
8704
8768
  _hookProto(XMLHttpRequest, "abort", {
8705
8769
  ns: _evtNamespace,
@@ -8713,7 +8777,7 @@
8713
8777
  }
8714
8778
  }
8715
8779
  },
8716
- hkErr: _createErrorCallbackFunc(_self, 13 , "Failed to monitor XMLHttpRequest.abort, monitoring data for this ajax call may be incorrect.")
8780
+ hkErr: _createErrorCallbackFunc(_self, 13 , ERROR_HEADER + ".abort" + ERROR_POSTFIX)
8717
8781
  });
8718
8782
  _hookProto(XMLHttpRequest, "setRequestHeader", {
8719
8783
  ns: _evtNamespace,
@@ -8725,7 +8789,7 @@
8725
8789
  }
8726
8790
  }
8727
8791
  },
8728
- hkErr: _createErrorCallbackFunc(_self, 71 , "Failed to monitor XMLHttpRequest.setRequestHeader, monitoring data for this ajax call may be incorrect.")
8792
+ hkErr: _createErrorCallbackFunc(_self, 71 , ERROR_HEADER + ".setRequestHeader" + ERROR_POSTFIX)
8729
8793
  });
8730
8794
  _xhrInitialized = true;
8731
8795
  }
@@ -8820,7 +8884,7 @@
8820
8884
  catch (e) {
8821
8885
  var exceptionText = dumpObj(e);
8822
8886
  if (!exceptionText || _indexOf(exceptionText[_DYN_TO_LOWER_CASE ](), "c00c023f") === -1) {
8823
- _throwInternalCritical(_self, 16 , "Failed to monitor XMLHttpRequest 'readystatechange' event handler, monitoring data for this ajax call may be incorrect.", (_a = {},
8887
+ _throwInternalCritical(_self, 16 , ERROR_HEADER + " 'readystatechange' event handler" + ERROR_POSTFIX, (_a = {},
8824
8888
  _a[_DYN_AJAX_DIAGNOSTICS_MES17 ] = _getFailedAjaxDiagnosticsMessage(xhr),
8825
8889
  _a.exception = exceptionText,
8826
8890
  _a));
@@ -8849,7 +8913,7 @@
8849
8913
  if (e) {
8850
8914
  errorProps["exception"] = dumpObj(e);
8851
8915
  }
8852
- _throwInternalWarning(_self, 14 , "Failed to calculate the duration of the ajax call, monitoring data for this ajax call won't be sent.", errorProps);
8916
+ _throwInternalWarning(_self, 14 , FAILED_TO_CALCULATE_DURATION_ERROR + "ajax call" + ERROR_NOT_SENT, errorProps);
8853
8917
  }
8854
8918
  _findPerfResourceEntry("xmlhttprequest", ajaxData, function () {
8855
8919
  try {
@@ -8889,13 +8953,14 @@
8889
8953
  }
8890
8954
  }
8891
8955
  catch (e) {
8892
- _throwInternalWarning(_self, 104 , "Failed to add custom defined request context as configured call back may missing a null check.");
8956
+ _throwInternalWarning(_self, 104 , CUSTOM_REQUEST_CONTEXT_ERROR);
8893
8957
  }
8894
8958
  if (dependency) {
8895
8959
  if (properties !== undefined) {
8896
8960
  dependency[STR_PROPERTIES ] = __assignFn(__assignFn({}, dependency.properties), properties);
8897
8961
  }
8898
- _self[_DYN_TRACK_DEPENDENCY_DAT2 ](dependency, null, ajaxData[_DYN_GET_PART_APROPS ]());
8962
+ var sysProperties = ajaxData[_DYN_GET_PART_APROPS ]();
8963
+ _reportDependencyInternal(_dependencyInitializers, _self[_DYN_CORE ], ajaxData, dependency, null, sysProperties);
8899
8964
  }
8900
8965
  else {
8901
8966
  _reportXhrError(null, {
@@ -8928,7 +8993,7 @@
8928
8993
  }
8929
8994
  }
8930
8995
  catch (e) {
8931
- _throwInternalWarning(_self, 18 , "Failed to get Request-Context correlation header as it may be not included in the response or not accessible.", (_a = {},
8996
+ _throwInternalWarning(_self, 18 , CORRELATION_HEADER_ERROR, (_a = {},
8932
8997
  _a[_DYN_AJAX_DIAGNOSTICS_MES17 ] = _getFailedAjaxDiagnosticsMessage(xhr),
8933
8998
  _a.exception = dumpObj(e),
8934
8999
  _a));
@@ -9062,7 +9127,7 @@
9062
9127
  if (e) {
9063
9128
  errorProps["exception"] = dumpObj(e);
9064
9129
  }
9065
- _throwInternalWarning(_self, msgId, "Failed to calculate the duration of the fetch call, monitoring data for this fetch call won't be sent.", errorProps);
9130
+ _throwInternalWarning(_self, msgId, FAILED_TO_CALCULATE_DURATION_ERROR + "fetch call" + ERROR_NOT_SENT, errorProps);
9066
9131
  }
9067
9132
  ajaxData[_DYN_RESPONSE_FINISHED_TI14 ] = dateTimeUtilsNow();
9068
9133
  ajaxData[_DYN_STATUS ] = status;
@@ -9075,13 +9140,14 @@
9075
9140
  }
9076
9141
  }
9077
9142
  catch (e) {
9078
- _throwInternalWarning(_self, 104 , "Failed to add custom defined request context as configured call back may missing a null check.");
9143
+ _throwInternalWarning(_self, 104 , CUSTOM_REQUEST_CONTEXT_ERROR);
9079
9144
  }
9080
9145
  if (dependency) {
9081
9146
  if (properties !== undefined) {
9082
9147
  dependency[STR_PROPERTIES ] = __assignFn(__assignFn({}, dependency.properties), properties);
9083
9148
  }
9084
- _self[_DYN_TRACK_DEPENDENCY_DAT2 ](dependency, null, ajaxData[_DYN_GET_PART_APROPS ]());
9149
+ var sysProperties = ajaxData[_DYN_GET_PART_APROPS ]();
9150
+ _reportDependencyInternal(_dependencyInitializers, _self[_DYN_CORE ], ajaxData, dependency, null, sysProperties);
9085
9151
  }
9086
9152
  else {
9087
9153
  _reportFetchError(14 , null, {
@@ -9100,56 +9166,43 @@
9100
9166
  return correlationIdGetCorrelationContext(responseHeader);
9101
9167
  }
9102
9168
  catch (e) {
9103
- _throwInternalWarning(_self, 18 , "Failed to get Request-Context correlation header as it may be not included in the response or not accessible.", {
9169
+ _throwInternalWarning(_self, 18 , CORRELATION_HEADER_ERROR, {
9104
9170
  fetchDiagnosticsMessage: _getFailedFetchDiagnosticsMessage(response),
9105
9171
  exception: dumpObj(e)
9106
9172
  });
9107
9173
  }
9108
9174
  }
9109
9175
  }
9176
+ function _reportDependencyInternal(initializers, core, ajaxData, dependency, properties, systemProperties) {
9177
+ var _a;
9178
+ var result = true;
9179
+ var initializersCount = initializers[_DYN_LENGTH$1 ];
9180
+ if (initializersCount > 0) {
9181
+ var details = (_a = {
9182
+ item: dependency
9183
+ },
9184
+ _a[STR_PROPERTIES ] = properties,
9185
+ _a.sysProperties = systemProperties,
9186
+ _a.context = ajaxData ? ajaxData[_DYN_CONTEXT$1 ] : null,
9187
+ _a);
9188
+ result = _processDependencyContainer(core, initializers, details, "initializer");
9189
+ }
9190
+ if (result) {
9191
+ _self[_DYN_TRACK_DEPENDENCY_DAT3 ](dependency, properties, systemProperties);
9192
+ }
9193
+ }
9110
9194
  });
9111
9195
  return _this;
9112
9196
  }
9113
- AjaxMonitor.getDefaultConfig = function () {
9114
- var _a;
9115
- var config = (_a = {},
9116
- _a[_DYN_MAX_AJAX_CALLS_PER_V8 ] = 500,
9117
- _a[_DYN_DISABLE_AJAX_TRACKIN11 ] = false,
9118
- _a[_DYN_DISABLE_FETCH_TRACKI12 ] = false,
9119
- _a[_DYN_EXCLUDE_REQUEST_FROM10 ] = undefined,
9120
- _a.disableCorrelationHeaders = false,
9121
- _a.distributedTracingMode = 1 ,
9122
- _a.correlationHeaderExcludedDomains = DfltAjaxCorrelationHeaderExDomains,
9123
- _a.correlationHeaderDomains = undefined,
9124
- _a.correlationHeaderExcludePatterns = undefined,
9125
- _a[_DYN_APP_ID ] = undefined,
9126
- _a.enableCorsCorrelation = false,
9127
- _a[_DYN_ENABLE_REQUEST_HEADE5 ] = false,
9128
- _a[_DYN_ENABLE_RESPONSE_HEAD9 ] = false,
9129
- _a[_DYN_ENABLE_AJAX_ERROR_ST6 ] = false,
9130
- _a[_DYN_ENABLE_AJAX_PERF_TRA7 ] = false,
9131
- _a.maxAjaxPerfLookupAttempts = 3,
9132
- _a[_DYN_AJAX_PERF_LOOKUP_DEL16 ] = 25,
9133
- _a.ignoreHeaders = [
9134
- "Authorization",
9135
- "X-API-Key",
9136
- "WWW-Authenticate"
9137
- ],
9138
- _a[_DYN_ADD_REQUEST_CONTEXT ] = undefined,
9139
- _a);
9140
- return config;
9141
- };
9142
- AjaxMonitor.getEmptyConfig = function () {
9143
- var emptyConfig = this[_DYN_GET_DEFAULT_CONFIG ]();
9144
- objForEachKey(emptyConfig, function (value) {
9145
- emptyConfig[value] = undefined;
9146
- });
9147
- return emptyConfig;
9148
- };
9149
9197
  AjaxMonitor.prototype.processTelemetry = function (item, itemCtx) {
9150
9198
  this.processNext(item, itemCtx);
9151
9199
  };
9200
+ AjaxMonitor.prototype.addDependencyInitializer = function (dependencyInitializer) {
9201
+ return null;
9202
+ };
9152
9203
  AjaxMonitor.identifier = "AjaxDependencyPlugin";
9204
+ AjaxMonitor.getDefaultConfig = _getDefaultConfig;
9205
+ AjaxMonitor.getEmptyConfig = _getEmptyConfig;
9153
9206
  return AjaxMonitor;
9154
9207
  }(BaseTelemetryPlugin));
9155
9208
 
@@ -9943,7 +9996,8 @@
9943
9996
  ]);
9944
9997
  proxyFunctions(_self, _getCurrentDependencies, [
9945
9998
  STR_TRACK_DEPENDENCY_DATA,
9946
- "addDependencyListener"
9999
+ "addDependencyListener",
10000
+ "addDependencyInitializer"
9947
10001
  ]);
9948
10002
  proxyFunctions(_self, _core, [
9949
10003
  STR_ADD_TELEMETRY_INITIALIZER,
@@ -9979,7 +10033,9 @@
9979
10033
  }
9980
10034
  });
9981
10035
  }
9982
- Initialization.__ieDyn=1;
10036
+ Initialization.prototype.addDependencyInitializer = function (dependencyInitializer) {
10037
+ return null;
10038
+ };
9983
10039
  return Initialization;
9984
10040
  }());
9985
10041
  (function () {