@newrelic/browser-agent 1.289.0 → 1.290.0
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/CHANGELOG.md +10 -0
- package/README.md +32 -0
- package/dist/cjs/common/constants/env.cdn.js +1 -1
- package/dist/cjs/common/constants/env.npm.js +1 -1
- package/dist/cjs/features/ajax/instrument/index.js +5 -5
- package/dist/cjs/features/generic_events/aggregate/index.js +1 -0
- package/dist/cjs/features/generic_events/aggregate/user-actions/aggregated-user-action.js +2 -0
- package/dist/cjs/features/generic_events/instrument/index.js +15 -5
- package/dist/cjs/features/jserrors/instrument/index.js +15 -5
- package/dist/cjs/features/logging/instrument/index.js +13 -5
- package/dist/cjs/features/metrics/instrument/index.js +5 -5
- package/dist/cjs/features/page_action/instrument/index.js +1 -5
- package/dist/cjs/features/page_view_event/instrument/index.js +8 -6
- package/dist/cjs/features/page_view_timing/instrument/index.js +5 -5
- package/dist/cjs/features/session_replay/instrument/index.js +10 -4
- package/dist/cjs/features/session_trace/instrument/index.js +10 -6
- package/dist/cjs/features/soft_navigations/instrument/index.js +9 -5
- package/dist/cjs/features/spa/instrument/index.js +8 -6
- package/dist/cjs/features/utils/instrument-base.js +27 -23
- package/dist/cjs/loaders/agent-base.js +4 -95
- package/dist/cjs/loaders/agent.js +11 -0
- package/dist/cjs/loaders/api/addPageAction.js +23 -0
- package/dist/cjs/loaders/api/addRelease.js +20 -0
- package/dist/cjs/loaders/api/addToTrace.js +29 -0
- package/dist/cjs/loaders/api/constants.js +32 -0
- package/dist/cjs/loaders/api/finished.js +31 -0
- package/dist/cjs/loaders/api/interaction.js +58 -0
- package/dist/cjs/loaders/api/log.js +26 -0
- package/dist/cjs/loaders/api/noticeError.js +30 -0
- package/dist/cjs/loaders/api/pauseReplay.js +20 -0
- package/dist/cjs/loaders/api/recordCustomEvent.js +21 -0
- package/dist/cjs/loaders/api/recordReplay.js +20 -0
- package/dist/cjs/loaders/api/register.js +182 -0
- package/dist/cjs/loaders/api/setApplicationVersion.js +28 -0
- package/dist/cjs/loaders/api/setCustomAttribute.js +27 -0
- package/dist/cjs/loaders/api/setErrorHandler.js +18 -0
- package/dist/cjs/loaders/api/setPageViewName.js +23 -0
- package/dist/cjs/loaders/api/setUserId.js +28 -0
- package/dist/cjs/loaders/api/sharedHandlers.js +76 -0
- package/dist/cjs/loaders/api/start.js +18 -0
- package/dist/cjs/loaders/api/topLevelCallers.js +29 -0
- package/dist/cjs/loaders/api/wrapLogger.js +26 -0
- package/dist/cjs/loaders/api-base.js +224 -0
- package/dist/cjs/loaders/configure/configure.js +2 -4
- package/dist/cjs/loaders/micro-agent-base.js +3 -134
- package/dist/cjs/loaders/micro-agent.js +34 -6
- package/dist/esm/common/constants/env.cdn.js +1 -1
- package/dist/esm/common/constants/env.npm.js +1 -1
- package/dist/esm/features/ajax/instrument/index.js +3 -3
- package/dist/esm/features/generic_events/aggregate/index.js +1 -0
- package/dist/esm/features/generic_events/aggregate/user-actions/aggregated-user-action.js +2 -0
- package/dist/esm/features/generic_events/instrument/index.js +13 -3
- package/dist/esm/features/jserrors/instrument/index.js +13 -3
- package/dist/esm/features/logging/instrument/index.js +11 -3
- package/dist/esm/features/metrics/instrument/index.js +3 -3
- package/dist/esm/features/page_action/instrument/index.js +1 -5
- package/dist/esm/features/page_view_event/instrument/index.js +7 -3
- package/dist/esm/features/page_view_timing/instrument/index.js +3 -3
- package/dist/esm/features/session_replay/instrument/index.js +10 -4
- package/dist/esm/features/session_trace/instrument/index.js +9 -3
- package/dist/esm/features/soft_navigations/instrument/index.js +7 -3
- package/dist/esm/features/spa/instrument/index.js +7 -3
- package/dist/esm/features/utils/instrument-base.js +27 -23
- package/dist/esm/loaders/agent-base.js +4 -95
- package/dist/esm/loaders/agent.js +10 -0
- package/dist/esm/loaders/api/addPageAction.js +15 -0
- package/dist/esm/loaders/api/addRelease.js +13 -0
- package/dist/esm/loaders/api/addToTrace.js +22 -0
- package/dist/esm/loaders/api/constants.js +26 -0
- package/dist/esm/loaders/api/finished.js +24 -0
- package/dist/esm/loaders/api/interaction.js +52 -0
- package/dist/esm/loaders/api/log.js +19 -0
- package/dist/esm/loaders/api/noticeError.js +22 -0
- package/dist/esm/loaders/api/pauseReplay.js +13 -0
- package/dist/esm/loaders/api/recordCustomEvent.js +14 -0
- package/dist/esm/loaders/api/recordReplay.js +13 -0
- package/dist/esm/loaders/api/register.js +175 -0
- package/dist/esm/loaders/api/setApplicationVersion.js +21 -0
- package/dist/esm/loaders/api/setCustomAttribute.js +20 -0
- package/dist/esm/loaders/api/setErrorHandler.js +11 -0
- package/dist/esm/loaders/api/setPageViewName.js +16 -0
- package/dist/esm/loaders/api/setUserId.js +21 -0
- package/dist/esm/loaders/api/sharedHandlers.js +69 -0
- package/dist/esm/loaders/api/start.js +11 -0
- package/dist/esm/loaders/api/topLevelCallers.js +22 -0
- package/dist/esm/loaders/api/wrapLogger.js +19 -0
- package/dist/esm/loaders/api-base.js +217 -0
- package/dist/esm/loaders/configure/configure.js +2 -4
- package/dist/esm/loaders/micro-agent-base.js +3 -134
- package/dist/esm/loaders/micro-agent.js +34 -6
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/features/ajax/instrument/index.d.ts +1 -1
- package/dist/types/features/ajax/instrument/index.d.ts.map +1 -1
- package/dist/types/features/generic_events/aggregate/index.d.ts.map +1 -1
- package/dist/types/features/generic_events/aggregate/user-actions/aggregated-user-action.d.ts +1 -0
- package/dist/types/features/generic_events/aggregate/user-actions/aggregated-user-action.d.ts.map +1 -1
- package/dist/types/features/generic_events/instrument/index.d.ts +1 -1
- package/dist/types/features/generic_events/instrument/index.d.ts.map +1 -1
- package/dist/types/features/jserrors/instrument/index.d.ts +1 -1
- package/dist/types/features/jserrors/instrument/index.d.ts.map +1 -1
- package/dist/types/features/logging/instrument/index.d.ts +1 -1
- package/dist/types/features/logging/instrument/index.d.ts.map +1 -1
- package/dist/types/features/metrics/instrument/index.d.ts +1 -1
- package/dist/types/features/metrics/instrument/index.d.ts.map +1 -1
- package/dist/types/features/page_action/instrument/index.d.ts +0 -1
- package/dist/types/features/page_action/instrument/index.d.ts.map +1 -1
- package/dist/types/features/page_view_event/instrument/index.d.ts +1 -1
- package/dist/types/features/page_view_event/instrument/index.d.ts.map +1 -1
- package/dist/types/features/page_view_timing/instrument/index.d.ts +1 -1
- package/dist/types/features/page_view_timing/instrument/index.d.ts.map +1 -1
- package/dist/types/features/session_replay/instrument/index.d.ts +1 -1
- package/dist/types/features/session_replay/instrument/index.d.ts.map +1 -1
- package/dist/types/features/session_trace/instrument/index.d.ts +1 -1
- package/dist/types/features/session_trace/instrument/index.d.ts.map +1 -1
- package/dist/types/features/soft_navigations/instrument/index.d.ts +1 -1
- package/dist/types/features/soft_navigations/instrument/index.d.ts.map +1 -1
- package/dist/types/features/spa/instrument/index.d.ts +1 -1
- package/dist/types/features/spa/instrument/index.d.ts.map +1 -1
- package/dist/types/features/utils/instrument-base.d.ts +9 -7
- package/dist/types/features/utils/instrument-base.d.ts.map +1 -1
- package/dist/types/loaders/agent-base.d.ts +3 -71
- package/dist/types/loaders/agent-base.d.ts.map +1 -1
- package/dist/types/loaders/agent.d.ts.map +1 -1
- package/dist/types/loaders/api/addPageAction.d.ts +3 -0
- package/dist/types/loaders/api/addPageAction.d.ts.map +1 -0
- package/dist/types/loaders/api/addRelease.d.ts +2 -0
- package/dist/types/loaders/api/addRelease.d.ts.map +1 -0
- package/dist/types/loaders/api/addToTrace.d.ts +2 -0
- package/dist/types/loaders/api/addToTrace.d.ts.map +1 -0
- package/dist/types/loaders/api/constants.d.ts +27 -0
- package/dist/types/loaders/api/constants.d.ts.map +1 -0
- package/dist/types/loaders/api/finished.d.ts +2 -0
- package/dist/types/loaders/api/finished.d.ts.map +1 -0
- package/dist/types/loaders/api/interaction.d.ts +2 -0
- package/dist/types/loaders/api/interaction.d.ts.map +1 -0
- package/dist/types/loaders/api/log.d.ts +6 -0
- package/dist/types/loaders/api/log.d.ts.map +1 -0
- package/dist/types/loaders/api/noticeError.d.ts +3 -0
- package/dist/types/loaders/api/noticeError.d.ts.map +1 -0
- package/dist/types/loaders/api/pauseReplay.d.ts +2 -0
- package/dist/types/loaders/api/pauseReplay.d.ts.map +1 -0
- package/dist/types/loaders/api/recordCustomEvent.d.ts +2 -0
- package/dist/types/loaders/api/recordCustomEvent.d.ts.map +1 -0
- package/dist/types/loaders/api/recordReplay.d.ts +2 -0
- package/dist/types/loaders/api/recordReplay.d.ts.map +1 -0
- package/dist/types/loaders/api/register.d.ts +20 -0
- package/dist/types/loaders/api/register.d.ts.map +1 -0
- package/dist/types/loaders/api/setApplicationVersion.d.ts +2 -0
- package/dist/types/loaders/api/setApplicationVersion.d.ts.map +1 -0
- package/dist/types/loaders/api/setCustomAttribute.d.ts +2 -0
- package/dist/types/loaders/api/setCustomAttribute.d.ts.map +1 -0
- package/dist/types/loaders/api/setErrorHandler.d.ts +2 -0
- package/dist/types/loaders/api/setErrorHandler.d.ts.map +1 -0
- package/dist/types/loaders/api/setPageViewName.d.ts +2 -0
- package/dist/types/loaders/api/setPageViewName.d.ts.map +1 -0
- package/dist/types/loaders/api/setUserId.d.ts +2 -0
- package/dist/types/loaders/api/setUserId.d.ts.map +1 -0
- package/dist/types/loaders/api/sharedHandlers.d.ts +20 -0
- package/dist/types/loaders/api/sharedHandlers.d.ts.map +1 -0
- package/dist/types/loaders/api/start.d.ts +2 -0
- package/dist/types/loaders/api/start.d.ts.map +1 -0
- package/dist/types/loaders/api/topLevelCallers.d.ts +2 -0
- package/dist/types/loaders/api/topLevelCallers.d.ts.map +1 -0
- package/dist/types/loaders/api/wrapLogger.d.ts +2 -0
- package/dist/types/loaders/api/wrapLogger.d.ts.map +1 -0
- package/dist/types/loaders/api-base.d.ts +169 -0
- package/dist/types/loaders/api-base.d.ts.map +1 -0
- package/dist/types/loaders/configure/configure.d.ts.map +1 -1
- package/dist/types/loaders/micro-agent-base.d.ts +2 -95
- package/dist/types/loaders/micro-agent-base.d.ts.map +1 -1
- package/dist/types/loaders/micro-agent.d.ts +1 -1
- package/dist/types/loaders/micro-agent.d.ts.map +1 -1
- package/package.json +6 -1
- package/src/features/ajax/instrument/index.js +3 -3
- package/src/features/generic_events/aggregate/index.js +1 -0
- package/src/features/generic_events/aggregate/user-actions/aggregated-user-action.js +2 -0
- package/src/features/generic_events/instrument/index.js +13 -3
- package/src/features/jserrors/instrument/index.js +13 -3
- package/src/features/logging/instrument/index.js +11 -3
- package/src/features/metrics/instrument/index.js +3 -3
- package/src/features/page_action/instrument/index.js +1 -3
- package/src/features/page_view_event/instrument/index.js +7 -3
- package/src/features/page_view_timing/instrument/index.js +3 -3
- package/src/features/session_replay/instrument/index.js +11 -4
- package/src/features/session_trace/instrument/index.js +10 -3
- package/src/features/soft_navigations/instrument/index.js +8 -3
- package/src/features/spa/instrument/index.js +8 -3
- package/src/features/utils/instrument-base.js +27 -20
- package/src/loaders/agent-base.js +4 -96
- package/src/loaders/agent.js +11 -0
- package/src/loaders/api/addPageAction.js +17 -0
- package/src/loaders/api/addRelease.js +14 -0
- package/src/loaders/api/addToTrace.js +25 -0
- package/src/loaders/api/constants.js +28 -0
- package/src/loaders/api/finished.js +19 -0
- package/src/loaders/api/interaction.js +59 -0
- package/src/loaders/api/log.js +18 -0
- package/src/loaders/api/noticeError.js +26 -0
- package/src/loaders/api/pauseReplay.js +14 -0
- package/src/loaders/api/recordCustomEvent.js +15 -0
- package/src/loaders/api/recordReplay.js +14 -0
- package/src/loaders/api/register.js +168 -0
- package/src/loaders/api/setApplicationVersion.js +22 -0
- package/src/loaders/api/setCustomAttribute.js +21 -0
- package/src/loaders/api/setErrorHandler.js +12 -0
- package/src/loaders/api/setPageViewName.js +17 -0
- package/src/loaders/api/setUserId.js +22 -0
- package/src/loaders/api/sharedHandlers.js +63 -0
- package/src/loaders/api/start.js +12 -0
- package/src/loaders/api/topLevelCallers.js +24 -0
- package/src/loaders/api/wrapLogger.js +14 -0
- package/src/loaders/api-base.js +218 -0
- package/src/loaders/configure/configure.js +2 -3
- package/src/loaders/micro-agent-base.js +3 -136
- package/src/loaders/micro-agent.js +34 -4
- package/tools/bundler-tools/bundler-tools.js +27 -0
- package/tools/bundler-tools/bundler-tools.mjs +23 -0
- package/dist/cjs/features/utils/lazy-feature-loader.js +0 -53
- package/dist/cjs/loaders/api/api-methods.js +0 -14
- package/dist/cjs/loaders/api/api.js +0 -259
- package/dist/cjs/loaders/api/apiAsync.js +0 -63
- package/dist/esm/features/utils/lazy-feature-loader.js +0 -47
- package/dist/esm/loaders/api/api-methods.js +0 -7
- package/dist/esm/loaders/api/api.js +0 -251
- package/dist/esm/loaders/api/apiAsync.js +0 -56
- package/dist/types/features/utils/lazy-feature-loader.d.ts +0 -13
- package/dist/types/features/utils/lazy-feature-loader.d.ts.map +0 -1
- package/dist/types/loaders/api/api-methods.d.ts +0 -3
- package/dist/types/loaders/api/api-methods.d.ts.map +0 -1
- package/dist/types/loaders/api/api.d.ts +0 -3
- package/dist/types/loaders/api/api.d.ts.map +0 -1
- package/dist/types/loaders/api/apiAsync.d.ts +0 -2
- package/dist/types/loaders/api/apiAsync.d.ts.map +0 -1
- package/src/features/utils/lazy-feature-loader.js +0 -47
- package/src/loaders/api/api-methods.js +0 -16
- package/src/loaders/api/api.js +0 -264
- package/src/loaders/api/apiAsync.js +0 -56
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,16 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [1.290.0](https://github.com/newrelic/newrelic-browser-agent/compare/v1.289.0...v1.290.0) (2025-05-02)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* API Code Splitting ([#1433](https://github.com/newrelic/newrelic-browser-agent/issues/1433)) ([8e7498e](https://github.com/newrelic/newrelic-browser-agent/commit/8e7498e47a4666996f4837a53b02e8c313a48380))
|
|
12
|
+
* bundler tools exports ([#1447](https://github.com/newrelic/newrelic-browser-agent/issues/1447)) ([c11b6de](https://github.com/newrelic/newrelic-browser-agent/commit/c11b6de857f42b4e2315012a897ac6693c67cd04))
|
|
13
|
+
* Improve lazy-loading optimization ([#1443](https://github.com/newrelic/newrelic-browser-agent/issues/1443)) ([5668883](https://github.com/newrelic/newrelic-browser-agent/commit/56688831ed8fbf512dc70f1ebf37e648e498ece9))
|
|
14
|
+
* Set UserAction currentUrl before aggregation end ([#1463](https://github.com/newrelic/newrelic-browser-agent/issues/1463)) ([177316b](https://github.com/newrelic/newrelic-browser-agent/commit/177316b8527ab158868da8ad9677c96fc60d08ea))
|
|
15
|
+
|
|
6
16
|
## [1.289.0](https://github.com/newrelic/newrelic-browser-agent/compare/v1.288.1...v1.289.0) (2025-04-24)
|
|
7
17
|
|
|
8
18
|
|
package/README.md
CHANGED
|
@@ -251,6 +251,38 @@ import { Agent } from '@newrelic/browser-agent/loaders/agent'
|
|
|
251
251
|
import { Metrics } from '@newrelic/browser-agent/src/features/metrics'
|
|
252
252
|
```
|
|
253
253
|
|
|
254
|
+
## Bundling
|
|
255
|
+
As an outcome of the design patterns employed in the browser agent package, building the agent can generate lazy-loaded chunks for many of the utilized modules. To concatenate, deduplicate and reduce those modules to a single lazy-loaded file the same way we do internally when shipping to our CDN, you can choose to utilize the `"build-tools"` directory which includes rulesets for various build tools.
|
|
256
|
+
|
|
257
|
+
**Please note - This is an optional step. The browser agent can be built without any rules instructing the build tools about the handling of the lazy-loaded chunks, or the chunks can be handled in any way you see fit to conform to your build process. This ruleset serves as an example of what we do internally when shipping to our CDN.**
|
|
258
|
+
|
|
259
|
+
### Webpack
|
|
260
|
+
For Webpack (v4+), you can choose to use our [webpack cache group rule](https://github.com/newrelic/newrelic-browser-agent/blob/main/tools/bundler-tools/bundler-tools.mjs) to instruct webpack on how to handle the agent's lazy chunks. The cacheGroup rule acts as a rule within the [SplitChunksPlugin](https://webpack.js.org/plugins/split-chunks-plugin/). Please observe the relevant documentation for use of this plugin. The output of this cache group rule will generate a lazy aggregate module, and lazy chunks for session replay, which matches the pattern found on our CDN distribution.
|
|
261
|
+
|
|
262
|
+
### Other
|
|
263
|
+
Plugins for other bundling tools are planned for the future.
|
|
264
|
+
|
|
265
|
+
```javascript
|
|
266
|
+
// in webpack.config.js
|
|
267
|
+
const { webpackCacheGroup } = require('@newrelic/browser-agent/tools/bundler-tools')
|
|
268
|
+
// ... or ...
|
|
269
|
+
import { webpackCacheGroup } from '@newrelic/browser-agent/tools/bundler-tools'
|
|
270
|
+
|
|
271
|
+
{
|
|
272
|
+
// ...
|
|
273
|
+
optimization: {
|
|
274
|
+
splitChunks: {
|
|
275
|
+
cacheGroups: {
|
|
276
|
+
// A ruleset for handling the browser agent modules
|
|
277
|
+
...webpackCacheGroup(),
|
|
278
|
+
// ... other cache groups
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
},
|
|
282
|
+
// ...
|
|
283
|
+
}
|
|
284
|
+
```
|
|
285
|
+
|
|
254
286
|
## Library Support
|
|
255
287
|
|
|
256
288
|
The browser agent is written to be agnostic to any JavaScript library or framework. The agent exposes a number of [API methods](https://docs.newrelic.com/docs/browser/new-relic-browser/browser-apis/using-browser-apis/) that can be incorporated into libraries and frameworks. For example, export or make available the initialized agent and create a new error boundary in your react application that calls `browserAgent.noticeError()`.
|
|
@@ -17,7 +17,7 @@ exports.VERSION = exports.RRWEB_VERSION = exports.DIST_METHOD = exports.BUILD_EN
|
|
|
17
17
|
/**
|
|
18
18
|
* Exposes the version of the agent
|
|
19
19
|
*/
|
|
20
|
-
const VERSION = exports.VERSION = "1.
|
|
20
|
+
const VERSION = exports.VERSION = "1.290.0";
|
|
21
21
|
|
|
22
22
|
/**
|
|
23
23
|
* Exposes the build type of the agent
|
|
@@ -17,7 +17,7 @@ exports.VERSION = exports.RRWEB_VERSION = exports.DIST_METHOD = exports.BUILD_EN
|
|
|
17
17
|
/**
|
|
18
18
|
* Exposes the version of the agent
|
|
19
19
|
*/
|
|
20
|
-
const VERSION = exports.VERSION = "1.
|
|
20
|
+
const VERSION = exports.VERSION = "1.290.0";
|
|
21
21
|
|
|
22
22
|
/**
|
|
23
23
|
* Exposes the build type of the agent
|
|
@@ -21,11 +21,11 @@ var _features = require("../../../loaders/features/features");
|
|
|
21
21
|
var _constants2 = require("../../metrics/constants");
|
|
22
22
|
var _now = require("../../../common/timing/now");
|
|
23
23
|
var _denyList = require("../../../common/deny-list/deny-list");
|
|
24
|
-
|
|
24
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
25
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } /**
|
|
25
26
|
* Copyright 2020-2025 New Relic, Inc. All rights reserved.
|
|
26
27
|
* SPDX-License-Identifier: Apache-2.0
|
|
27
28
|
*/
|
|
28
|
-
|
|
29
29
|
var handlers = ['load', 'error', 'abort', 'timeout'];
|
|
30
30
|
var handlersLen = handlers.length;
|
|
31
31
|
var origRequest = (0, _nreum.gosNREUMOriginals)().o.REQ;
|
|
@@ -33,8 +33,8 @@ var origXHR = (0, _nreum.gosNREUMOriginals)().o.XHR;
|
|
|
33
33
|
const NR_CAT_HEADER = 'X-NewRelic-App-Data';
|
|
34
34
|
class Instrument extends _instrumentBase.InstrumentBase {
|
|
35
35
|
static featureName = _constants.FEATURE_NAME;
|
|
36
|
-
constructor(agentRef
|
|
37
|
-
super(agentRef, _constants.FEATURE_NAME
|
|
36
|
+
constructor(agentRef) {
|
|
37
|
+
super(agentRef, _constants.FEATURE_NAME);
|
|
38
38
|
this.dt = new _distributedTracing.DT(agentRef);
|
|
39
39
|
this.handler = (type, args, ctx, group) => (0, _handle.handle)(type, args, ctx, group, this.ee);
|
|
40
40
|
|
|
@@ -72,7 +72,7 @@ class Instrument extends _instrumentBase.InstrumentBase {
|
|
|
72
72
|
(0, _wrapFetch.wrapFetch)(this.ee);
|
|
73
73
|
(0, _wrapXhr.wrapXhr)(this.ee);
|
|
74
74
|
subscribeToEvents(agentRef, this.ee, this.handler, this.dt);
|
|
75
|
-
this.importAggregator(agentRef);
|
|
75
|
+
this.importAggregator(agentRef, () => Promise.resolve().then(() => _interopRequireWildcard(require(/* webpackChunkName: "ajax-aggregate" */'../aggregate/index.js'))));
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
78
|
exports.Instrument = Instrument;
|
|
@@ -83,6 +83,7 @@ class Aggregate extends _aggregateBase.AggregateBase {
|
|
|
83
83
|
actionMs: aggregatedUserAction.relativeMs,
|
|
84
84
|
rageClick: aggregatedUserAction.rageClick,
|
|
85
85
|
target: aggregatedUserAction.selectorPath,
|
|
86
|
+
currentUrl: aggregatedUserAction.currentUrl,
|
|
86
87
|
...((0, _iframe.isIFrameWindow)(window) && {
|
|
87
88
|
iframe: true
|
|
88
89
|
}),
|
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.AggregatedUserAction = void 0;
|
|
7
7
|
var _constants = require("../../constants");
|
|
8
|
+
var _cleanUrl = require("../../../../common/url/clean-url");
|
|
8
9
|
/**
|
|
9
10
|
* Copyright 2020-2025 New Relic, Inc. All rights reserved.
|
|
10
11
|
* SPDX-License-Identifier: Apache-2.0
|
|
@@ -19,6 +20,7 @@ class AggregatedUserAction {
|
|
|
19
20
|
this.selectorPath = selectorPath;
|
|
20
21
|
this.rageClick = undefined;
|
|
21
22
|
this.nearestTargetFields = nearestTargetFields;
|
|
23
|
+
this.currentUrl = (0, _cleanUrl.cleanURL)('' + location);
|
|
22
24
|
}
|
|
23
25
|
|
|
24
26
|
/**
|
|
@@ -8,19 +8,29 @@ var _runtime = require("../../../common/constants/runtime");
|
|
|
8
8
|
var _handle = require("../../../common/event-emitter/handle");
|
|
9
9
|
var _eventListenerOpts = require("../../../common/event-listener/event-listener-opts");
|
|
10
10
|
var _invoke = require("../../../common/util/invoke");
|
|
11
|
+
var _addPageAction = require("../../../loaders/api/addPageAction");
|
|
12
|
+
var _finished = require("../../../loaders/api/finished");
|
|
13
|
+
var _recordCustomEvent = require("../../../loaders/api/recordCustomEvent");
|
|
14
|
+
var _register = require("../../../loaders/api/register");
|
|
11
15
|
var _instrumentBase = require("../../utils/instrument-base");
|
|
12
16
|
var _constants = require("../constants");
|
|
13
|
-
|
|
17
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
18
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } /**
|
|
14
19
|
* Copyright 2020-2025 New Relic, Inc. All rights reserved.
|
|
15
20
|
* SPDX-License-Identifier: Apache-2.0
|
|
16
21
|
*/
|
|
17
|
-
|
|
18
22
|
class Instrument extends _instrumentBase.InstrumentBase {
|
|
19
23
|
static featureName = _constants.FEATURE_NAME;
|
|
20
|
-
constructor(agentRef
|
|
21
|
-
super(agentRef, _constants.FEATURE_NAME
|
|
24
|
+
constructor(agentRef) {
|
|
25
|
+
super(agentRef, _constants.FEATURE_NAME);
|
|
22
26
|
/** config values that gate whether the generic events aggregator should be imported at all */
|
|
23
27
|
const genericEventSourceConfigs = [agentRef.init.page_action.enabled, agentRef.init.performance.capture_marks, agentRef.init.performance.capture_measures, agentRef.init.user_actions.enabled, agentRef.init.performance.resources.enabled];
|
|
28
|
+
|
|
29
|
+
/** feature specific APIs */
|
|
30
|
+
(0, _addPageAction.setupAddPageActionAPI)(agentRef);
|
|
31
|
+
(0, _recordCustomEvent.setupRecordCustomEventAPI)(agentRef);
|
|
32
|
+
(0, _finished.setupFinishedAPI)(agentRef);
|
|
33
|
+
(0, _register.setupRegisterAPI)(agentRef);
|
|
24
34
|
if (_runtime.isBrowserScope) {
|
|
25
35
|
if (agentRef.init.user_actions.enabled) {
|
|
26
36
|
_constants.OBSERVED_EVENTS.forEach(eventType => (0, _eventListenerOpts.windowAddEventListener)(eventType, evt => (0, _handle.handle)('ua', [evt], undefined, this.featureName, this.ee), true));
|
|
@@ -49,7 +59,7 @@ class Instrument extends _instrumentBase.InstrumentBase {
|
|
|
49
59
|
}
|
|
50
60
|
|
|
51
61
|
/** If any of the sources are active, import the aggregator. otherwise deregister */
|
|
52
|
-
if (genericEventSourceConfigs.some(x => x)) this.importAggregator(agentRef);else this.deregisterDrain();
|
|
62
|
+
if (genericEventSourceConfigs.some(x => x)) this.importAggregator(agentRef, () => Promise.resolve().then(() => _interopRequireWildcard(require(/* webpackChunkName: "generic_events-aggregate" */'../aggregate'))));else this.deregisterDrain();
|
|
53
63
|
}
|
|
54
64
|
}
|
|
55
65
|
exports.Instrument = Instrument;
|
|
@@ -12,16 +12,26 @@ var _eventListenerOpts = require("../../../common/event-listener/event-listener-
|
|
|
12
12
|
var _now = require("../../../common/timing/now");
|
|
13
13
|
var _constants2 = require("../../session_replay/constants");
|
|
14
14
|
var _castError = require("../shared/cast-error");
|
|
15
|
-
|
|
15
|
+
var _noticeError = require("../../../loaders/api/noticeError");
|
|
16
|
+
var _setErrorHandler = require("../../../loaders/api/setErrorHandler");
|
|
17
|
+
var _addRelease = require("../../../loaders/api/addRelease");
|
|
18
|
+
var _register = require("../../../loaders/api/register");
|
|
19
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
20
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } /**
|
|
16
21
|
* Copyright 2020-2025 New Relic, Inc. All rights reserved.
|
|
17
22
|
* SPDX-License-Identifier: Apache-2.0
|
|
18
23
|
*/
|
|
19
|
-
|
|
20
24
|
class Instrument extends _instrumentBase.InstrumentBase {
|
|
21
25
|
static featureName = _constants.FEATURE_NAME;
|
|
22
26
|
#replayRunning = false;
|
|
23
|
-
constructor(agentRef
|
|
24
|
-
super(agentRef, _constants.FEATURE_NAME
|
|
27
|
+
constructor(agentRef) {
|
|
28
|
+
super(agentRef, _constants.FEATURE_NAME);
|
|
29
|
+
|
|
30
|
+
/** feature specific APIs */
|
|
31
|
+
(0, _noticeError.setupNoticeErrorAPI)(agentRef);
|
|
32
|
+
(0, _setErrorHandler.setupSetErrorHandlerAPI)(agentRef);
|
|
33
|
+
(0, _addRelease.setupAddReleaseAPI)(agentRef);
|
|
34
|
+
(0, _register.setupRegisterAPI)(agentRef);
|
|
25
35
|
try {
|
|
26
36
|
// this try-catch can be removed when IE11 is completely unsupported & gone
|
|
27
37
|
this.removeOnAbort = new AbortController();
|
|
@@ -44,7 +54,7 @@ class Instrument extends _instrumentBase.InstrumentBase {
|
|
|
44
54
|
(0, _handle.handle)('err', [(0, _castError.castErrorEvent)(errorEvent), (0, _now.now)(), false, {}, this.#replayRunning], undefined, this.featureName, this.ee);
|
|
45
55
|
}, (0, _eventListenerOpts.eventListenerOpts)(false, this.removeOnAbort?.signal));
|
|
46
56
|
this.abortHandler = this.#abort; // we also use this as a flag to denote that the feature is active or on and handling errors
|
|
47
|
-
this.importAggregator(agentRef);
|
|
57
|
+
this.importAggregator(agentRef, () => Promise.resolve().then(() => _interopRequireWildcard(require(/* webpackChunkName: "jserrors-aggregate" */'../aggregate'))));
|
|
48
58
|
}
|
|
49
59
|
|
|
50
60
|
/** Restoration and resource release tasks to be done if JS error loader is being aborted. Unwind changes to globals. */
|
|
@@ -9,15 +9,23 @@ var _constants = require("../constants");
|
|
|
9
9
|
var _utils = require("../shared/utils");
|
|
10
10
|
var _wrapLogger = require("../../../common/wrap/wrap-logger");
|
|
11
11
|
var _runtime = require("../../../common/constants/runtime");
|
|
12
|
-
|
|
12
|
+
var _log = require("../../../loaders/api/log");
|
|
13
|
+
var _wrapLogger2 = require("../../../loaders/api/wrapLogger");
|
|
14
|
+
var _register = require("../../../loaders/api/register");
|
|
15
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
16
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } /**
|
|
13
17
|
* Copyright 2020-2025 New Relic, Inc. All rights reserved.
|
|
14
18
|
* SPDX-License-Identifier: Apache-2.0
|
|
15
19
|
*/
|
|
16
|
-
|
|
17
20
|
class Instrument extends _instrumentBase.InstrumentBase {
|
|
18
21
|
static featureName = _constants.FEATURE_NAME;
|
|
19
|
-
constructor(agentRef
|
|
20
|
-
super(agentRef, _constants.FEATURE_NAME
|
|
22
|
+
constructor(agentRef) {
|
|
23
|
+
super(agentRef, _constants.FEATURE_NAME);
|
|
24
|
+
|
|
25
|
+
/** feature specific APIs */
|
|
26
|
+
(0, _log.setupLogAPI)(agentRef);
|
|
27
|
+
(0, _wrapLogger2.setupWrapLoggerAPI)(agentRef);
|
|
28
|
+
(0, _register.setupRegisterAPI)(agentRef);
|
|
21
29
|
const instanceEE = this.ee;
|
|
22
30
|
(0, _wrapLogger.wrapLogger)(instanceEE, _runtime.globalScope.console, 'log', {
|
|
23
31
|
level: 'info'
|
|
@@ -45,7 +53,7 @@ class Instrument extends _instrumentBase.InstrumentBase {
|
|
|
45
53
|
} = this;
|
|
46
54
|
(0, _utils.bufferLog)(instanceEE, message, customAttributes, level);
|
|
47
55
|
});
|
|
48
|
-
this.importAggregator(agentRef);
|
|
56
|
+
this.importAggregator(agentRef, () => Promise.resolve().then(() => _interopRequireWildcard(require(/* webpackChunkName: "logging-aggregate" */'../aggregate'))));
|
|
49
57
|
}
|
|
50
58
|
}
|
|
51
59
|
exports.Instrument = Instrument;
|
|
@@ -8,18 +8,18 @@ var _runtime = require("../../../common/constants/runtime");
|
|
|
8
8
|
var _handle = require("../../../common/event-emitter/handle");
|
|
9
9
|
var _instrumentBase = require("../../utils/instrument-base");
|
|
10
10
|
var _constants = require("../constants");
|
|
11
|
-
|
|
11
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
12
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } /**
|
|
12
13
|
* Copyright 2020-2025 New Relic, Inc. All rights reserved.
|
|
13
14
|
* SPDX-License-Identifier: Apache-2.0
|
|
14
15
|
*/
|
|
15
|
-
|
|
16
16
|
// import { handle } from '../../../common/event-emitter/handle'
|
|
17
17
|
// import { WEBSOCKET_TAG, wrapWebSocket } from '../../../common/wrap/wrap-websocket'
|
|
18
18
|
|
|
19
19
|
class Instrument extends _instrumentBase.InstrumentBase {
|
|
20
20
|
static featureName = _constants.FEATURE_NAME;
|
|
21
|
-
constructor(agentRef
|
|
22
|
-
super(agentRef, _constants.FEATURE_NAME
|
|
21
|
+
constructor(agentRef) {
|
|
22
|
+
super(agentRef, _constants.FEATURE_NAME);
|
|
23
23
|
// wrapWebSocket(this.ee) - feb'25 : removing wrapping again to avoid integration issues
|
|
24
24
|
|
|
25
25
|
// WATCHABLE_WEB_SOCKET_EVENTS.forEach((suffix) => {
|
|
@@ -33,7 +33,7 @@ class Instrument extends _instrumentBase.InstrumentBase {
|
|
|
33
33
|
(0, _handle.handle)(_constants.SUPPORTABILITY_METRIC_CHANNEL, ['Generic/CSPViolation/Detected'], undefined, this.featureName, this.ee);
|
|
34
34
|
});
|
|
35
35
|
}
|
|
36
|
-
this.importAggregator(agentRef);
|
|
36
|
+
this.importAggregator(agentRef, () => Promise.resolve().then(() => _interopRequireWildcard(require(/* webpackChunkName: "metrics-aggregate" */'../aggregate'))));
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
exports.Instrument = Instrument;
|
|
@@ -13,11 +13,7 @@ var _generic_events = require("../../generic_events");
|
|
|
13
13
|
/**
|
|
14
14
|
* @deprecated This feature has been replaced by Generic Events. Use/Import `GenericEvents` instead. This wrapper will be removed in a future release
|
|
15
15
|
*/
|
|
16
|
-
class Instrument extends _generic_events.GenericEvents {
|
|
17
|
-
constructor(agentIdentifier, aggregator, auto = true) {
|
|
18
|
-
super(agentIdentifier, aggregator, auto);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
16
|
+
class Instrument extends _generic_events.GenericEvents {}
|
|
21
17
|
|
|
22
18
|
/**
|
|
23
19
|
* @deprecated This feature has been replaced by Generic Events. Use/Import `GenericEvents` instead. This wrapper will be removed in a future release
|
|
@@ -5,23 +5,25 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.PageViewEvent = exports.Instrument = void 0;
|
|
7
7
|
var _handle = require("../../../common/event-emitter/handle");
|
|
8
|
+
var _setPageViewName = require("../../../loaders/api/setPageViewName");
|
|
8
9
|
var _instrumentBase = require("../../utils/instrument-base");
|
|
9
10
|
var CONSTANTS = _interopRequireWildcard(require("../constants"));
|
|
10
11
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
11
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
12
|
-
/**
|
|
12
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } /**
|
|
13
13
|
* Copyright 2020-2025 New Relic, Inc. All rights reserved.
|
|
14
14
|
* SPDX-License-Identifier: Apache-2.0
|
|
15
15
|
*/
|
|
16
|
-
|
|
17
16
|
class Instrument extends _instrumentBase.InstrumentBase {
|
|
18
17
|
static featureName = CONSTANTS.FEATURE_NAME;
|
|
19
|
-
constructor(agentRef
|
|
20
|
-
super(agentRef, CONSTANTS.FEATURE_NAME
|
|
18
|
+
constructor(agentRef) {
|
|
19
|
+
super(agentRef, CONSTANTS.FEATURE_NAME);
|
|
20
|
+
|
|
21
|
+
/** feature specific APIs */
|
|
22
|
+
(0, _setPageViewName.setupSetPageViewNameAPI)(agentRef);
|
|
21
23
|
|
|
22
24
|
/** messages from the register API that can trigger a new RUM call */
|
|
23
25
|
this.ee.on('api-send-rum', (attrs, target) => (0, _handle.handle)('send-rum', [attrs, target], undefined, this.featureName, this.ee));
|
|
24
|
-
this.importAggregator(agentRef);
|
|
26
|
+
this.importAggregator(agentRef, () => Promise.resolve().then(() => _interopRequireWildcard(require(/* webpackChunkName: "page_view_event-aggregate" */'../aggregate'))));
|
|
25
27
|
}
|
|
26
28
|
}
|
|
27
29
|
exports.Instrument = Instrument;
|
|
@@ -11,15 +11,15 @@ var _instrumentBase = require("../../utils/instrument-base");
|
|
|
11
11
|
var _constants = require("../constants");
|
|
12
12
|
var _runtime = require("../../../common/constants/runtime");
|
|
13
13
|
var _now = require("../../../common/timing/now");
|
|
14
|
-
|
|
14
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
15
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } /**
|
|
15
16
|
* Copyright 2020-2025 New Relic, Inc. All rights reserved.
|
|
16
17
|
* SPDX-License-Identifier: Apache-2.0
|
|
17
18
|
*/
|
|
18
|
-
|
|
19
19
|
class Instrument extends _instrumentBase.InstrumentBase {
|
|
20
20
|
static featureName = _constants.FEATURE_NAME;
|
|
21
|
-
constructor(agentRef
|
|
22
|
-
super(agentRef, _constants.FEATURE_NAME
|
|
21
|
+
constructor(agentRef) {
|
|
22
|
+
super(agentRef, _constants.FEATURE_NAME);
|
|
23
23
|
if (!_runtime.isBrowserScope) return; // CWV is irrelevant outside web context
|
|
24
24
|
|
|
25
25
|
// While we try to replicate web-vital's visibilitywatcher logic in an effort to defer that library to post-pageload, this isn't perfect and doesn't consider prerendering.
|
|
@@ -27,7 +27,7 @@ class Instrument extends _instrumentBase.InstrumentBase {
|
|
|
27
27
|
|
|
28
28
|
// Window fires its pagehide event (typically on navigation--this occurrence is a *subset* of vis change); don't defer this unless it's guarantee it cannot happen before load(?)
|
|
29
29
|
(0, _eventListenerOpts.windowAddEventListener)('pagehide', () => (0, _handle.handle)('winPagehide', [(0, _now.now)()], undefined, _constants.FEATURE_NAME, this.ee));
|
|
30
|
-
this.importAggregator(agentRef);
|
|
30
|
+
this.importAggregator(agentRef, () => Promise.resolve().then(() => _interopRequireWildcard(require(/* webpackChunkName: "page_view_timing-aggregate" */'../aggregate'))));
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
exports.Instrument = Instrument;
|
|
@@ -9,6 +9,8 @@ var _constants = require("../../../common/session/constants");
|
|
|
9
9
|
var _instrumentBase = require("../../utils/instrument-base");
|
|
10
10
|
var _utils = require("../shared/utils");
|
|
11
11
|
var _constants2 = require("../constants");
|
|
12
|
+
var _recordReplay = require("../../../loaders/api/recordReplay");
|
|
13
|
+
var _pauseReplay = require("../../../loaders/api/pauseReplay");
|
|
12
14
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
13
15
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } /**
|
|
14
16
|
* Copyright 2020-2025 New Relic, Inc. All rights reserved.
|
|
@@ -20,8 +22,12 @@ class Instrument extends _instrumentBase.InstrumentBase {
|
|
|
20
22
|
static featureName = _constants2.FEATURE_NAME;
|
|
21
23
|
#mode;
|
|
22
24
|
#agentRef;
|
|
23
|
-
constructor(agentRef
|
|
24
|
-
super(agentRef, _constants2.FEATURE_NAME
|
|
25
|
+
constructor(agentRef) {
|
|
26
|
+
super(agentRef, _constants2.FEATURE_NAME);
|
|
27
|
+
|
|
28
|
+
/** feature specific APIs */
|
|
29
|
+
(0, _recordReplay.setupRecordReplayAPI)(agentRef);
|
|
30
|
+
(0, _pauseReplay.setupPauseReplayAPI)(agentRef);
|
|
25
31
|
let session;
|
|
26
32
|
this.replayRunning = false;
|
|
27
33
|
this.#agentRef = agentRef;
|
|
@@ -35,7 +41,7 @@ class Instrument extends _instrumentBase.InstrumentBase {
|
|
|
35
41
|
this.#mode = session?.sessionReplayMode;
|
|
36
42
|
this.#preloadStartRecording();
|
|
37
43
|
} else {
|
|
38
|
-
this.importAggregator(agentRef);
|
|
44
|
+
this.importAggregator(this.#agentRef, () => Promise.resolve().then(() => _interopRequireWildcard(require(/* webpackChunkName: "session_replay-aggregate" */'../aggregate'))));
|
|
39
45
|
}
|
|
40
46
|
|
|
41
47
|
/** If the recorder is running, we can pass error events on to the agg to help it switch to full mode later */
|
|
@@ -90,7 +96,7 @@ class Instrument extends _instrumentBase.InstrumentBase {
|
|
|
90
96
|
this.recorder.startRecording();
|
|
91
97
|
this.abortHandler = this.recorder.stopRecording;
|
|
92
98
|
} catch (e) {} // TODO add internal error handling
|
|
93
|
-
this.importAggregator(this.#agentRef, {
|
|
99
|
+
this.importAggregator(this.#agentRef, () => Promise.resolve().then(() => _interopRequireWildcard(require(/* webpackChunkName: "session_replay-aggregate" */'../aggregate'))), {
|
|
94
100
|
recorder: this.recorder,
|
|
95
101
|
errorNoticed: this.errorNoticed
|
|
96
102
|
});
|
|
@@ -12,13 +12,13 @@ var CONSTANTS = _interopRequireWildcard(require("../constants"));
|
|
|
12
12
|
var _features = require("../../../loaders/features/features");
|
|
13
13
|
var _featureGates = require("../../utils/feature-gates");
|
|
14
14
|
var _now = require("../../../common/timing/now");
|
|
15
|
+
var _addToTrace = require("../../../loaders/api/addToTrace");
|
|
16
|
+
var _finished = require("../../../loaders/api/finished");
|
|
15
17
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
16
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
17
|
-
/**
|
|
18
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } /**
|
|
18
19
|
* Copyright 2020-2025 New Relic, Inc. All rights reserved.
|
|
19
20
|
* SPDX-License-Identifier: Apache-2.0
|
|
20
21
|
*/
|
|
21
|
-
|
|
22
22
|
const {
|
|
23
23
|
BST_RESOURCE,
|
|
24
24
|
RESOURCE,
|
|
@@ -31,8 +31,12 @@ const {
|
|
|
31
31
|
} = CONSTANTS;
|
|
32
32
|
class Instrument extends _instrumentBase.InstrumentBase {
|
|
33
33
|
static featureName = FEATURE_NAME;
|
|
34
|
-
constructor(agentRef
|
|
35
|
-
super(agentRef, FEATURE_NAME
|
|
34
|
+
constructor(agentRef) {
|
|
35
|
+
super(agentRef, FEATURE_NAME);
|
|
36
|
+
|
|
37
|
+
/** feature specific APIs */
|
|
38
|
+
(0, _addToTrace.setupAddToTraceAPI)(agentRef);
|
|
39
|
+
(0, _finished.setupFinishedAPI)(agentRef);
|
|
36
40
|
const canTrackSession = (0, _featureGates.canEnableSessionTracking)(agentRef.init);
|
|
37
41
|
if (!canTrackSession) {
|
|
38
42
|
this.deregisterDrain();
|
|
@@ -71,7 +75,7 @@ class Instrument extends _instrumentBase.InstrumentBase {
|
|
|
71
75
|
} catch (e) {
|
|
72
76
|
// Per NEWRELIC-8525, we don't have a fallback for capturing resources for older versions that don't support PO at this time.
|
|
73
77
|
}
|
|
74
|
-
this.importAggregator(agentRef, {
|
|
78
|
+
this.importAggregator(agentRef, () => Promise.resolve().then(() => _interopRequireWildcard(require(/* webpackChunkName: "session_trace-aggregate" */'../aggregate'))), {
|
|
75
79
|
resourceObserver: observer
|
|
76
80
|
});
|
|
77
81
|
}
|
|
@@ -13,11 +13,12 @@ var _wrapHistory = require("../../../common/wrap/wrap-history");
|
|
|
13
13
|
var _instrumentBase = require("../../utils/instrument-base");
|
|
14
14
|
var _constants = require("../constants");
|
|
15
15
|
var _now = require("../../../common/timing/now");
|
|
16
|
-
|
|
16
|
+
var _interaction = require("../../../loaders/api/interaction");
|
|
17
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
18
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } /**
|
|
17
19
|
* Copyright 2020-2025 New Relic, Inc. All rights reserved.
|
|
18
20
|
* SPDX-License-Identifier: Apache-2.0
|
|
19
21
|
*/
|
|
20
|
-
|
|
21
22
|
/**
|
|
22
23
|
* The minimal time after a UI event for which no further events will be processed - i.e. a throttling rate to reduce spam.
|
|
23
24
|
* This also give some time for the new interaction to complete without being discarded by a subsequent UI event and wrongly attributed.
|
|
@@ -27,8 +28,11 @@ const UI_WAIT_INTERVAL = 1 / 10 * 1000; // assume 10 fps
|
|
|
27
28
|
|
|
28
29
|
class Instrument extends _instrumentBase.InstrumentBase {
|
|
29
30
|
static featureName = _constants.FEATURE_NAME;
|
|
30
|
-
constructor(agentRef
|
|
31
|
-
super(agentRef, _constants.FEATURE_NAME
|
|
31
|
+
constructor(agentRef) {
|
|
32
|
+
super(agentRef, _constants.FEATURE_NAME);
|
|
33
|
+
|
|
34
|
+
/** feature specific APIs */
|
|
35
|
+
(0, _interaction.setupInteractionAPI)(agentRef);
|
|
32
36
|
if (!_runtime.isBrowserScope || !(0, _nreum.gosNREUMOriginals)().o.MO) return; // soft navigations is not supported outside web env or browsers without the mutation observer API
|
|
33
37
|
|
|
34
38
|
const historyEE = (0, _wrapHistory.wrapHistory)(this.ee);
|
|
@@ -67,7 +71,7 @@ class Instrument extends _instrumentBase.InstrumentBase {
|
|
|
67
71
|
leading: true
|
|
68
72
|
});
|
|
69
73
|
this.abortHandler = abort;
|
|
70
|
-
this.importAggregator(agentRef, {
|
|
74
|
+
this.importAggregator(agentRef, () => Promise.resolve().then(() => _interopRequireWildcard(require(/* webpackChunkName: "soft_navigations-aggregate" */'../aggregate'))), {
|
|
71
75
|
domObserver
|
|
72
76
|
});
|
|
73
77
|
function abort() {
|
|
@@ -17,13 +17,12 @@ var _wrapXhr = require("../../../common/wrap/wrap-xhr");
|
|
|
17
17
|
var _wrapFetch = require("../../../common/wrap/wrap-fetch");
|
|
18
18
|
var _wrapHistory = require("../../../common/wrap/wrap-history");
|
|
19
19
|
var _wrapMutation = require("../../../common/wrap/wrap-mutation");
|
|
20
|
+
var _interaction = require("../../../loaders/api/interaction");
|
|
20
21
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
21
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
22
|
-
/**
|
|
22
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } /**
|
|
23
23
|
* Copyright 2020-2025 New Relic, Inc. All rights reserved.
|
|
24
24
|
* SPDX-License-Identifier: Apache-2.0
|
|
25
25
|
*/
|
|
26
|
-
|
|
27
26
|
const {
|
|
28
27
|
FEATURE_NAME,
|
|
29
28
|
START,
|
|
@@ -42,8 +41,11 @@ const {
|
|
|
42
41
|
*/
|
|
43
42
|
class Instrument extends _instrumentBase.InstrumentBase {
|
|
44
43
|
static featureName = FEATURE_NAME;
|
|
45
|
-
constructor(agentRef
|
|
46
|
-
super(agentRef, FEATURE_NAME
|
|
44
|
+
constructor(agentRef) {
|
|
45
|
+
super(agentRef, FEATURE_NAME);
|
|
46
|
+
|
|
47
|
+
/** feature specific APIs */
|
|
48
|
+
(0, _interaction.setupInteractionAPI)(agentRef);
|
|
47
49
|
if (!_runtime.isBrowserScope) return; // SPA not supported outside web env
|
|
48
50
|
|
|
49
51
|
try {
|
|
@@ -114,7 +116,7 @@ class Instrument extends _instrumentBase.InstrumentBase {
|
|
|
114
116
|
});
|
|
115
117
|
}
|
|
116
118
|
this.abortHandler = this.#abort;
|
|
117
|
-
this.importAggregator(agentRef);
|
|
119
|
+
this.importAggregator(agentRef, () => Promise.resolve().then(() => _interopRequireWildcard(require(/* webpackChunkName: "spa-aggregate" */'../aggregate'))));
|
|
118
120
|
}
|
|
119
121
|
|
|
120
122
|
/** Restoration and resource release tasks to be done if SPA loader is being aborted. Unwind changes to globals and subscription to DOM events. */
|