@newrelic/browser-agent 1.310.1 → 1.311.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 +16 -0
- package/dist/cjs/common/config/configurable.js +2 -2
- package/dist/cjs/common/config/runtime.js +8 -2
- package/dist/cjs/common/constants/env.cdn.js +1 -1
- package/dist/cjs/common/constants/env.npm.js +1 -1
- package/dist/cjs/common/constants/runtime.js +17 -4
- package/dist/cjs/common/deny-list/deny-list.js +2 -2
- package/dist/cjs/common/drain/drain.js +27 -37
- package/dist/cjs/common/harvest/harvester.js +1 -3
- package/dist/cjs/common/session/session-entity.js +7 -8
- package/dist/cjs/common/util/console.js +1 -2
- package/dist/cjs/common/util/feature-flags.js +5 -16
- package/dist/cjs/common/util/script-tracker.js +22 -4
- package/dist/cjs/common/util/stringify.js +22 -7
- package/dist/cjs/common/vitals/largest-contentful-paint.js +0 -1
- package/dist/cjs/common/vitals/load-time.js +3 -2
- package/dist/cjs/common/vitals/time-to-first-byte.js +2 -2
- package/dist/cjs/features/jserrors/aggregate/index.js +0 -4
- package/dist/cjs/features/page_view_event/aggregate/index.js +3 -3
- package/dist/cjs/features/page_view_event/aggregate/initialized-features.js +3 -5
- package/dist/cjs/features/page_view_event/instrument/index.js +3 -5
- package/dist/cjs/features/page_view_timing/aggregate/index.js +2 -0
- package/dist/cjs/features/session_trace/aggregate/index.js +4 -3
- package/dist/cjs/features/utils/agent-session.js +3 -4
- package/dist/cjs/features/utils/aggregate-base.js +4 -6
- package/dist/cjs/features/utils/feature-base.js +6 -7
- package/dist/cjs/features/utils/instrument-base.js +7 -8
- package/dist/cjs/loaders/api/register-api-types.js +1 -1
- package/dist/cjs/loaders/api/register.js +1 -1
- package/dist/cjs/loaders/api/sharedHandlers.js +2 -4
- package/dist/cjs/loaders/configure/configure.js +23 -21
- package/dist/esm/common/config/configurable.js +2 -2
- package/dist/esm/common/config/runtime.js +8 -2
- package/dist/esm/common/constants/env.cdn.js +1 -1
- package/dist/esm/common/constants/env.npm.js +1 -1
- package/dist/esm/common/constants/runtime.js +15 -2
- package/dist/esm/common/deny-list/deny-list.js +2 -2
- package/dist/esm/common/drain/drain.js +27 -36
- package/dist/esm/common/harvest/harvester.js +1 -3
- package/dist/esm/common/session/session-entity.js +7 -8
- package/dist/esm/common/util/console.js +1 -2
- package/dist/esm/common/util/feature-flags.js +5 -14
- package/dist/esm/common/util/script-tracker.js +22 -5
- package/dist/esm/common/util/stringify.js +22 -7
- package/dist/esm/common/vitals/largest-contentful-paint.js +0 -1
- package/dist/esm/common/vitals/load-time.js +4 -3
- package/dist/esm/common/vitals/time-to-first-byte.js +3 -3
- package/dist/esm/features/jserrors/aggregate/index.js +0 -4
- package/dist/esm/features/page_view_event/aggregate/index.js +4 -4
- package/dist/esm/features/page_view_event/aggregate/initialized-features.js +3 -5
- package/dist/esm/features/page_view_event/instrument/index.js +3 -5
- package/dist/esm/features/page_view_timing/aggregate/index.js +3 -1
- package/dist/esm/features/session_trace/aggregate/index.js +5 -4
- package/dist/esm/features/utils/agent-session.js +3 -4
- package/dist/esm/features/utils/aggregate-base.js +4 -6
- package/dist/esm/features/utils/feature-base.js +6 -7
- package/dist/esm/features/utils/instrument-base.js +7 -8
- package/dist/esm/loaders/api/register-api-types.js +1 -1
- package/dist/esm/loaders/api/register.js +1 -1
- package/dist/esm/loaders/api/sharedHandlers.js +2 -4
- package/dist/esm/loaders/configure/configure.js +24 -21
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/common/config/configurable.d.ts.map +1 -1
- package/dist/types/common/config/runtime.d.ts.map +1 -1
- package/dist/types/common/constants/runtime.d.ts +1 -1
- package/dist/types/common/constants/runtime.d.ts.map +1 -1
- package/dist/types/common/drain/drain.d.ts +6 -6
- package/dist/types/common/drain/drain.d.ts.map +1 -1
- package/dist/types/common/harvest/harvester.d.ts.map +1 -1
- package/dist/types/common/session/session-entity.d.ts +2 -2
- package/dist/types/common/session/session-entity.d.ts.map +1 -1
- package/dist/types/common/util/console.d.ts.map +1 -1
- package/dist/types/common/util/feature-flags.d.ts +3 -5
- package/dist/types/common/util/feature-flags.d.ts.map +1 -1
- package/dist/types/common/util/script-tracker.d.ts +5 -0
- package/dist/types/common/util/script-tracker.d.ts.map +1 -1
- package/dist/types/common/util/stringify.d.ts.map +1 -1
- package/dist/types/features/jserrors/aggregate/index.d.ts.map +1 -1
- package/dist/types/features/page_view_event/aggregate/initialized-features.d.ts +2 -2
- package/dist/types/features/page_view_event/aggregate/initialized-features.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/aggregate/index.d.ts.map +1 -1
- package/dist/types/features/session_trace/aggregate/index.d.ts.map +1 -1
- package/dist/types/features/utils/agent-session.d.ts.map +1 -1
- package/dist/types/features/utils/aggregate-base.d.ts +0 -1
- package/dist/types/features/utils/aggregate-base.d.ts.map +1 -1
- package/dist/types/features/utils/feature-base.d.ts +3 -3
- package/dist/types/features/utils/feature-base.d.ts.map +1 -1
- package/dist/types/features/utils/instrument-base.d.ts +2 -3
- package/dist/types/features/utils/instrument-base.d.ts.map +1 -1
- package/dist/types/loaders/api/register-api-types.d.ts +1 -1
- package/dist/types/loaders/api/register-api-types.d.ts.map +1 -1
- package/dist/types/loaders/api/sharedHandlers.d.ts.map +1 -1
- package/dist/types/loaders/configure/configure.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/common/config/configurable.js +2 -1
- package/src/common/config/runtime.js +8 -2
- package/src/common/constants/runtime.js +16 -2
- package/src/common/deny-list/deny-list.js +2 -2
- package/src/common/drain/__mocks__/drain.js +2 -1
- package/src/common/drain/drain.js +27 -37
- package/src/common/harvest/harvester.js +1 -3
- package/src/common/session/session-entity.js +7 -8
- package/src/common/util/console.js +1 -2
- package/src/common/util/feature-flags.js +5 -17
- package/src/common/util/script-tracker.js +23 -5
- package/src/common/util/stringify.js +24 -7
- package/src/common/vitals/largest-contentful-paint.js +0 -1
- package/src/common/vitals/load-time.js +4 -3
- package/src/common/vitals/time-to-first-byte.js +3 -3
- package/src/features/jserrors/aggregate/index.js +0 -4
- package/src/features/page_view_event/aggregate/index.js +4 -4
- package/src/features/page_view_event/aggregate/initialized-features.js +3 -5
- package/src/features/page_view_event/instrument/index.js +3 -5
- package/src/features/page_view_timing/aggregate/index.js +4 -1
- package/src/features/session_trace/aggregate/index.js +5 -4
- package/src/features/utils/__mocks__/feature-base.js +3 -3
- package/src/features/utils/agent-session.js +3 -4
- package/src/features/utils/aggregate-base.js +4 -6
- package/src/features/utils/feature-base.js +6 -7
- package/src/features/utils/instrument-base.js +7 -9
- package/src/loaders/api/register-api-types.js +1 -1
- package/src/loaders/api/register.js +1 -1
- package/src/loaders/api/sharedHandlers.js +2 -4
- package/src/loaders/configure/configure.js +30 -26
- package/dist/cjs/features/utils/nr1-debugger.js +0 -30
- package/dist/esm/features/utils/nr1-debugger.js +0 -23
- package/dist/types/features/utils/nr1-debugger.d.ts +0 -2
- package/dist/types/features/utils/nr1-debugger.d.ts.map +0 -1
- package/src/features/utils/nr1-debugger.js +0 -26
|
@@ -3,17 +3,15 @@
|
|
|
3
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
*/
|
|
5
5
|
import { setTopLevelCallers } from '../api/topLevelCallers';
|
|
6
|
-
import {
|
|
6
|
+
import { gosCDN } from '../../common/window/nreum';
|
|
7
7
|
import { mergeInfo } from '../../common/config/info';
|
|
8
8
|
import { mergeInit } from '../../common/config/init';
|
|
9
9
|
import { mergeRuntime } from '../../common/config/runtime';
|
|
10
|
-
import { activatedFeatures } from '../../common/util/feature-flags';
|
|
11
10
|
import { isWorkerScope } from '../../common/constants/runtime';
|
|
12
11
|
import { redefinePublicPath } from './public-path';
|
|
13
12
|
import { ee } from '../../common/event-emitter/contextual-ee';
|
|
14
13
|
import { dispatchGlobalEvent } from '../../common/dispatch/global-event';
|
|
15
14
|
import { mergeLoaderConfig } from '../../common/config/loader-config';
|
|
16
|
-
const alreadySetOnce = new Set(); // the configure() function can run multiple times in agent lifecycle for different agents
|
|
17
15
|
|
|
18
16
|
/**
|
|
19
17
|
* Sets or re-sets the agent's configuration values from global settings. This also attach those as properties to the agent instance.
|
|
@@ -45,32 +43,37 @@ export function configure(agent, opts = {}, loaderType, forceDrain) {
|
|
|
45
43
|
}
|
|
46
44
|
agent.info = mergeInfo(info);
|
|
47
45
|
const updatedInit = agent.init;
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
}
|
|
54
|
-
if (updatedInit.proxy.beacon) internalTrafficList.push(updatedInit.proxy.beacon);
|
|
55
|
-
agent.beacons = [...internalTrafficList];
|
|
56
|
-
setTopLevelCallers(agent); // no need to set global APIs on newrelic obj more than once
|
|
57
|
-
addToNREUM('activatedFeatures', activatedFeatures);
|
|
46
|
+
agent.runtime ??= mergeRuntime(runtime);
|
|
47
|
+
|
|
48
|
+
// Apply proxy settings whenever configure is called (supports late {init} setting)
|
|
49
|
+
if (updatedInit.proxy.assets) {
|
|
50
|
+
redefinePublicPath(updatedInit.proxy.assets);
|
|
58
51
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
52
|
+
if (!agent.runtime.configured) {
|
|
53
|
+
Object.defineProperty(agent, 'beacons', {
|
|
54
|
+
get() {
|
|
55
|
+
return [agent.info.beacon, agent.info.errorBeacon, agent.init.proxy.assets, agent.init.proxy.beacon].filter(Boolean);
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
Object.defineProperty(agent.runtime, 'denyList', {
|
|
59
|
+
get() {
|
|
60
|
+
// Compute the internal traffic list fresh each time to ensure beacons array is current
|
|
61
|
+
return [...(agent.init.ajax.deny_list || []), ...(agent.init.ajax.block_internal ? agent.beacons : [])];
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
agent.runtime.ptid = agent.agentIdentifier;
|
|
65
|
+
setTopLevelCallers(agent); // no need to set global APIs on newrelic obj more than once
|
|
66
|
+
|
|
67
|
+
agent.runtime.loaderType = loaderType;
|
|
64
68
|
agent.ee = ee.get(agent.agentIdentifier);
|
|
65
69
|
agent.exposed = exposed;
|
|
66
70
|
dispatchGlobalEvent({
|
|
67
|
-
|
|
68
|
-
drained: !!activatedFeatures?.[agent.agentIdentifier],
|
|
71
|
+
drained: !!agent.runtime.activatedFeatures,
|
|
69
72
|
type: 'lifecycle',
|
|
70
73
|
name: 'initialize',
|
|
71
74
|
feature: undefined,
|
|
72
75
|
data: agent.config
|
|
73
76
|
});
|
|
77
|
+
agent.runtime.configured = true;
|
|
74
78
|
}
|
|
75
|
-
alreadySetOnce.add(agent.agentIdentifier);
|
|
76
79
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/index.js","../src/cdn/experimental.js","../src/cdn/lite.js","../src/cdn/pro.js","../src/cdn/spa.js","../src/common/aggregate/aggregator.js","../src/common/aggregate/event-aggregator.js","../src/common/config/configurable.js","../src/common/config/info.js","../src/common/config/init-types.js","../src/common/config/init.js","../src/common/config/loader-config.js","../src/common/config/runtime.js","../src/common/constants/agent-constants.js","../src/common/constants/env.cdn.js","../src/common/constants/env.js","../src/common/constants/env.npm.js","../src/common/constants/runtime.js","../src/common/constants/shared-channel.js","../src/common/deny-list/deny-list.js","../src/common/dispatch/global-event.js","../src/common/dom/iframe.js","../src/common/dom/query-selector.js","../src/common/dom/selector-path.js","../src/common/drain/drain.js","../src/common/event-emitter/contextual-ee.js","../src/common/event-emitter/event-context.js","../src/common/event-emitter/handle.js","../src/common/event-emitter/register-handler.js","../src/common/event-listener/event-listener-opts.js","../src/common/harvest/harvester.js","../src/common/harvest/types.js","../src/common/ids/bundle-id.js","../src/common/ids/id.js","../src/common/ids/unique-id.js","../src/common/serialize/bel-serializer.js","../src/common/session/constants.js","../src/common/session/session-entity.js","../src/common/storage/local-storage.js","../src/common/timer/interaction-timer.js","../src/common/timer/timer.js","../src/common/timing/nav-timing.js","../src/common/timing/now.js","../src/common/timing/time-keeper.js","../src/common/unload/eol.js","../src/common/url/canonicalize-url.js","../src/common/url/clean-url.js","../src/common/url/encode.js","../src/common/url/extract-url.js","../src/common/url/location.js","../src/common/url/parse-url.js","../src/common/url/protocol.js","../src/common/util/attribute-size.js","../src/common/util/browser-stack-matchers.js","../src/common/util/console.js","../src/common/util/data-size.js","../src/common/util/event-origin.js","../src/common/util/feature-flags.js","../src/common/util/get-or-set.js","../src/common/util/invoke.js","../src/common/util/monkey-patched.js","../src/common/util/obfuscate.js","../src/common/util/script-tracker.js","../src/common/util/stringify.js","../src/common/util/submit-data.js","../src/common/util/text.js","../src/common/util/traverse.js","../src/common/util/type-check.js","../src/common/util/v2.js","../src/common/util/webdriver-detection.js","../src/common/vitals/constants.js","../src/common/vitals/cumulative-layout-shift.js","../src/common/vitals/first-contentful-paint.js","../src/common/vitals/first-paint.js","../src/common/vitals/interaction-to-next-paint.js","../src/common/vitals/largest-contentful-paint.js","../src/common/vitals/load-time.js","../src/common/vitals/time-to-first-byte.js","../src/common/vitals/vital-metric.js","../src/common/window/load.js","../src/common/window/nreum.js","../src/common/window/page-visibility.js","../src/common/wrap/wrap-events.js","../src/common/wrap/wrap-fetch.js","../src/common/wrap/wrap-function.js","../src/common/wrap/wrap-history.js","../src/common/wrap/wrap-logger.js","../src/common/wrap/wrap-websocket.js","../src/common/wrap/wrap-xhr.js","../src/features/ajax/constants.js","../src/features/ajax/index.js","../src/features/ajax/aggregate/gql.js","../src/features/ajax/aggregate/index.js","../src/features/ajax/instrument/distributed-tracing.js","../src/features/ajax/instrument/index.js","../src/features/ajax/instrument/response-size.js","../src/features/generic_events/constants.js","../src/features/generic_events/index.js","../src/features/generic_events/aggregate/index.js","../src/features/generic_events/aggregate/user-actions/aggregated-user-action.js","../src/features/generic_events/aggregate/user-actions/user-actions-aggregator.js","../src/features/generic_events/instrument/index.js","../src/features/jserrors/constants.js","../src/features/jserrors/index.js","../src/features/jserrors/aggregate/canonical-function-name.js","../src/features/jserrors/aggregate/cause-string.js","../src/features/jserrors/aggregate/compute-stack-trace.js","../src/features/jserrors/aggregate/format-stack-trace.js","../src/features/jserrors/aggregate/index.js","../src/features/jserrors/aggregate/internal-errors.js","../src/features/jserrors/aggregate/string-hash-code.js","../src/features/jserrors/instrument/index.js","../src/features/jserrors/shared/cast-error.js","../src/features/jserrors/shared/uncaught-error.js","../src/features/logging/constants.js","../src/features/logging/index.js","../src/features/logging/aggregate/index.js","../src/features/logging/instrument/index.js","../src/features/logging/shared/log.js","../src/features/logging/shared/utils.js","../src/features/metrics/constants.js","../src/features/metrics/index.js","../src/features/metrics/aggregate/framework-detection.js","../src/features/metrics/aggregate/harvest-metadata.js","../src/features/metrics/aggregate/index.js","../src/features/metrics/instrument/index.js","../src/features/page_action/constants.js","../src/features/page_action/index.js","../src/features/page_action/instrument/index.js","../src/features/page_view_event/constants.js","../src/features/page_view_event/index.js","../src/features/page_view_event/aggregate/index.js","../src/features/page_view_event/aggregate/initialized-features.js","../src/features/page_view_event/instrument/index.js","../src/features/page_view_timing/constants.js","../src/features/page_view_timing/index.js","../src/features/page_view_timing/aggregate/index.js","../src/features/page_view_timing/instrument/index.js","../src/features/session_replay/constants.js","../src/features/session_replay/index.js","../src/features/session_replay/aggregate/index.js","../src/features/session_replay/instrument/index.js","../src/features/session_replay/shared/recorder-events.js","../src/features/session_replay/shared/recorder.js","../src/features/session_replay/shared/stylesheet-evaluator.js","../src/features/session_replay/shared/utils.js","../src/features/session_trace/constants.js","../src/features/session_trace/index.js","../src/features/session_trace/aggregate/index.js","../src/features/session_trace/aggregate/trace/node.js","../src/features/session_trace/aggregate/trace/storage.js","../src/features/session_trace/aggregate/trace/utils.js","../src/features/session_trace/instrument/index.js","../src/features/soft_navigations/constants.js","../src/features/soft_navigations/index.js","../src/features/soft_navigations/aggregate/ajax-node.js","../src/features/soft_navigations/aggregate/bel-node.js","../src/features/soft_navigations/aggregate/index.js","../src/features/soft_navigations/aggregate/initial-page-load-interaction.js","../src/features/soft_navigations/aggregate/interaction.js","../src/features/soft_navigations/instrument/index.js","../src/features/utils/agent-session.js","../src/features/utils/aggregate-base.js","../src/features/utils/event-buffer.js","../src/features/utils/feature-base.js","../src/features/utils/feature-gates.js","../src/features/utils/instrument-base.js","../src/
|
|
1
|
+
{"root":["../src/index.js","../src/cdn/experimental.js","../src/cdn/lite.js","../src/cdn/pro.js","../src/cdn/spa.js","../src/common/aggregate/aggregator.js","../src/common/aggregate/event-aggregator.js","../src/common/config/configurable.js","../src/common/config/info.js","../src/common/config/init-types.js","../src/common/config/init.js","../src/common/config/loader-config.js","../src/common/config/runtime.js","../src/common/constants/agent-constants.js","../src/common/constants/env.cdn.js","../src/common/constants/env.js","../src/common/constants/env.npm.js","../src/common/constants/runtime.js","../src/common/constants/shared-channel.js","../src/common/deny-list/deny-list.js","../src/common/dispatch/global-event.js","../src/common/dom/iframe.js","../src/common/dom/query-selector.js","../src/common/dom/selector-path.js","../src/common/drain/drain.js","../src/common/event-emitter/contextual-ee.js","../src/common/event-emitter/event-context.js","../src/common/event-emitter/handle.js","../src/common/event-emitter/register-handler.js","../src/common/event-listener/event-listener-opts.js","../src/common/harvest/harvester.js","../src/common/harvest/types.js","../src/common/ids/bundle-id.js","../src/common/ids/id.js","../src/common/ids/unique-id.js","../src/common/serialize/bel-serializer.js","../src/common/session/constants.js","../src/common/session/session-entity.js","../src/common/storage/local-storage.js","../src/common/timer/interaction-timer.js","../src/common/timer/timer.js","../src/common/timing/nav-timing.js","../src/common/timing/now.js","../src/common/timing/time-keeper.js","../src/common/unload/eol.js","../src/common/url/canonicalize-url.js","../src/common/url/clean-url.js","../src/common/url/encode.js","../src/common/url/extract-url.js","../src/common/url/location.js","../src/common/url/parse-url.js","../src/common/url/protocol.js","../src/common/util/attribute-size.js","../src/common/util/browser-stack-matchers.js","../src/common/util/console.js","../src/common/util/data-size.js","../src/common/util/event-origin.js","../src/common/util/feature-flags.js","../src/common/util/get-or-set.js","../src/common/util/invoke.js","../src/common/util/monkey-patched.js","../src/common/util/obfuscate.js","../src/common/util/script-tracker.js","../src/common/util/stringify.js","../src/common/util/submit-data.js","../src/common/util/text.js","../src/common/util/traverse.js","../src/common/util/type-check.js","../src/common/util/v2.js","../src/common/util/webdriver-detection.js","../src/common/vitals/constants.js","../src/common/vitals/cumulative-layout-shift.js","../src/common/vitals/first-contentful-paint.js","../src/common/vitals/first-paint.js","../src/common/vitals/interaction-to-next-paint.js","../src/common/vitals/largest-contentful-paint.js","../src/common/vitals/load-time.js","../src/common/vitals/time-to-first-byte.js","../src/common/vitals/vital-metric.js","../src/common/window/load.js","../src/common/window/nreum.js","../src/common/window/page-visibility.js","../src/common/wrap/wrap-events.js","../src/common/wrap/wrap-fetch.js","../src/common/wrap/wrap-function.js","../src/common/wrap/wrap-history.js","../src/common/wrap/wrap-logger.js","../src/common/wrap/wrap-websocket.js","../src/common/wrap/wrap-xhr.js","../src/features/ajax/constants.js","../src/features/ajax/index.js","../src/features/ajax/aggregate/gql.js","../src/features/ajax/aggregate/index.js","../src/features/ajax/instrument/distributed-tracing.js","../src/features/ajax/instrument/index.js","../src/features/ajax/instrument/response-size.js","../src/features/generic_events/constants.js","../src/features/generic_events/index.js","../src/features/generic_events/aggregate/index.js","../src/features/generic_events/aggregate/user-actions/aggregated-user-action.js","../src/features/generic_events/aggregate/user-actions/user-actions-aggregator.js","../src/features/generic_events/instrument/index.js","../src/features/jserrors/constants.js","../src/features/jserrors/index.js","../src/features/jserrors/aggregate/canonical-function-name.js","../src/features/jserrors/aggregate/cause-string.js","../src/features/jserrors/aggregate/compute-stack-trace.js","../src/features/jserrors/aggregate/format-stack-trace.js","../src/features/jserrors/aggregate/index.js","../src/features/jserrors/aggregate/internal-errors.js","../src/features/jserrors/aggregate/string-hash-code.js","../src/features/jserrors/instrument/index.js","../src/features/jserrors/shared/cast-error.js","../src/features/jserrors/shared/uncaught-error.js","../src/features/logging/constants.js","../src/features/logging/index.js","../src/features/logging/aggregate/index.js","../src/features/logging/instrument/index.js","../src/features/logging/shared/log.js","../src/features/logging/shared/utils.js","../src/features/metrics/constants.js","../src/features/metrics/index.js","../src/features/metrics/aggregate/framework-detection.js","../src/features/metrics/aggregate/harvest-metadata.js","../src/features/metrics/aggregate/index.js","../src/features/metrics/instrument/index.js","../src/features/page_action/constants.js","../src/features/page_action/index.js","../src/features/page_action/instrument/index.js","../src/features/page_view_event/constants.js","../src/features/page_view_event/index.js","../src/features/page_view_event/aggregate/index.js","../src/features/page_view_event/aggregate/initialized-features.js","../src/features/page_view_event/instrument/index.js","../src/features/page_view_timing/constants.js","../src/features/page_view_timing/index.js","../src/features/page_view_timing/aggregate/index.js","../src/features/page_view_timing/instrument/index.js","../src/features/session_replay/constants.js","../src/features/session_replay/index.js","../src/features/session_replay/aggregate/index.js","../src/features/session_replay/instrument/index.js","../src/features/session_replay/shared/recorder-events.js","../src/features/session_replay/shared/recorder.js","../src/features/session_replay/shared/stylesheet-evaluator.js","../src/features/session_replay/shared/utils.js","../src/features/session_trace/constants.js","../src/features/session_trace/index.js","../src/features/session_trace/aggregate/index.js","../src/features/session_trace/aggregate/trace/node.js","../src/features/session_trace/aggregate/trace/storage.js","../src/features/session_trace/aggregate/trace/utils.js","../src/features/session_trace/instrument/index.js","../src/features/soft_navigations/constants.js","../src/features/soft_navigations/index.js","../src/features/soft_navigations/aggregate/ajax-node.js","../src/features/soft_navigations/aggregate/bel-node.js","../src/features/soft_navigations/aggregate/index.js","../src/features/soft_navigations/aggregate/initial-page-load-interaction.js","../src/features/soft_navigations/aggregate/interaction.js","../src/features/soft_navigations/instrument/index.js","../src/features/utils/agent-session.js","../src/features/utils/aggregate-base.js","../src/features/utils/event-buffer.js","../src/features/utils/feature-base.js","../src/features/utils/feature-gates.js","../src/features/utils/instrument-base.js","../src/interfaces/registered-entity.js","../src/loaders/agent-base.js","../src/loaders/agent.js","../src/loaders/api-base.js","../src/loaders/browser-agent.js","../src/loaders/micro-agent-base.js","../src/loaders/micro-agent.js","../src/loaders/api/addPageAction.js","../src/loaders/api/addRelease.js","../src/loaders/api/addToTrace.js","../src/loaders/api/consent.js","../src/loaders/api/constants.js","../src/loaders/api/finished.js","../src/loaders/api/interaction-types.js","../src/loaders/api/interaction.js","../src/loaders/api/log.js","../src/loaders/api/measure.js","../src/loaders/api/noticeError.js","../src/loaders/api/pauseReplay.js","../src/loaders/api/recordCustomEvent.js","../src/loaders/api/recordReplay.js","../src/loaders/api/register-api-types.js","../src/loaders/api/register.js","../src/loaders/api/setApplicationVersion.js","../src/loaders/api/setCustomAttribute.js","../src/loaders/api/setErrorHandler.js","../src/loaders/api/setPageViewName.js","../src/loaders/api/setUserId.js","../src/loaders/api/sharedHandlers.js","../src/loaders/api/start.js","../src/loaders/api/topLevelCallers.js","../src/loaders/api/wrapLogger.js","../src/loaders/configure/configure.js","../src/loaders/configure/nonce.js","../src/loaders/configure/public-path.js","../src/loaders/features/enabled-features.js","../src/loaders/features/featureDependencies.js","../src/loaders/features/features.js"],"version":"5.9.3"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configurable.d.ts","sourceRoot":"","sources":["../../../../src/common/config/configurable.js"],"names":[],"mappings":"AAMA,
|
|
1
|
+
{"version":3,"file":"configurable.d.ts","sourceRoot":"","sources":["../../../../src/common/config/configurable.js"],"names":[],"mappings":"AAMA,4DA2BC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../src/common/config/runtime.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../src/common/config/runtime.js"],"names":[],"mappings":"AA4DO,gDAON"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../src/common/constants/runtime.js"],"names":[],"mappings":"AAcA;;GAEG;AACH,qCAEqB;AAErB;;GAEG;AACH,oCAeK;AAEL,oDAUI;AAEJ,oDAA6F;AAE7F,sCAA2F;AAE3F,qCAAyD;AAEzD,4BAA8E;AAE9E;;;;;;GAMG;AACH,iCAAwE;AAExE,+BAOI;AAEJ;;;;GAIG;AACH,yBAFU,MAAM,CAE4B;
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../src/common/constants/runtime.js"],"names":[],"mappings":"AAcA;;GAEG;AACH,qCAEqB;AAErB;;GAEG;AACH,oCAeK;AAEL,oDAUI;AAEJ,oDAA6F;AAE7F,sCAA2F;AAE3F,qCAAyD;AAEzD,4BAA8E;AAE9E;;;;;;GAMG;AACH,iCAAwE;AAExE,+BAOI;AAEJ;;;;GAIG;AACH,yBAFU,MAAM,CAE4B;AASrC,sCAFM,2BAA2B,GAAG,SAAS,CASnD"}
|
|
@@ -3,22 +3,22 @@
|
|
|
3
3
|
* event-group "bucket" that should be drained at the time the agent drains all its buffered events. Buffered events
|
|
4
4
|
* accumulate because instrumentation begins as soon as possible, before the agent has finished lazy-loading the code
|
|
5
5
|
* responsible for aggregating and reporting captured data.
|
|
6
|
-
* @param {
|
|
6
|
+
* @param {Object} agentRef - The agent reference object.
|
|
7
7
|
* @param {string} group - The named "bucket" for the events this feature will be bucketing for later collection.
|
|
8
8
|
*/
|
|
9
|
-
export function registerDrain(
|
|
9
|
+
export function registerDrain(agentRef: Object, group: string): void;
|
|
10
10
|
/**
|
|
11
11
|
* Removes an item from the registry and immediately re-checks if the registry is ready to "drain all"
|
|
12
|
-
* @param {
|
|
12
|
+
* @param {Object} agentRef - The agent reference object.
|
|
13
13
|
* @param {*} group - The named "bucket" to be removed from the registry
|
|
14
14
|
*/
|
|
15
|
-
export function deregisterDrain(
|
|
15
|
+
export function deregisterDrain(agentRef: Object, group: any): void;
|
|
16
16
|
/**
|
|
17
17
|
* Drain buffered events out of the event emitter. Each feature should have its events bucketed by "group" and drain
|
|
18
18
|
* its own named group explicitly, when ready.
|
|
19
|
-
* @param {
|
|
19
|
+
* @param {Object} agentRef - The agent reference object.
|
|
20
20
|
* @param {string} featureName - A named group into which the feature's buffered events are bucketed.
|
|
21
21
|
* @param {boolean} force - Whether to force the drain to occur immediately, bypassing the registry and staging logic.
|
|
22
22
|
*/
|
|
23
|
-
export function drain(
|
|
23
|
+
export function drain(agentRef: Object, featureName?: string, force?: boolean): void;
|
|
24
24
|
//# sourceMappingURL=drain.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drain.d.ts","sourceRoot":"","sources":["../../../../src/common/drain/drain.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"drain.d.ts","sourceRoot":"","sources":["../../../../src/common/drain/drain.js"],"names":[],"mappings":"AAUA;;;;;;;GAOG;AACH,wCAHW,MAAM,SACN,MAAM,QAQhB;AAED;;;;GAIG;AACH,0CAHW,MAAM,SACN,GAAC,QASX;AAED;;;;;;GAMG;AACH,gCAJW,MAAM,gBACN,MAAM,UACN,OAAO,QAajB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"harvester.d.ts","sourceRoot":"","sources":["../../../../src/common/harvest/harvester.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"harvester.d.ts","sourceRoot":"","sources":["../../../../src/common/harvest/harvester.js"],"names":[],"mappings":"AA6GA;;;;IAII;AACJ;;;;;;;;;IAFc,OAAO,CAsHpB;AA9MD;IAIE,2BAUC;IAZD,6BAA0B;IAGxB,cAAwB;IAW1B,wCASC;IAED;;;;;OAKG;IACH,iCAJW,MAAM,cACN,MAAM,GACJ,OAAO,CA8CnB;;CACF;8BAGY,OAAO,YAAY,EAAE,eAAe"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
export class SessionEntity {
|
|
2
2
|
/**
|
|
3
|
-
* Create a self-managing Session Entity. This entity is scoped to the agent
|
|
3
|
+
* Create a self-managing Session Entity. This entity is scoped to the agent which triggered it, allowing for multiple simultaneous session objects to exist.
|
|
4
4
|
* There is one "namespace" an agent can store data in LS -- NRBA_{key}. If there are two agents on one page, and they both use the same key, they could overwrite each other since they would both use the same namespace in LS by default.
|
|
5
5
|
* The value can be overridden in the constructor, but will default to a unique 16 character hex string
|
|
6
6
|
* expiresMs and inactiveMs are used to "expire" the session, but can be overridden in the constructor. Pass 0 to disable expiration timers.
|
|
7
7
|
*/
|
|
8
8
|
constructor(opts: any);
|
|
9
|
-
|
|
9
|
+
agentRef: any;
|
|
10
10
|
storage: any;
|
|
11
11
|
state: {};
|
|
12
12
|
key: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-entity.d.ts","sourceRoot":"","sources":["../../../../src/common/session/session-entity.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"session-entity.d.ts","sourceRoot":"","sources":["../../../../src/common/session/session-entity.js"],"names":[],"mappings":"AAsCA;IACE;;;;;OAKG;IACH,uBA+BC;IAzBC,cAAwB;IACxB,aAAsB;IACtB,UAAe;IAGf,SAAc;IAEd,QAAqB;IAoBvB;;;;;aAgFC;IApEC,8BAA0B;IAC1B,+BAA4B;IAe1B,gCAOqC;IAUrC,4CAkBsC;IAexC,iCAAuB;IAKzB,wBAEC;IAED,sBAEC;IAED;;;OAGG;IACH,QAFa,MAAM,CA6BlB;IAED;;;;;;OAMG;IACH,YAHW,MAAM,GACJ,MAAM,CAkBlB;IAED,gBA4BC;IAED;;OAEG;IACH,gBAIC;IAED;;;OAGG;IACH,qBAHW,MAAM,GACJ,OAAO,CAInB;IAED;;;OAGG;IACH,gBAHW,MAAM,GACJ,OAAO,CAKnB;IAED,yDAUC;IAED,6DAIC;IAED;;;OAGG;IACH,6BAHW,MAAM,GACJ,MAAM,CAIlB;IAED,gDAaC;IAHG,YAAuD;CAI5D;sBA5TqB,gBAAgB;iCAGL,4BAA4B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../../../src/common/util/console.js"],"names":[],"mappings":"AASA;;;;;GAKG;AACH,4CAHW,GAAC,
|
|
1
|
+
{"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../../../src/common/util/console.js"],"names":[],"mappings":"AASA;;;;;GAKG;AACH,4CAHW,GAAC,QAgBX"}
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Sets the activatedFeatures
|
|
2
|
+
* Sets the activatedFeatures on the agentRef, dispatches the global loaded event,
|
|
3
3
|
* and emits the rumresp flag to features
|
|
4
4
|
* @param {{[key:string]:number}} flags key-val pair of flag names and numeric
|
|
5
|
-
* @param {
|
|
5
|
+
* @param {Object} agentRef agent reference
|
|
6
6
|
* @returns {void}
|
|
7
7
|
*/
|
|
8
8
|
export function activateFeatures(flags: {
|
|
9
9
|
[key: string]: number;
|
|
10
|
-
}, agentRef:
|
|
11
|
-
/** A map of feature flags and their values as provided by the rum call -- scoped by agent ID */
|
|
12
|
-
export const activatedFeatures: {};
|
|
10
|
+
}, agentRef: Object): void;
|
|
13
11
|
//# sourceMappingURL=feature-flags.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature-flags.d.ts","sourceRoot":"","sources":["../../../../src/common/util/feature-flags.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"feature-flags.d.ts","sourceRoot":"","sources":["../../../../src/common/util/feature-flags.js"],"names":[],"mappings":"AAMA;;;;;;GAMG;AACH,wCAJW;IAAC,CAAC,GAAG,EAAC,MAAM,GAAE,MAAM,CAAA;CAAC,YACrB,MAAM,GACJ,IAAI,CAgBhB"}
|
|
@@ -3,5 +3,10 @@
|
|
|
3
3
|
* @returns {RegisterAPITimings} Object containing script fetch start and end times, and the asset URL if found
|
|
4
4
|
*/
|
|
5
5
|
export function findScriptTimings(): RegisterAPITimings;
|
|
6
|
+
/**
|
|
7
|
+
* @typedef {import('./register-api-types').RegisterAPITimings} RegisterAPITimings
|
|
8
|
+
*/
|
|
9
|
+
/** export for testing purposes */
|
|
10
|
+
export let thisFile: any;
|
|
6
11
|
export type RegisterAPITimings = any;
|
|
7
12
|
//# sourceMappingURL=script-tracker.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"script-tracker.d.ts","sourceRoot":"","sources":["../../../../src/common/util/script-tracker.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"script-tracker.d.ts","sourceRoot":"","sources":["../../../../src/common/util/script-tracker.js"],"names":[],"mappings":"AAmHA;;;GAGG;AACH,qCAFa,kBAAkB,CAuE9B;AAlLD;;GAEG;AAEH,kCAAkC;AAClC,yBAAmB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stringify.d.ts","sourceRoot":"","sources":["../../../../src/common/util/stringify.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stringify.d.ts","sourceRoot":"","sources":["../../../../src/common/util/stringify.js"],"names":[],"mappings":"AA0CA;;;;;GAKG;AACH,+BAHW,GAAC,GACC,MAAM,CAclB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/jserrors/aggregate/index.js"],"names":[],"mappings":"AAwBA;;GAEG;AAEH;IACE,2BAAiC;IACjC,2BAuBC;IAlBC,kBAAuB;IACvB,eAAoB;IACpB,qBAA0B;IAC1B,qBAAwB;IAiB1B,oDAEC;IAED;;;MAcC;IAED;;;;;;OAMG;IACH,qCAHW,SAAS,GACP,MAAM,CAgBlB;IAED;;;;;;;;;;OAUG;IACH,gBATW,KAAK,GAAC,aAAa,QACnB,MAAM,aACN,OAAO,YAAC,qBACR,MAAM,YAAC,cACP,OAAO,YAAC,kBACR,MAAM,YAAC,WACP,MAAM,YAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/jserrors/aggregate/index.js"],"names":[],"mappings":"AAwBA;;GAEG;AAEH;IACE,2BAAiC;IACjC,2BAuBC;IAlBC,kBAAuB;IACvB,eAAoB;IACpB,qBAA0B;IAC1B,qBAAwB;IAiB1B,oDAEC;IAED;;;MAcC;IAED;;;;;;OAMG;IACH,qCAHW,SAAS,GACP,MAAM,CAgBlB;IAED;;;;;;;;;;OAUG;IACH,gBATW,KAAK,GAAC,aAAa,QACnB,MAAM,aACN,OAAO,YAAC,qBACR,MAAM,YAAC,cACP,OAAO,YAAC,kBACR,MAAM,YAAC,WACP,MAAM,YAAC,QAkGjB;;CAuBF;wBA1MY,OAAO,0BAA0B,EAAE,SAAS;8BAR3B,4BAA4B"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Get an array of flags required by downstream (NR UI) based on the features initialized in this agent
|
|
3
3
|
* (aka what is running on the page).
|
|
4
|
-
* @param {
|
|
4
|
+
* @param {Object} agentRef - the agent reference object
|
|
5
5
|
* @returns {String[]} Up to 5 short strings corresponding to ingest mapping of features.
|
|
6
6
|
*/
|
|
7
|
-
export function getActivatedFeaturesFlags(
|
|
7
|
+
export function getActivatedFeaturesFlags(agentRef: Object): string[];
|
|
8
8
|
//# sourceMappingURL=initialized-features.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initialized-features.d.ts","sourceRoot":"","sources":["../../../../../src/features/page_view_event/aggregate/initialized-features.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"initialized-features.d.ts","sourceRoot":"","sources":["../../../../../src/features/page_view_event/aggregate/initialized-features.js"],"names":[],"mappings":"AAMA;;;;;GAKG;AACH,oDAHW,MAAM,GACJ,QAAQ,CAuBpB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export class Instrument extends InstrumentBase {
|
|
2
2
|
static featureName: string;
|
|
3
3
|
constructor(agentRef: any);
|
|
4
|
-
setupInspectionEvents(
|
|
4
|
+
setupInspectionEvents(): void;
|
|
5
5
|
}
|
|
6
6
|
export const PageViewEvent: typeof Instrument;
|
|
7
7
|
import { InstrumentBase } from '../../utils/instrument-base';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/page_view_event/instrument/index.js"],"names":[],"mappings":"AAWA;IACE,2BAA2C;IAC3C,2BAUC;IAED,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/page_view_event/instrument/index.js"],"names":[],"mappings":"AAWA;IACE,2BAA2C;IAC3C,2BAUC;IAED,8BA+BC;CACF;AAED,8CAAuC;+BAtDR,6BAA6B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/page_view_timing/aggregate/index.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/page_view_timing/aggregate/index.js"],"names":[],"mappings":"AAwBA;IACE,2BAAiC;IAMjC,2BA4BC;IA1BC,4BAA+B;IAC/B,0BAA6B;IA2B/B;;;OAGG;IACH,6BAFW,MAAM,QAOhB;IAED;;;;MA+BC;IAED;;;OAGG;IACH,4BAFa,IAAI,CAahB;IAED,gDAWC;IAED,4BAGC;IAGD,qCAwBC;;CACF;8BA5J6B,4BAA4B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/session_trace/aggregate/index.js"],"names":[],"mappings":"AAiBA;IACE,2BAAiC;IAEjC,2BAgBC;IAZC,0GAA0G;IAC1G,cAAyB;IACzB,mIAAmI;IACnI,uBAA0B;IAC1B,0CAA0C;IAC1C,oBAAuB;IACvB,0GAA0G;IAC1G,2BAA0C;IAO5C,gLAAgL;IAChL,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/session_trace/aggregate/index.js"],"names":[],"mappings":"AAiBA;IACE,2BAAiC;IAEjC,2BAgBC;IAZC,0GAA0G;IAC1G,cAAyB;IACzB,mIAAmI;IACnI,uBAA0B;IAC1B,0CAA0C;IAC1C,oBAAuB;IACvB,0GAA0G;IAC1G,2BAA0C;IAO5C,gLAAgL;IAChL,mEA6DC;IAvDG,iCAAuB;IACvB,yJAAyJ;IACzJ,UAAsC;IACtC,eAA2D;IA0BD,UAAgE;IA4B9H,qCAWC;IAED,0CAIC;IAED;;;;;;;MAgDC;IAED,8DAA8D;IAC9D,qBAUC;IAED,2DAA2D;IAC3D,uBAMC;IAED,sCAGC;CACF;8BA/L6B,4BAA4B;6BAC7B,iBAAiB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-session.d.ts","sourceRoot":"","sources":["../../../../src/features/utils/agent-session.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"agent-session.d.ts","sourceRoot":"","sources":["../../../../src/features/utils/agent-session.js"],"names":[],"mappings":"AAiBA,sDA0DC"}
|
|
@@ -5,7 +5,6 @@ export class AggregateBase extends FeatureBase {
|
|
|
5
5
|
* @param {string} featureName The name of the feature creating the instance.
|
|
6
6
|
*/
|
|
7
7
|
constructor(agentRef: Object, featureName: string);
|
|
8
|
-
agentRef: Object;
|
|
9
8
|
/** @type {Boolean} indicates if custom attributes are combined in each event payload for size estimation purposes. this is set to true in derived classes that need to evaluate custom attributes separately from the event payload */
|
|
10
9
|
customAttributesAreSeparate: boolean;
|
|
11
10
|
/** @type {Boolean} indicates if the feature can harvest early. This is set to false in derived classes that need to block early harvests, like ajax under certain conditions */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregate-base.d.ts","sourceRoot":"","sources":["../../../../src/features/utils/aggregate-base.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"aggregate-base.d.ts","sourceRoot":"","sources":["../../../../src/features/utils/aggregate-base.js"],"names":[],"mappings":"AAkBA;IACE;;;;OAIG;IACH,sBAHW,MAAM,eACN,MAAM,EAmBhB;IAZC,uOAAuO;IACvO,qCAAwC;IACxC,gLAAgL;IAChL,yBAA2B;IAC3B,sFAAsF;IACtF,oBAAuB;IAEvB,gBAAqB;IAqBjB,YAAsE;IAW5E,iNAAiN;IACjN,0CAEC;IAED;;;;OAIG;IACH,8BAHU,MAAM,CAKf;IAED,qBAOC;IAFG,6BAAmB;IAIvB;;;;OAIG;IACH,2BAOC;IAED;;;;OAIG;IACH,yBAHW,MAAM,EAAE,gBAwBlB;IAED;;OAEG;IACH,cAEC;IAED,qCAEC;IAED;;;;;;OAMG;IACH,uDAJW,MAAM,GAAC,SAAS,SAsB1B;IAED;;;;;OAKG;IACH,4BAHG;QAAyB,IAAI,GAArB,OAAO,YAAC;QACS,KAAK,GAAtB,OAAO,YAAC;KAClB,QAKA;IAED;;;OAGG;IACH,6CAsBC;IAED;;;OAGG;IACH,2CAKC;IAHC,gBAA6C;IAK/C;;;;OAIG;IACH,uCAHW,GAAC,UACD,GAAC,QAIX;;CACF;4BAlO2B,gBAAgB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export class FeatureBase {
|
|
2
|
-
constructor(
|
|
3
|
-
/** @type {
|
|
4
|
-
|
|
2
|
+
constructor(agentRef: any, featureName: any);
|
|
3
|
+
/** @type {Object} */
|
|
4
|
+
agentRef: Object;
|
|
5
5
|
/** @type {import('../../common/event-emitter/contextual-ee').ee} */
|
|
6
6
|
ee: any;
|
|
7
7
|
/** @type {string} */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature-base.d.ts","sourceRoot":"","sources":["../../../../src/features/utils/feature-base.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"feature-base.d.ts","sourceRoot":"","sources":["../../../../src/features/utils/feature-base.js"],"names":[],"mappings":"AAMA;IACE,6CAaC;IAZC,qBAAqB;IACrB,UADW,MAAM,CACO;IACxB,oEAAoE;IACpE,QAAsB;IACtB,qBAAqB;IACrB,aADW,MAAM,CACa;IAC9B;;;;OAIG;IACH,SAFU,OAAO,CAEG;IAGtB,wBAEC;CACF"}
|
|
@@ -5,11 +5,10 @@
|
|
|
5
5
|
export class InstrumentBase extends FeatureBase {
|
|
6
6
|
/**
|
|
7
7
|
* Instantiate InstrumentBase.
|
|
8
|
-
* @param {
|
|
8
|
+
* @param {Object} agentRef - The agent reference object.
|
|
9
9
|
* @param {string} featureName - The name of the feature module (used to construct file path).
|
|
10
10
|
*/
|
|
11
|
-
constructor(agentRef:
|
|
12
|
-
agentRef: any;
|
|
11
|
+
constructor(agentRef: Object, featureName: string);
|
|
13
12
|
/** @type {Function | undefined} This should be set by any derived Instrument class if it has things to do when feature fails or is killed. */
|
|
14
13
|
abortHandler: Function | undefined;
|
|
15
14
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrument-base.d.ts","sourceRoot":"","sources":["../../../../src/features/utils/instrument-base.js"],"names":[],"mappings":"AAuBA;;;GAGG;AACH;IACE;;;;OAIG;IACH,
|
|
1
|
+
{"version":3,"file":"instrument-base.d.ts","sourceRoot":"","sources":["../../../../src/features/utils/instrument-base.js"],"names":[],"mappings":"AAuBA;;;GAGG;AACH;IACE;;;;OAIG;IACH,sBAHW,MAAM,eACN,MAAM,EA0ChB;IArCC,8IAA8I;IAC9I,cADW,WAAW,SAAS,CACF;IAE7B;;;MAGE;IACF,eAHU,OAAO,kBAAkB,EAAE,aAAa,CAGpB;IAE9B;;;MAGE;IACF,iCAAmC;IACnC,kCAEE;IAEF;;;MAGE;IACF,uBAAiC;IAiBnC;;;;;;;OAOG;IACH,2BALW,MAAM,qDAEN,MAAM,QAqDhB;;CAmBF;4BA5I2B,gBAAgB"}
|
|
@@ -62,7 +62,7 @@ export type RegisterAPIConstructor = {
|
|
|
62
62
|
/**
|
|
63
63
|
* - The unique id for the registered entity. This will be assigned to any synthesized entities.
|
|
64
64
|
*/
|
|
65
|
-
id: string
|
|
65
|
+
id: string;
|
|
66
66
|
/**
|
|
67
67
|
* - The readable name for the registered entity. This will be assigned to any synthesized entities.
|
|
68
68
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-api-types.d.ts","sourceRoot":"","sources":["../../../../src/loaders/api/register-api-types.js"],"names":[],"mappings":";;;;;;mBAOc,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,IAAI;;;;SAC3C,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAA;KAAC,KAAK,IAAI;;;;iBACxH,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,KAAK,IAAI;;;;cAC1D,CAAC,MAAM,EAAE,sBAAsB,KAAK,WAAW;;;;gBAC/C,MAAM,IAAI;;;;uBACV,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,IAAI;;;;aAChD,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAC,KAAK,CAAC,EAAE,MAAM,GAAC,eAAe,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,GAAC,eAAe,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAC,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAA;KAAC,CAAC;;;;2BACtM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI;;;;wBAC9B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI;;;;eAClF,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,YAAY,CAAC,EAAE,OAAO,KAAK,IAAI;;;;cACtD,mBAAmB;;;;;;QAKnB,MAAM
|
|
1
|
+
{"version":3,"file":"register-api-types.d.ts","sourceRoot":"","sources":["../../../../src/loaders/api/register-api-types.js"],"names":[],"mappings":";;;;;;mBAOc,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,IAAI;;;;SAC3C,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAA;KAAC,KAAK,IAAI;;;;iBACxH,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,KAAK,IAAI;;;;cAC1D,CAAC,MAAM,EAAE,sBAAsB,KAAK,WAAW;;;;gBAC/C,MAAM,IAAI;;;;uBACV,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,IAAI;;;;aAChD,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAC,KAAK,CAAC,EAAE,MAAM,GAAC,eAAe,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,GAAC,eAAe,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAC,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAA;KAAC,CAAC;;;;2BACtM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI;;;;wBAC9B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI;;;;eAClF,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,YAAY,CAAC,EAAE,OAAO,KAAK,IAAI;;;;cACtD,mBAAmB;;;;;;QAKnB,MAAM;;;;UACN,MAAM;;;;;;;;;;;;;;;;;;;;sBAQN,MAAM;;;;aACN,kBAAkB;;;;YAClB,iBAAiB;;;;;;QAKjB,MAAM;;;;UACN,MAAM;;;;;;;;;;;;;;;;;;;;kBAQN,MAAM;;;;;;;;gBAEN,MAAM;;;;cACN,MAAM;;;;;;;;UAEN,MAAM"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sharedHandlers.d.ts","sourceRoot":"","sources":["../../../../src/loaders/api/sharedHandlers.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sharedHandlers.d.ts","sourceRoot":"","sources":["../../../../src/loaders/api/sharedHandlers.js"],"names":[],"mappings":"AAaA;;;;;;;GAOG;AACH,+BANW,MAAM,uBAEN,MAAM,QACN,MAAM,GACJ,GAAC,CAsBb;AAED;;;;;;;;KAQK;AACL,yCAPa,KAAK,OACL,MAAM,SACN,MAAM,GAAC,MAAM,GAAC,OAAO,GAAC,IAAI,WAC1B,MAAM,uBACN,OAAO,QAWnB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configure.d.ts","sourceRoot":"","sources":["../../../../src/loaders/configure/configure.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"configure.d.ts","sourceRoot":"","sources":["../../../../src/loaders/configure/configure.js"],"names":[],"mappings":"AAeA;;;GAGG;AACH,oGAkEC"}
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright 2020-
|
|
2
|
+
* Copyright 2020-2026 New Relic, Inc. All rights reserved.
|
|
3
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
*/
|
|
5
5
|
import { warn } from '../util/console'
|
|
@@ -20,6 +20,7 @@ export function getModeledObject (obj, model) {
|
|
|
20
20
|
if (obj[key] === null) { output[key] = null; continue }
|
|
21
21
|
|
|
22
22
|
if (Array.isArray(obj[key]) && Array.isArray(model[key])) output[key] = Array.from(new Set([...obj[key], ...model[key]]))
|
|
23
|
+
else if (obj[key] instanceof Map || obj[key] instanceof Set || obj[key] instanceof Date || obj[key] instanceof RegExp) output[key] = obj[key]
|
|
23
24
|
else if (typeof obj[key] === 'object' && typeof model[key] === 'object') output[key] = getModeledObject(obj[key], model[key])
|
|
24
25
|
else output[key] = obj[key]
|
|
25
26
|
} catch (e) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright 2020-
|
|
2
|
+
* Copyright 2020-2026 New Relic, Inc. All rights reserved.
|
|
3
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
*/
|
|
5
5
|
import { getModeledObject } from './configurable'
|
|
@@ -24,8 +24,12 @@ const hiddenState = {
|
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
const RuntimeModel = {
|
|
27
|
+
/** @type {{[key: string]: number} | undefined} */
|
|
28
|
+
activatedFeatures: undefined,
|
|
27
29
|
/** Agent-specific metadata found in the RUM call response. ex. entityGuid */
|
|
28
30
|
appMetadata: {},
|
|
31
|
+
/** @type {boolean} */
|
|
32
|
+
configured: false,
|
|
29
33
|
get consented () {
|
|
30
34
|
return this.session?.state?.consent || hiddenState.consented
|
|
31
35
|
},
|
|
@@ -33,8 +37,10 @@ const RuntimeModel = {
|
|
|
33
37
|
hiddenState.consented = value
|
|
34
38
|
},
|
|
35
39
|
customTransaction: undefined,
|
|
36
|
-
denyList:
|
|
40
|
+
denyList: [],
|
|
37
41
|
disabled: false,
|
|
42
|
+
/** @type {Map<string, {staged: boolean, priority: number}>} */
|
|
43
|
+
drainRegistry: new Map(),
|
|
38
44
|
harvester: undefined,
|
|
39
45
|
isolatedBacklog: false,
|
|
40
46
|
isRecording: false, // true when actively recording, false when paused or stopped
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright 2020-
|
|
2
|
+
* Copyright 2020-2026 New Relic, Inc. All rights reserved.
|
|
3
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -84,4 +84,18 @@ export const ffVersion = (() => {
|
|
|
84
84
|
*/
|
|
85
85
|
export const originTime = Date.now() - now()
|
|
86
86
|
|
|
87
|
-
|
|
87
|
+
/**
|
|
88
|
+
* Gets the first navigation entry from the Performance Timeline API.
|
|
89
|
+
* Returns undefined if the entry is not available or invalid.
|
|
90
|
+
* Matches web-vitals validation: checks that responseStart exists, is positive, and is not larger than current time.
|
|
91
|
+
* See: https://github.com/GoogleChrome/web-vitals/issues/137
|
|
92
|
+
* @returns {PerformanceNavigationTiming | undefined}
|
|
93
|
+
*/
|
|
94
|
+
export const getNavigationEntry = () => {
|
|
95
|
+
const navigationEntry = globalScope?.performance?.getEntriesByType?.('navigation')?.[0]
|
|
96
|
+
if (navigationEntry &&
|
|
97
|
+
navigationEntry.responseStart > 0 &&
|
|
98
|
+
navigationEntry.responseStart < globalScope.performance.now()) {
|
|
99
|
+
return navigationEntry
|
|
100
|
+
}
|
|
101
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright 2020-
|
|
2
|
+
* Copyright 2020-2026 New Relic, Inc. All rights reserved.
|
|
3
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -94,5 +94,5 @@ function convertToRegularExpression (filter, isPathname = false) {
|
|
|
94
94
|
const newFilter = filter
|
|
95
95
|
.replace(/[.+?^${}()|[\]\\]/g, (m) => '\\' + m) // use a replacer function to not break apm injection
|
|
96
96
|
.replace(/\*/g, '.*?') // use lazy matching instead of greedy
|
|
97
|
-
return new RegExp((isPathname ? '^' : '') + newFilter + '
|
|
97
|
+
return new RegExp((isPathname ? '^' : '') + newFilter + '\x24') // x24 == $, but using a literal $ causes webpack to to break when building unminified
|
|
98
98
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright 2020-
|
|
2
|
+
* Copyright 2020-2026 New Relic, Inc. All rights reserved.
|
|
3
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
*/
|
|
5
5
|
export const drain = jest.fn()
|
|
6
6
|
export const registerDrain = jest.fn()
|
|
7
|
+
export const deregisterDrain = jest.fn()
|