@newrelic/browser-agent 1.268.0 → 1.270.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 +25 -0
- package/README.md +2 -1
- 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 +1 -2
- package/dist/cjs/common/harvest/harvest-scheduler.js +3 -4
- package/dist/cjs/common/unload/eol.js +2 -5
- package/dist/cjs/common/util/submit-data.js +1 -1
- package/dist/cjs/features/ajax/aggregate/index.js +8 -17
- package/dist/cjs/features/ajax/instrument/index.js +8 -10
- package/dist/cjs/features/generic_events/aggregate/index.js +15 -22
- package/dist/cjs/features/generic_events/instrument/index.js +5 -8
- package/dist/cjs/features/jserrors/aggregate/index.js +38 -23
- package/dist/cjs/features/jserrors/aggregate/internal-errors.js +42 -0
- package/dist/cjs/features/jserrors/instrument/index.js +3 -3
- package/dist/cjs/features/logging/aggregate/index.js +21 -20
- package/dist/cjs/features/logging/instrument/index.js +3 -3
- package/dist/cjs/features/metrics/aggregate/index.js +13 -16
- package/dist/cjs/features/metrics/instrument/index.js +3 -3
- package/dist/cjs/features/page_view_event/aggregate/index.js +15 -29
- package/dist/cjs/features/page_view_event/instrument/index.js +3 -3
- package/dist/cjs/features/page_view_timing/aggregate/index.js +6 -23
- package/dist/cjs/features/page_view_timing/instrument/index.js +3 -3
- package/dist/cjs/features/session_replay/aggregate/index.js +15 -29
- package/dist/cjs/features/session_replay/instrument/index.js +7 -5
- package/dist/cjs/features/session_trace/aggregate/index.js +28 -34
- package/dist/cjs/features/session_trace/instrument/index.js +4 -5
- package/dist/cjs/features/soft_navigations/aggregate/index.js +6 -11
- package/dist/cjs/features/soft_navigations/instrument/index.js +3 -3
- package/dist/cjs/features/spa/aggregate/index.js +19 -30
- package/dist/cjs/features/spa/instrument/index.js +8 -4
- package/dist/cjs/features/utils/aggregate-base.js +11 -12
- package/dist/cjs/features/utils/feature-base.js +5 -3
- package/dist/cjs/features/utils/instrument-base.js +18 -10
- package/dist/cjs/loaders/agent-base.js +1 -0
- package/dist/cjs/loaders/agent.js +1 -5
- package/dist/cjs/loaders/micro-agent.js +7 -10
- 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 +0 -1
- package/dist/esm/common/harvest/harvest-scheduler.js +3 -4
- package/dist/esm/common/unload/eol.js +2 -5
- package/dist/esm/common/util/submit-data.js +2 -2
- package/dist/esm/features/ajax/aggregate/index.js +8 -17
- package/dist/esm/features/ajax/instrument/index.js +8 -10
- package/dist/esm/features/generic_events/aggregate/index.js +11 -18
- package/dist/esm/features/generic_events/instrument/index.js +5 -8
- package/dist/esm/features/jserrors/aggregate/index.js +36 -21
- package/dist/esm/features/jserrors/aggregate/internal-errors.js +36 -0
- package/dist/esm/features/jserrors/instrument/index.js +3 -3
- package/dist/esm/features/logging/aggregate/index.js +21 -20
- package/dist/esm/features/logging/instrument/index.js +3 -3
- package/dist/esm/features/metrics/aggregate/index.js +8 -11
- package/dist/esm/features/metrics/instrument/index.js +3 -3
- package/dist/esm/features/page_view_event/aggregate/index.js +16 -30
- package/dist/esm/features/page_view_event/instrument/index.js +3 -3
- package/dist/esm/features/page_view_timing/aggregate/index.js +6 -23
- package/dist/esm/features/page_view_timing/instrument/index.js +3 -3
- package/dist/esm/features/session_replay/aggregate/index.js +13 -27
- package/dist/esm/features/session_replay/instrument/index.js +7 -5
- package/dist/esm/features/session_trace/aggregate/index.js +27 -33
- package/dist/esm/features/session_trace/instrument/index.js +4 -5
- package/dist/esm/features/soft_navigations/aggregate/index.js +6 -11
- package/dist/esm/features/soft_navigations/instrument/index.js +3 -3
- package/dist/esm/features/spa/aggregate/index.js +17 -28
- package/dist/esm/features/spa/instrument/index.js +8 -4
- package/dist/esm/features/utils/aggregate-base.js +13 -14
- package/dist/esm/features/utils/feature-base.js +5 -3
- package/dist/esm/features/utils/instrument-base.js +18 -10
- package/dist/esm/loaders/agent-base.js +1 -0
- package/dist/esm/loaders/agent.js +1 -5
- package/dist/esm/loaders/micro-agent.js +7 -10
- package/dist/types/common/constants/runtime.d.ts +0 -1
- package/dist/types/common/constants/runtime.d.ts.map +1 -1
- package/dist/types/common/harvest/harvest-scheduler.d.ts.map +1 -1
- package/dist/types/common/unload/eol.d.ts +1 -1
- package/dist/types/common/unload/eol.d.ts.map +1 -1
- package/dist/types/features/ajax/aggregate/index.d.ts +1 -1
- package/dist/types/features/ajax/aggregate/index.d.ts.map +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 +1 -2
- package/dist/types/features/generic_events/aggregate/index.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/aggregate/index.d.ts +11 -2
- package/dist/types/features/jserrors/aggregate/index.d.ts.map +1 -1
- package/dist/types/features/jserrors/aggregate/internal-errors.d.ts +7 -0
- package/dist/types/features/jserrors/aggregate/internal-errors.d.ts.map +1 -0
- 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/aggregate/index.d.ts +4 -2
- package/dist/types/features/logging/aggregate/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/aggregate/index.d.ts +1 -1
- package/dist/types/features/metrics/aggregate/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 +1 -0
- package/dist/types/features/page_action/instrument/index.d.ts.map +1 -1
- package/dist/types/features/page_view_event/aggregate/index.d.ts +1 -1
- package/dist/types/features/page_view_event/aggregate/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/aggregate/index.d.ts +1 -5
- package/dist/types/features/page_view_timing/aggregate/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/aggregate/index.d.ts +0 -1
- package/dist/types/features/session_replay/aggregate/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/aggregate/index.d.ts +1 -3
- package/dist/types/features/session_trace/aggregate/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/aggregate/index.d.ts +1 -1
- package/dist/types/features/soft_navigations/aggregate/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/aggregate/index.d.ts +1 -1
- package/dist/types/features/spa/aggregate/index.d.ts.map +1 -1
- package/dist/types/features/spa/instrument/index.d.ts +4 -1
- package/dist/types/features/spa/instrument/index.d.ts.map +1 -1
- package/dist/types/features/utils/aggregate-base.d.ts +2 -2
- package/dist/types/features/utils/aggregate-base.d.ts.map +1 -1
- package/dist/types/features/utils/feature-base.d.ts +2 -3
- package/dist/types/features/utils/feature-base.d.ts.map +1 -1
- package/dist/types/features/utils/instrument-base.d.ts +3 -3
- package/dist/types/features/utils/instrument-base.d.ts.map +1 -1
- package/dist/types/loaders/agent-base.d.ts +1 -0
- package/dist/types/loaders/agent-base.d.ts.map +1 -1
- package/dist/types/loaders/agent.d.ts +0 -2
- package/dist/types/loaders/agent.d.ts.map +1 -1
- package/dist/types/loaders/micro-agent.d.ts +0 -2
- package/dist/types/loaders/micro-agent.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/common/constants/__mocks__/runtime.js +0 -1
- package/src/common/constants/runtime.js +0 -2
- package/src/common/harvest/harvest-scheduler.js +3 -4
- package/src/common/unload/eol.js +2 -5
- package/src/common/util/submit-data.js +2 -2
- package/src/features/ajax/aggregate/index.js +8 -18
- package/src/features/ajax/instrument/index.js +8 -10
- package/src/features/generic_events/aggregate/index.js +11 -20
- package/src/features/generic_events/instrument/index.js +7 -10
- package/src/features/jserrors/aggregate/index.js +34 -21
- package/src/features/jserrors/aggregate/internal-errors.js +33 -0
- package/src/features/jserrors/instrument/index.js +3 -4
- package/src/features/logging/aggregate/index.js +20 -21
- package/src/features/logging/instrument/index.js +3 -3
- package/src/features/metrics/aggregate/index.js +8 -11
- package/src/features/metrics/instrument/index.js +3 -3
- package/src/features/page_view_event/aggregate/index.js +16 -22
- package/src/features/page_view_event/instrument/index.js +3 -3
- package/src/features/page_view_timing/aggregate/index.js +6 -23
- package/src/features/page_view_timing/instrument/index.js +3 -3
- package/src/features/session_replay/aggregate/index.js +13 -21
- package/src/features/session_replay/instrument/index.js +7 -5
- package/src/features/session_trace/aggregate/index.js +28 -34
- package/src/features/session_trace/instrument/index.js +4 -5
- package/src/features/soft_navigations/aggregate/index.js +6 -8
- package/src/features/soft_navigations/instrument/index.js +3 -3
- package/src/features/spa/aggregate/index.js +17 -26
- package/src/features/spa/instrument/index.js +7 -4
- package/src/features/utils/__mocks__/feature-base.js +1 -2
- package/src/features/utils/aggregate-base.js +13 -14
- package/src/features/utils/feature-base.js +6 -3
- package/src/features/utils/instrument-base.js +16 -10
- package/src/loaders/agent-base.js +1 -0
- package/src/loaders/agent.js +1 -3
- package/src/loaders/micro-agent.js +9 -10
package/src/loaders/agent.js
CHANGED
|
@@ -10,7 +10,6 @@ import { featurePriority, FEATURE_NAMES } from './features/features'
|
|
|
10
10
|
// required features
|
|
11
11
|
import { Instrument as PageViewEvent } from '../features/page_view_event/instrument'
|
|
12
12
|
// common files
|
|
13
|
-
import { Aggregator } from '../common/aggregate/aggregator'
|
|
14
13
|
import { gosNREUM, setNREUMInitializedAgent } from '../common/window/nreum'
|
|
15
14
|
import { warn } from '../common/util/console'
|
|
16
15
|
import { globalScope } from '../common/constants/runtime'
|
|
@@ -34,7 +33,6 @@ export class Agent extends AgentBase {
|
|
|
34
33
|
return
|
|
35
34
|
}
|
|
36
35
|
|
|
37
|
-
this.sharedAggregator = new Aggregator({ agentIdentifier: this.agentIdentifier })
|
|
38
36
|
this.features = {}
|
|
39
37
|
setNREUMInitializedAgent(this.agentIdentifier, this) // append this agent onto the global NREUM.initializedAgents
|
|
40
38
|
|
|
@@ -80,7 +78,7 @@ export class Agent extends AgentBase {
|
|
|
80
78
|
})
|
|
81
79
|
}
|
|
82
80
|
|
|
83
|
-
this.features[InstrumentCtor.featureName] = new InstrumentCtor(this
|
|
81
|
+
this.features[InstrumentCtor.featureName] = new InstrumentCtor(this)
|
|
84
82
|
})
|
|
85
83
|
} catch (err) {
|
|
86
84
|
warn(22, err)
|
|
@@ -3,7 +3,6 @@ import { Instrument as PVE } from '../features/page_view_event/instrument'
|
|
|
3
3
|
import { getEnabledFeatures } from './features/enabled-features'
|
|
4
4
|
import { configure } from './configure/configure'
|
|
5
5
|
// core files
|
|
6
|
-
import { Aggregator } from '../common/aggregate/aggregator'
|
|
7
6
|
import { setNREUMInitializedAgent } from '../common/window/nreum'
|
|
8
7
|
import { getInfo } from '../common/config/info'
|
|
9
8
|
import { getConfiguration, getConfigurationValue } from '../common/config/init'
|
|
@@ -11,13 +10,13 @@ import { getLoaderConfig } from '../common/config/loader-config'
|
|
|
11
10
|
import { getRuntime } from '../common/config/runtime'
|
|
12
11
|
import { FEATURE_NAMES } from './features/features'
|
|
13
12
|
import { warn } from '../common/util/console'
|
|
14
|
-
import { onWindowLoad } from '../common/window/load'
|
|
15
13
|
import { AgentBase } from './agent-base'
|
|
16
14
|
|
|
17
15
|
const nonAutoFeatures = [
|
|
18
16
|
FEATURE_NAMES.jserrors,
|
|
19
17
|
FEATURE_NAMES.genericEvents,
|
|
20
|
-
FEATURE_NAMES.metrics
|
|
18
|
+
FEATURE_NAMES.metrics,
|
|
19
|
+
FEATURE_NAMES.logging
|
|
21
20
|
]
|
|
22
21
|
|
|
23
22
|
/**
|
|
@@ -33,7 +32,6 @@ export class MicroAgent extends AgentBase {
|
|
|
33
32
|
constructor (options, agentIdentifier) {
|
|
34
33
|
super(agentIdentifier)
|
|
35
34
|
|
|
36
|
-
this.sharedAggregator = new Aggregator({ agentIdentifier: this.agentIdentifier })
|
|
37
35
|
this.features = {}
|
|
38
36
|
setNREUMInitializedAgent(this.agentIdentifier, this)
|
|
39
37
|
|
|
@@ -76,21 +74,22 @@ export class MicroAgent extends AgentBase {
|
|
|
76
74
|
|
|
77
75
|
try {
|
|
78
76
|
// a biproduct of doing this is that the "session manager" is automatically handled through importing this feature
|
|
79
|
-
this.features.page_view_event = new PVE(this
|
|
77
|
+
this.features.page_view_event = new PVE(this)
|
|
80
78
|
} catch (err) {
|
|
81
79
|
warn(24, err)
|
|
82
80
|
}
|
|
83
81
|
|
|
84
|
-
|
|
85
|
-
|
|
82
|
+
this.features.page_view_event.onAggregateImported.then(() => {
|
|
83
|
+
/* The following features do not import an "instrument" file, meaning they are only hooked up to the API.
|
|
84
|
+
Since the missing instrument-base class handles drain-gating (racing behavior) and PVE handles some setup, these are chained until after PVE has finished initializing
|
|
85
|
+
so as to avoid the race condition of things like session and sharedAggregator not being ready by features that uses them right away. */
|
|
86
86
|
nonAutoFeatures.forEach(f => {
|
|
87
87
|
if (enabledFeatures[f] && features.includes(f)) {
|
|
88
88
|
import(/* webpackChunkName: "lazy-feature-loader" */ '../features/utils/lazy-feature-loader').then(({ lazyFeatureLoader }) => {
|
|
89
89
|
return lazyFeatureLoader(f, 'aggregate')
|
|
90
90
|
}).then(({ Aggregate }) => {
|
|
91
|
-
this.features[f] = new Aggregate(this
|
|
92
|
-
}).catch(err =>
|
|
93
|
-
warn(25, err))
|
|
91
|
+
this.features[f] = new Aggregate(this)
|
|
92
|
+
}).catch(err => warn(25, err))
|
|
94
93
|
}
|
|
95
94
|
})
|
|
96
95
|
})
|