@newrelic/browser-agent 1.263.0 → 1.265.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 +32 -0
- package/README.md +2 -2
- package/dist/cjs/cdn/experimental.js +3 -7
- package/dist/cjs/cdn/pro.js +2 -2
- package/dist/cjs/cdn/spa.js +2 -2
- package/dist/cjs/common/aggregate/aggregator.js +2 -3
- package/dist/cjs/common/config/{state/configurable.js → configurable.js} +1 -1
- package/dist/cjs/common/config/{state/info.js → info.js} +1 -1
- package/dist/cjs/common/config/{state/init.js → init.js} +11 -8
- package/dist/cjs/common/config/{state/loader-config.js → loader-config.js} +1 -1
- package/dist/cjs/common/config/{state/runtime.js → runtime.js} +16 -5
- package/dist/cjs/common/constants/agent-constants.js +8 -0
- 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 -3
- package/dist/cjs/common/context/shared-context.js +1 -2
- package/dist/cjs/common/dispatch/global-event.js +1 -2
- package/dist/cjs/common/drain/drain.js +12 -18
- package/dist/cjs/common/event-emitter/contextual-ee.js +3 -4
- package/dist/cjs/common/event-listener/event-listener-opts.js +2 -6
- package/dist/cjs/common/harvest/harvest-scheduler.js +1 -2
- package/dist/cjs/common/harvest/harvest.js +30 -57
- package/dist/cjs/common/serialize/bel-serializer.js +6 -11
- package/dist/cjs/common/session/session-entity.js +10 -13
- package/dist/cjs/common/timing/nav-timing.js +1 -3
- package/dist/cjs/common/timing/time-keeper.js +16 -6
- package/dist/cjs/common/url/encode.js +3 -7
- package/dist/cjs/common/util/console.js +2 -0
- package/dist/cjs/common/util/invoke.js +6 -16
- package/dist/cjs/common/util/obfuscate.js +97 -53
- package/dist/cjs/common/util/submit-data.js +17 -21
- package/dist/cjs/common/util/text.js +9 -0
- package/dist/cjs/common/util/traverse.js +1 -3
- package/dist/cjs/common/vitals/cumulative-layout-shift.js +5 -6
- package/dist/cjs/common/vitals/first-contentful-paint.js +4 -5
- package/dist/cjs/common/vitals/first-input-delay.js +4 -5
- package/dist/cjs/common/vitals/interaction-to-next-paint.js +5 -6
- package/dist/cjs/common/vitals/largest-contentful-paint.js +4 -5
- package/dist/cjs/common/vitals/time-to-first-byte.js +4 -5
- package/dist/cjs/common/vitals/vital-metric.js +5 -7
- package/dist/cjs/common/window/nreum.js +2 -1
- package/dist/cjs/common/window/page-visibility.js +1 -4
- package/dist/cjs/common/wrap/wrap-events.js +1 -4
- package/dist/cjs/common/wrap/wrap-promise.js +1 -4
- package/dist/cjs/common/wrap/wrap-websocket.js +74 -0
- package/dist/cjs/features/ajax/aggregate/chunk.js +4 -3
- package/dist/cjs/features/ajax/aggregate/gql.js +4 -5
- package/dist/cjs/features/ajax/aggregate/index.js +19 -22
- package/dist/cjs/features/ajax/constants.js +2 -3
- package/dist/cjs/features/ajax/instrument/distributed-tracing.js +9 -8
- package/dist/cjs/features/ajax/instrument/index.js +14 -12
- package/dist/cjs/features/generic_events/aggregate/index.js +128 -0
- package/dist/cjs/features/generic_events/constants.js +10 -0
- package/dist/cjs/features/generic_events/index.js +12 -0
- package/dist/cjs/features/generic_events/instrument/index.js +27 -0
- package/dist/cjs/features/jserrors/aggregate/index.js +25 -44
- package/dist/cjs/features/jserrors/instrument/index.js +4 -4
- package/dist/cjs/features/logging/aggregate/index.js +33 -36
- package/dist/cjs/features/logging/constants.js +2 -3
- package/dist/cjs/features/logging/instrument/index.js +5 -6
- package/dist/cjs/features/logging/shared/log.js +1 -3
- package/dist/cjs/features/logging/shared/utils.js +2 -4
- package/dist/cjs/features/metrics/aggregate/index.js +34 -17
- package/dist/cjs/features/metrics/aggregate/websocket-detection.js +34 -0
- package/dist/cjs/features/metrics/constants.js +4 -2
- package/dist/cjs/features/metrics/instrument/index.js +12 -4
- package/dist/cjs/features/page_action/instrument/index.js +14 -10
- package/dist/cjs/features/page_view_event/aggregate/index.js +19 -39
- package/dist/cjs/features/page_view_event/aggregate/initialized-features.js +1 -1
- package/dist/cjs/features/page_view_event/instrument/index.js +4 -4
- package/dist/cjs/features/page_view_timing/aggregate/index.js +23 -39
- package/dist/cjs/features/page_view_timing/instrument/index.js +4 -4
- package/dist/cjs/features/session_replay/aggregate/index.js +35 -42
- package/dist/cjs/features/session_replay/constants.js +1 -5
- package/dist/cjs/features/session_replay/instrument/index.js +5 -9
- package/dist/cjs/features/session_replay/shared/recorder-events.js +25 -20
- package/dist/cjs/features/session_replay/shared/recorder.js +17 -13
- package/dist/cjs/features/session_replay/shared/stylesheet-evaluator.js +2 -2
- package/dist/cjs/features/session_replay/shared/utils.js +5 -4
- package/dist/cjs/features/session_trace/aggregate/index.js +25 -42
- package/dist/cjs/features/session_trace/aggregate/trace/storage.js +5 -3
- package/dist/cjs/features/session_trace/instrument/index.js +8 -7
- package/dist/cjs/features/soft_navigations/aggregate/ajax-node.js +1 -1
- package/dist/cjs/features/soft_navigations/aggregate/index.js +22 -30
- package/dist/cjs/features/soft_navigations/aggregate/initial-page-load-interaction.js +2 -2
- package/dist/cjs/features/soft_navigations/aggregate/interaction.js +4 -5
- package/dist/cjs/features/soft_navigations/instrument/index.js +14 -13
- package/dist/cjs/features/spa/aggregate/index.js +17 -28
- package/dist/cjs/features/spa/aggregate/interaction.js +7 -6
- package/dist/cjs/features/spa/aggregate/serializer.js +4 -5
- package/dist/cjs/features/spa/constants.js +2 -2
- package/dist/cjs/features/spa/instrument/index.js +20 -19
- package/dist/cjs/features/utils/agent-session.js +6 -4
- package/dist/cjs/features/utils/aggregate-base.js +17 -10
- package/dist/cjs/features/utils/event-buffer.js +132 -0
- package/dist/cjs/features/utils/feature-gates.js +2 -2
- package/dist/cjs/features/utils/instrument-base.js +7 -8
- package/dist/cjs/features/utils/lazy-feature-loader.js +12 -12
- package/dist/cjs/features/utils/nr1-debugger.js +1 -3
- package/dist/cjs/index.js +21 -0
- package/dist/cjs/loaders/agent-base.js +4 -12
- package/dist/cjs/loaders/agent.js +7 -2
- package/dist/cjs/loaders/api/api.js +23 -35
- package/dist/cjs/loaders/api/apiAsync.js +10 -13
- package/dist/cjs/loaders/browser-agent.js +4 -3
- package/dist/cjs/loaders/configure/configure.js +16 -15
- package/dist/cjs/loaders/features/enabled-features.js +2 -2
- package/dist/cjs/loaders/features/features.js +8 -4
- package/dist/cjs/loaders/micro-agent.js +16 -15
- package/dist/esm/cdn/experimental.js +2 -5
- package/dist/esm/cdn/pro.js +2 -2
- package/dist/esm/cdn/spa.js +2 -2
- package/dist/esm/common/aggregate/aggregator.js +2 -3
- package/dist/esm/common/config/{state/configurable.js → configurable.js} +1 -1
- package/dist/esm/common/config/{state/info.js → info.js} +1 -1
- package/dist/esm/common/config/{state/init.js → init.js} +11 -8
- package/dist/esm/common/config/{state/loader-config.js → loader-config.js} +1 -1
- package/dist/esm/common/config/{state/runtime.js → runtime.js} +17 -5
- package/dist/esm/common/constants/agent-constants.js +2 -0
- 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 -2
- package/dist/esm/common/context/shared-context.js +1 -2
- package/dist/esm/common/dispatch/global-event.js +1 -2
- package/dist/esm/common/drain/drain.js +12 -18
- package/dist/esm/common/event-emitter/contextual-ee.js +2 -3
- package/dist/esm/common/event-listener/event-listener-opts.js +2 -6
- package/dist/esm/common/harvest/harvest-scheduler.js +1 -2
- package/dist/esm/common/harvest/harvest.js +24 -51
- package/dist/esm/common/serialize/bel-serializer.js +6 -11
- package/dist/esm/common/session/session-entity.js +10 -13
- package/dist/esm/common/timing/nav-timing.js +1 -3
- package/dist/esm/common/timing/time-keeper.js +15 -5
- package/dist/esm/common/url/encode.js +3 -7
- package/dist/esm/common/util/console.js +2 -0
- package/dist/esm/common/util/invoke.js +6 -16
- package/dist/esm/common/util/obfuscate.js +96 -49
- package/dist/esm/common/util/submit-data.js +17 -21
- package/dist/esm/common/util/text.js +3 -0
- package/dist/esm/common/util/traverse.js +1 -3
- package/dist/esm/common/vitals/cumulative-layout-shift.js +5 -6
- package/dist/esm/common/vitals/first-contentful-paint.js +4 -5
- package/dist/esm/common/vitals/first-input-delay.js +4 -5
- package/dist/esm/common/vitals/interaction-to-next-paint.js +5 -6
- package/dist/esm/common/vitals/largest-contentful-paint.js +4 -5
- package/dist/esm/common/vitals/time-to-first-byte.js +4 -5
- package/dist/esm/common/vitals/vital-metric.js +5 -7
- package/dist/esm/common/window/nreum.js +2 -1
- package/dist/esm/common/window/page-visibility.js +1 -4
- package/dist/esm/common/wrap/wrap-events.js +1 -4
- package/dist/esm/common/wrap/wrap-promise.js +1 -4
- package/dist/esm/common/wrap/wrap-websocket.js +67 -0
- package/dist/esm/features/ajax/aggregate/chunk.js +3 -2
- package/dist/esm/features/ajax/aggregate/gql.js +4 -5
- package/dist/esm/features/ajax/aggregate/index.js +16 -19
- package/dist/esm/features/ajax/constants.js +1 -2
- package/dist/esm/features/ajax/instrument/distributed-tracing.js +2 -1
- package/dist/esm/features/ajax/instrument/index.js +10 -8
- package/dist/esm/features/generic_events/aggregate/index.js +120 -0
- package/dist/esm/features/generic_events/constants.js +4 -0
- package/dist/esm/features/generic_events/index.js +1 -0
- package/dist/esm/features/generic_events/instrument/index.js +20 -0
- package/dist/esm/features/jserrors/aggregate/index.js +20 -39
- package/dist/esm/features/jserrors/instrument/index.js +3 -3
- package/dist/esm/features/logging/aggregate/index.js +31 -34
- package/dist/esm/features/logging/constants.js +1 -2
- package/dist/esm/features/logging/instrument/index.js +4 -5
- package/dist/esm/features/logging/shared/log.js +1 -3
- package/dist/esm/features/logging/shared/utils.js +2 -4
- package/dist/esm/features/metrics/aggregate/index.js +28 -11
- package/dist/esm/features/metrics/aggregate/websocket-detection.js +29 -0
- package/dist/esm/features/metrics/constants.js +3 -1
- package/dist/esm/features/metrics/instrument/index.js +12 -4
- package/dist/esm/features/page_action/instrument/index.js +14 -9
- package/dist/esm/features/page_view_event/aggregate/index.js +17 -37
- package/dist/esm/features/page_view_event/aggregate/initialized-features.js +1 -1
- package/dist/esm/features/page_view_event/instrument/index.js +3 -3
- package/dist/esm/features/page_view_timing/aggregate/index.js +20 -36
- package/dist/esm/features/page_view_timing/instrument/index.js +3 -3
- package/dist/esm/features/session_replay/aggregate/index.js +25 -32
- package/dist/esm/features/session_replay/constants.js +0 -4
- package/dist/esm/features/session_replay/index.js +1 -7
- package/dist/esm/features/session_replay/instrument/index.js +5 -8
- package/dist/esm/features/session_replay/shared/recorder-events.js +25 -20
- package/dist/esm/features/session_replay/shared/recorder.js +14 -10
- package/dist/esm/features/session_replay/shared/stylesheet-evaluator.js +2 -2
- package/dist/esm/features/session_replay/shared/utils.js +3 -2
- package/dist/esm/features/session_trace/aggregate/index.js +20 -37
- package/dist/esm/features/session_trace/aggregate/trace/storage.js +5 -3
- package/dist/esm/features/session_trace/instrument/index.js +5 -4
- package/dist/esm/features/soft_navigations/aggregate/ajax-node.js +1 -1
- package/dist/esm/features/soft_navigations/aggregate/index.js +21 -29
- package/dist/esm/features/soft_navigations/aggregate/initial-page-load-interaction.js +1 -1
- package/dist/esm/features/soft_navigations/aggregate/interaction.js +2 -3
- package/dist/esm/features/soft_navigations/instrument/index.js +11 -10
- package/dist/esm/features/spa/aggregate/index.js +11 -22
- package/dist/esm/features/spa/aggregate/interaction.js +6 -5
- package/dist/esm/features/spa/aggregate/serializer.js +2 -3
- package/dist/esm/features/spa/constants.js +2 -2
- package/dist/esm/features/spa/instrument/index.js +12 -11
- package/dist/esm/features/utils/agent-session.js +3 -1
- package/dist/esm/features/utils/aggregate-base.js +16 -9
- package/dist/esm/features/utils/event-buffer.js +126 -0
- package/dist/esm/features/utils/feature-gates.js +1 -1
- package/dist/esm/features/utils/instrument-base.js +6 -7
- package/dist/esm/features/utils/lazy-feature-loader.js +12 -12
- package/dist/esm/features/utils/nr1-debugger.js +1 -3
- package/dist/esm/index.js +3 -0
- package/dist/esm/loaders/agent-base.js +4 -12
- package/dist/esm/loaders/agent.js +7 -2
- package/dist/esm/loaders/api/api.js +18 -30
- package/dist/esm/loaders/api/apiAsync.js +3 -6
- package/dist/esm/loaders/browser-agent.js +3 -2
- package/dist/esm/loaders/configure/configure.js +9 -8
- package/dist/esm/loaders/features/enabled-features.js +1 -1
- package/dist/esm/loaders/features/features.js +8 -4
- package/dist/esm/loaders/micro-agent.js +11 -10
- package/dist/types/common/aggregate/aggregator.d.ts.map +1 -1
- package/dist/types/common/config/configurable.d.ts.map +1 -0
- package/dist/types/common/config/info.d.ts.map +1 -0
- package/dist/types/common/config/init.d.ts.map +1 -0
- package/dist/types/common/config/loader-config.d.ts.map +1 -0
- package/dist/types/common/config/runtime.d.ts.map +1 -0
- package/dist/types/common/constants/agent-constants.d.ts +3 -0
- package/dist/types/common/constants/agent-constants.d.ts.map +1 -0
- 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.d.ts +1 -7
- package/dist/types/common/harvest/harvest.d.ts.map +1 -1
- package/dist/types/common/serialize/bel-serializer.d.ts.map +1 -1
- package/dist/types/common/timing/time-keeper.d.ts +9 -2
- package/dist/types/common/timing/time-keeper.d.ts.map +1 -1
- package/dist/types/common/url/encode.d.ts.map +1 -1
- package/dist/types/common/util/console.d.ts.map +1 -1
- package/dist/types/common/util/obfuscate.d.ts +78 -6
- package/dist/types/common/util/obfuscate.d.ts.map +1 -1
- package/dist/types/common/util/submit-data.d.ts.map +1 -1
- package/dist/types/common/util/text.d.ts +2 -0
- package/dist/types/common/util/text.d.ts.map +1 -0
- package/dist/types/common/window/nreum.d.ts.map +1 -1
- package/dist/types/common/wrap/wrap-websocket.d.ts +4 -0
- package/dist/types/common/wrap/wrap-websocket.d.ts.map +1 -0
- package/dist/types/features/ajax/aggregate/chunk.d.ts.map +1 -1
- package/dist/types/features/ajax/aggregate/index.d.ts +2 -3
- package/dist/types/features/ajax/aggregate/index.d.ts.map +1 -1
- package/dist/types/features/ajax/constants.d.ts +0 -1
- package/dist/types/features/ajax/constants.d.ts.map +1 -1
- package/dist/types/features/ajax/instrument/distributed-tracing.d.ts.map +1 -1
- package/dist/types/features/ajax/instrument/index.d.ts +1 -0
- package/dist/types/features/ajax/instrument/index.d.ts.map +1 -1
- package/dist/types/features/{page_action → generic_events}/aggregate/index.d.ts +10 -10
- package/dist/types/features/generic_events/aggregate/index.d.ts.map +1 -0
- package/dist/types/features/generic_events/constants.d.ts +4 -0
- package/dist/types/features/generic_events/constants.d.ts.map +1 -0
- package/dist/types/features/generic_events/index.d.ts +2 -0
- package/dist/types/features/generic_events/index.d.ts.map +1 -0
- package/dist/types/features/generic_events/instrument/index.d.ts +7 -0
- package/dist/types/features/generic_events/instrument/index.d.ts.map +1 -0
- package/dist/types/features/jserrors/aggregate/index.d.ts +2 -2
- package/dist/types/features/jserrors/aggregate/index.d.ts.map +1 -1
- package/dist/types/features/jserrors/instrument/index.d.ts +1 -0
- package/dist/types/features/jserrors/instrument/index.d.ts.map +1 -1
- package/dist/types/features/logging/aggregate/index.d.ts +4 -7
- package/dist/types/features/logging/aggregate/index.d.ts.map +1 -1
- package/dist/types/features/logging/constants.d.ts +0 -1
- package/dist/types/features/logging/constants.d.ts.map +1 -1
- package/dist/types/features/logging/instrument/index.d.ts +1 -0
- package/dist/types/features/logging/instrument/index.d.ts.map +1 -1
- package/dist/types/features/metrics/aggregate/index.d.ts.map +1 -1
- package/dist/types/features/metrics/aggregate/websocket-detection.d.ts +12 -0
- package/dist/types/features/metrics/aggregate/websocket-detection.d.ts.map +1 -0
- package/dist/types/features/metrics/constants.d.ts +1 -0
- package/dist/types/features/metrics/constants.d.ts.map +1 -1
- package/dist/types/features/metrics/instrument/index.d.ts +1 -0
- package/dist/types/features/metrics/instrument/index.d.ts.map +1 -1
- package/dist/types/features/page_action/instrument/index.d.ts +9 -4
- package/dist/types/features/page_action/instrument/index.d.ts.map +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 -0
- 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 +2 -2
- 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 -0
- package/dist/types/features/page_view_timing/instrument/index.d.ts.map +1 -1
- package/dist/types/features/session_replay/aggregate/index.d.ts.map +1 -1
- package/dist/types/features/session_replay/constants.d.ts +0 -4
- package/dist/types/features/session_replay/constants.d.ts.map +1 -1
- package/dist/types/features/session_replay/instrument/index.d.ts +1 -0
- package/dist/types/features/session_replay/instrument/index.d.ts.map +1 -1
- package/dist/types/features/session_replay/shared/recorder-events.d.ts +6 -6
- package/dist/types/features/session_replay/shared/recorder-events.d.ts.map +1 -1
- package/dist/types/features/session_replay/shared/recorder.d.ts +2 -2
- package/dist/types/features/session_replay/shared/recorder.d.ts.map +1 -1
- package/dist/types/features/session_replay/shared/utils.d.ts.map +1 -1
- package/dist/types/features/session_trace/aggregate/index.d.ts +2 -2
- package/dist/types/features/session_trace/aggregate/index.d.ts.map +1 -1
- package/dist/types/features/session_trace/aggregate/trace/storage.d.ts +1 -1
- package/dist/types/features/session_trace/aggregate/trace/storage.d.ts.map +1 -1
- package/dist/types/features/session_trace/instrument/index.d.ts +1 -0
- package/dist/types/features/session_trace/instrument/index.d.ts.map +1 -1
- package/dist/types/features/soft_navigations/aggregate/index.d.ts +3 -3
- package/dist/types/features/soft_navigations/aggregate/index.d.ts.map +1 -1
- package/dist/types/features/soft_navigations/instrument/index.d.ts +1 -0
- package/dist/types/features/soft_navigations/instrument/index.d.ts.map +1 -1
- package/dist/types/features/spa/aggregate/index.d.ts +2 -2
- package/dist/types/features/spa/aggregate/index.d.ts.map +1 -1
- package/dist/types/features/spa/aggregate/interaction.d.ts.map +1 -1
- package/dist/types/features/spa/aggregate/serializer.d.ts.map +1 -1
- package/dist/types/features/spa/constants.d.ts.map +1 -1
- package/dist/types/features/spa/instrument/index.d.ts +1 -0
- package/dist/types/features/spa/instrument/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 +1 -0
- package/dist/types/features/utils/aggregate-base.d.ts.map +1 -1
- package/dist/types/features/utils/event-buffer.d.ts +72 -0
- package/dist/types/features/utils/event-buffer.d.ts.map +1 -0
- package/dist/types/features/utils/instrument-base.d.ts +1 -0
- package/dist/types/features/utils/instrument-base.d.ts.map +1 -1
- package/dist/types/index.d.ts +3 -0
- package/dist/types/loaders/agent-base.d.ts +1 -2
- 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/api.d.ts.map +1 -1
- package/dist/types/loaders/browser-agent.d.ts.map +1 -1
- package/dist/types/loaders/configure/configure.d.ts.map +1 -1
- package/dist/types/loaders/features/features.d.ts +1 -0
- package/dist/types/loaders/features/features.d.ts.map +1 -1
- package/dist/types/loaders/micro-agent.d.ts.map +1 -1
- package/package.json +67 -52
- package/src/cdn/experimental.js +2 -4
- package/src/cdn/pro.js +2 -2
- package/src/cdn/spa.js +2 -2
- package/src/common/aggregate/aggregator.js +2 -3
- package/src/common/config/__mocks__/info.js +3 -0
- package/src/common/config/__mocks__/init.js +3 -0
- package/src/common/config/__mocks__/loader-config.js +2 -0
- package/src/common/config/__mocks__/runtime.js +2 -0
- package/src/common/config/{state/configurable.js → configurable.js} +1 -1
- package/src/common/config/{state/info.js → info.js} +1 -1
- package/src/common/config/{state/init.js → init.js} +7 -6
- package/src/common/config/{state/loader-config.js → loader-config.js} +1 -1
- package/src/common/config/{state/runtime.js → runtime.js} +19 -5
- package/src/common/constants/agent-constants.js +2 -0
- package/src/common/constants/runtime.js +0 -2
- package/src/common/drain/drain.js +8 -6
- package/src/common/event-emitter/contextual-ee.js +1 -1
- package/src/common/harvest/harvest.js +10 -24
- package/src/common/serialize/bel-serializer.js +6 -9
- package/src/common/session/session-entity.js +4 -4
- package/src/common/timing/__mocks__/time-keeper.js +6 -2
- package/src/common/timing/time-keeper.js +15 -5
- package/src/common/url/encode.js +2 -3
- package/src/common/util/__mocks__/console.js +1 -0
- package/src/common/util/__mocks__/obfuscate.js +5 -8
- package/src/common/util/console.js +2 -0
- package/src/common/util/obfuscate.js +94 -50
- package/src/common/util/submit-data.js +0 -1
- package/src/common/util/text.js +6 -0
- package/src/common/window/__mocks__/nreum.js +1 -1
- package/src/common/window/nreum.js +2 -1
- package/src/common/wrap/wrap-websocket.js +73 -0
- package/src/features/ajax/aggregate/chunk.js +3 -2
- package/src/features/ajax/aggregate/index.js +20 -19
- package/src/features/ajax/constants.js +0 -2
- package/src/features/ajax/instrument/distributed-tracing.js +2 -1
- package/src/features/ajax/instrument/index.js +9 -5
- package/src/features/generic_events/aggregate/index.js +139 -0
- package/src/features/generic_events/constants.js +5 -0
- package/src/features/generic_events/index.js +1 -0
- package/src/features/generic_events/instrument/index.js +24 -0
- package/src/features/jserrors/aggregate/index.js +18 -9
- package/src/features/jserrors/instrument/index.js +2 -0
- package/src/features/logging/aggregate/index.js +39 -31
- package/src/features/logging/constants.js +0 -2
- package/src/features/logging/instrument/index.js +2 -0
- package/src/features/logging/shared/utils.js +1 -1
- package/src/features/metrics/aggregate/index.js +24 -9
- package/src/features/metrics/aggregate/websocket-detection.js +31 -0
- package/src/features/metrics/constants.js +3 -0
- package/src/features/metrics/instrument/index.js +13 -1
- package/src/features/page_action/instrument/index.js +11 -6
- package/src/features/page_view_event/aggregate/index.js +8 -23
- package/src/features/page_view_event/aggregate/initialized-features.js +1 -1
- package/src/features/page_view_event/instrument/index.js +2 -0
- package/src/features/page_view_timing/aggregate/index.js +15 -18
- package/src/features/page_view_timing/instrument/index.js +2 -0
- package/src/features/session_replay/aggregate/index.js +13 -9
- package/src/features/session_replay/constants.js +0 -4
- package/src/features/session_replay/index.js +1 -7
- package/src/features/session_replay/instrument/index.js +3 -4
- package/src/features/session_replay/shared/recorder-events.js +27 -20
- package/src/features/session_replay/shared/recorder.js +13 -6
- package/src/features/session_replay/shared/stylesheet-evaluator.js +2 -2
- package/src/features/session_replay/shared/utils.js +3 -2
- package/src/features/session_trace/aggregate/index.js +16 -7
- package/src/features/session_trace/aggregate/trace/storage.js +6 -1
- package/src/features/session_trace/instrument/index.js +4 -1
- package/src/features/soft_navigations/aggregate/ajax-node.js +1 -1
- package/src/features/soft_navigations/aggregate/index.js +13 -15
- package/src/features/soft_navigations/aggregate/initial-page-load-interaction.js +1 -1
- package/src/features/soft_navigations/aggregate/interaction.js +1 -1
- package/src/features/soft_navigations/instrument/index.js +9 -5
- package/src/features/spa/aggregate/index.js +12 -20
- package/src/features/spa/aggregate/interaction.js +6 -5
- package/src/features/spa/aggregate/serializer.js +2 -3
- package/src/features/spa/constants.js +2 -2
- package/src/features/spa/instrument/index.js +9 -3
- package/src/features/utils/agent-session.js +3 -1
- package/src/features/utils/aggregate-base.js +13 -3
- package/src/features/utils/event-buffer.js +126 -0
- package/src/features/utils/feature-gates.js +1 -1
- package/src/features/utils/instrument-base.js +2 -1
- package/src/features/utils/lazy-feature-loader.js +2 -2
- package/src/index.js +3 -0
- package/src/loaders/agent-base.js +2 -6
- package/src/loaders/agent.js +7 -2
- package/src/loaders/api/api.js +3 -2
- package/src/loaders/api/apiAsync.js +2 -2
- package/src/loaders/browser-agent.js +5 -3
- package/src/loaders/configure/configure.js +9 -2
- package/src/loaders/features/enabled-features.js +1 -1
- package/src/loaders/features/features.js +8 -4
- package/src/loaders/micro-agent.js +5 -2
- package/dist/cjs/cdn/polyfills/lite.js +0 -16
- package/dist/cjs/cdn/polyfills/pro.js +0 -21
- package/dist/cjs/cdn/polyfills/spa.js +0 -22
- package/dist/cjs/cdn/polyfills.js +0 -24
- package/dist/cjs/common/config/config.js +0 -76
- package/dist/cjs/common/config/state/originals.js +0 -8
- package/dist/cjs/common/util/map-own.js +0 -31
- package/dist/cjs/common/wrap/index.js +0 -61
- package/dist/cjs/features/page_action/aggregate/index.js +0 -121
- package/dist/esm/cdn/polyfills/lite.js +0 -14
- package/dist/esm/cdn/polyfills/pro.js +0 -19
- package/dist/esm/cdn/polyfills/spa.js +0 -20
- package/dist/esm/cdn/polyfills.js +0 -27
- package/dist/esm/common/config/config.js +0 -11
- package/dist/esm/common/config/state/originals.js +0 -2
- package/dist/esm/common/util/map-own.js +0 -24
- package/dist/esm/common/wrap/index.js +0 -13
- package/dist/esm/features/page_action/aggregate/index.js +0 -114
- package/dist/types/cdn/polyfills/lite.d.ts +0 -2
- package/dist/types/cdn/polyfills/lite.d.ts.map +0 -1
- package/dist/types/cdn/polyfills/pro.d.ts +0 -2
- package/dist/types/cdn/polyfills/pro.d.ts.map +0 -1
- package/dist/types/cdn/polyfills/spa.d.ts +0 -2
- package/dist/types/cdn/polyfills/spa.d.ts.map +0 -1
- package/dist/types/cdn/polyfills.d.ts +0 -2
- package/dist/types/cdn/polyfills.d.ts.map +0 -1
- package/dist/types/common/config/config.d.ts +0 -13
- package/dist/types/common/config/config.d.ts.map +0 -1
- package/dist/types/common/config/state/configurable.d.ts.map +0 -1
- package/dist/types/common/config/state/info.d.ts.map +0 -1
- package/dist/types/common/config/state/init.d.ts.map +0 -1
- package/dist/types/common/config/state/loader-config.d.ts.map +0 -1
- package/dist/types/common/config/state/originals.d.ts +0 -2
- package/dist/types/common/config/state/originals.d.ts.map +0 -1
- package/dist/types/common/config/state/runtime.d.ts.map +0 -1
- package/dist/types/common/util/map-own.d.ts +0 -3
- package/dist/types/common/util/map-own.d.ts.map +0 -1
- package/dist/types/common/wrap/index.d.ts +0 -10
- package/dist/types/common/wrap/index.d.ts.map +0 -1
- package/dist/types/features/page_action/aggregate/index.d.ts.map +0 -1
- package/src/cdn/polyfills/lite.js +0 -20
- package/src/cdn/polyfills/pro.js +0 -30
- package/src/cdn/polyfills/spa.js +0 -32
- package/src/cdn/polyfills.js +0 -27
- package/src/common/config/__mocks__/config.js +0 -11
- package/src/common/config/config.js +0 -12
- package/src/common/config/state/originals.js +0 -3
- package/src/common/util/map-own.js +0 -22
- package/src/common/wrap/index.js +0 -16
- package/src/features/page_action/aggregate/index.js +0 -114
- /package/dist/types/common/config/{state/configurable.d.ts → configurable.d.ts} +0 -0
- /package/dist/types/common/config/{state/info.d.ts → info.d.ts} +0 -0
- /package/dist/types/common/config/{state/init.d.ts → init.d.ts} +0 -0
- /package/dist/types/common/config/{state/loader-config.d.ts → loader-config.d.ts} +0 -0
- /package/dist/types/common/config/{state/runtime.d.ts → runtime.d.ts} +0 -0
|
@@ -10,7 +10,7 @@ var _load = require("../../common/window/load");
|
|
|
10
10
|
var _runtime = require("../../common/constants/runtime");
|
|
11
11
|
var _console = require("../../common/util/console");
|
|
12
12
|
var _features = require("../../loaders/features/features");
|
|
13
|
-
var
|
|
13
|
+
var _init = require("../../common/config/init");
|
|
14
14
|
var _utils = require("../session_replay/shared/utils");
|
|
15
15
|
var _featureGates = require("./feature-gates");
|
|
16
16
|
var _invoke = require("../../common/util/invoke");
|
|
@@ -34,8 +34,7 @@ class InstrumentBase extends _featureBase.FeatureBase {
|
|
|
34
34
|
* of its pooled instrumentation data handled by the agent's centralized drain functionality, rather than draining
|
|
35
35
|
* immediately. Primarily useful for fine-grained control in tests.
|
|
36
36
|
*/
|
|
37
|
-
constructor(agentIdentifier, aggregator, featureName) {
|
|
38
|
-
let auto = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
|
|
37
|
+
constructor(agentIdentifier, aggregator, featureName, auto = true) {
|
|
39
38
|
super(agentIdentifier, aggregator, featureName);
|
|
40
39
|
this.auto = auto;
|
|
41
40
|
|
|
@@ -51,11 +50,12 @@ class InstrumentBase extends _featureBase.FeatureBase {
|
|
|
51
50
|
/**
|
|
52
51
|
* @type {Promise} Assigned immediately after @see importAggregator runs. Serves as a signal for when the inner async fn finishes execution. Useful for features to await
|
|
53
52
|
* one another if there are inter-features dependencies.
|
|
53
|
+
* TODO: This is only used for the SPA feature component tests and should be refactored out.
|
|
54
54
|
*/
|
|
55
55
|
this.onAggregateImported = undefined;
|
|
56
56
|
|
|
57
57
|
/** used in conjunction with newrelic.start() to defer harvesting in features */
|
|
58
|
-
if ((0,
|
|
58
|
+
if ((0, _init.getConfigurationValue)(this.agentIdentifier, "".concat(this.featureName, ".autoStart")) === false) this.auto = false;
|
|
59
59
|
/** if the feature requires opt-in (!auto-start), it will get registered once the api has been called */
|
|
60
60
|
if (this.auto) (0, _drain.registerDrain)(agentIdentifier, featureName);else {
|
|
61
61
|
this.ee.on('manual-start-all', (0, _invoke.single)(() => {
|
|
@@ -74,8 +74,7 @@ class InstrumentBase extends _featureBase.FeatureBase {
|
|
|
74
74
|
* @param {Object} [argsObjFromInstrument] - any values or references to pass down to aggregate
|
|
75
75
|
* @returns void
|
|
76
76
|
*/
|
|
77
|
-
importAggregator() {
|
|
78
|
-
let argsObjFromInstrument = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
77
|
+
importAggregator(argsObjFromInstrument = {}) {
|
|
79
78
|
if (this.featAggregate || !this.auto) return;
|
|
80
79
|
let loadedSuccessfully;
|
|
81
80
|
this.onAggregateImported = new Promise(resolve => {
|
|
@@ -88,7 +87,7 @@ class InstrumentBase extends _featureBase.FeatureBase {
|
|
|
88
87
|
// would require some setup before certain features start
|
|
89
88
|
const {
|
|
90
89
|
setupAgentSession
|
|
91
|
-
} = await Promise.resolve().then(() => _interopRequireWildcard(require(
|
|
90
|
+
} = await Promise.resolve().then(() => _interopRequireWildcard(require(/* webpackChunkName: "session-manager" */'./agent-session')));
|
|
92
91
|
session = setupAgentSession(this.agentIdentifier);
|
|
93
92
|
}
|
|
94
93
|
} catch (e) {
|
|
@@ -109,7 +108,7 @@ class InstrumentBase extends _featureBase.FeatureBase {
|
|
|
109
108
|
}
|
|
110
109
|
const {
|
|
111
110
|
lazyFeatureLoader
|
|
112
|
-
} = await Promise.resolve().then(() => _interopRequireWildcard(require(
|
|
111
|
+
} = await Promise.resolve().then(() => _interopRequireWildcard(require(/* webpackChunkName: "lazy-feature-loader" */'./lazy-feature-loader')));
|
|
113
112
|
const {
|
|
114
113
|
Aggregate
|
|
115
114
|
} = await lazyFeatureLoader(this.featureName, 'aggregate');
|
|
@@ -22,27 +22,27 @@ function lazyFeatureLoader(featureName, featurePart) {
|
|
|
22
22
|
if (featurePart === 'aggregate') {
|
|
23
23
|
switch (featureName) {
|
|
24
24
|
case _features.FEATURE_NAMES.ajax:
|
|
25
|
-
return Promise.resolve().then(() => _interopRequireWildcard(require(
|
|
25
|
+
return Promise.resolve().then(() => _interopRequireWildcard(require(/* webpackChunkName: "ajax-aggregate" */'../ajax/aggregate')));
|
|
26
26
|
case _features.FEATURE_NAMES.jserrors:
|
|
27
|
-
return Promise.resolve().then(() => _interopRequireWildcard(require(
|
|
27
|
+
return Promise.resolve().then(() => _interopRequireWildcard(require(/* webpackChunkName: "jserrors-aggregate" */'../jserrors/aggregate')));
|
|
28
|
+
case _features.FEATURE_NAMES.genericEvents:
|
|
29
|
+
return Promise.resolve().then(() => _interopRequireWildcard(require(/* webpackChunkName: "generic_events-aggregate" */'../generic_events/aggregate')));
|
|
28
30
|
case _features.FEATURE_NAMES.logging:
|
|
29
|
-
return Promise.resolve().then(() => _interopRequireWildcard(require(
|
|
31
|
+
return Promise.resolve().then(() => _interopRequireWildcard(require(/* webpackChunkName: "logging-aggregate" */'../logging/aggregate')));
|
|
30
32
|
case _features.FEATURE_NAMES.metrics:
|
|
31
|
-
return Promise.resolve().then(() => _interopRequireWildcard(require(
|
|
32
|
-
case _features.FEATURE_NAMES.pageAction:
|
|
33
|
-
return Promise.resolve().then(() => _interopRequireWildcard(require( /* webpackChunkName: "page_action-aggregate" */'../page_action/aggregate')));
|
|
33
|
+
return Promise.resolve().then(() => _interopRequireWildcard(require(/* webpackChunkName: "metrics-aggregate" */'../metrics/aggregate')));
|
|
34
34
|
case _features.FEATURE_NAMES.pageViewEvent:
|
|
35
|
-
return Promise.resolve().then(() => _interopRequireWildcard(require(
|
|
35
|
+
return Promise.resolve().then(() => _interopRequireWildcard(require(/* webpackChunkName: "page_view_event-aggregate" */'../page_view_event/aggregate')));
|
|
36
36
|
case _features.FEATURE_NAMES.pageViewTiming:
|
|
37
|
-
return Promise.resolve().then(() => _interopRequireWildcard(require(
|
|
37
|
+
return Promise.resolve().then(() => _interopRequireWildcard(require(/* webpackChunkName: "page_view_timing-aggregate" */'../page_view_timing/aggregate')));
|
|
38
38
|
case _features.FEATURE_NAMES.sessionReplay:
|
|
39
|
-
return Promise.resolve().then(() => _interopRequireWildcard(require(
|
|
39
|
+
return Promise.resolve().then(() => _interopRequireWildcard(require(/* webpackChunkName: "session_replay-aggregate" */'../session_replay/aggregate')));
|
|
40
40
|
case _features.FEATURE_NAMES.sessionTrace:
|
|
41
|
-
return Promise.resolve().then(() => _interopRequireWildcard(require(
|
|
41
|
+
return Promise.resolve().then(() => _interopRequireWildcard(require(/* webpackChunkName: "session_trace-aggregate" */'../session_trace/aggregate')));
|
|
42
42
|
case _features.FEATURE_NAMES.spa:
|
|
43
|
-
return Promise.resolve().then(() => _interopRequireWildcard(require(
|
|
43
|
+
return Promise.resolve().then(() => _interopRequireWildcard(require(/* webpackChunkName: "spa-aggregate" */'../spa/aggregate')));
|
|
44
44
|
case _features.FEATURE_NAMES.softNav:
|
|
45
|
-
return Promise.resolve().then(() => _interopRequireWildcard(require(
|
|
45
|
+
return Promise.resolve().then(() => _interopRequireWildcard(require(/* webpackChunkName: "basic-spa-aggregate" */'../soft_navigations/aggregate')));
|
|
46
46
|
default:
|
|
47
47
|
throw new Error("Attempted to load unsupported agent feature: ".concat(featureName, " ").concat(featurePart));
|
|
48
48
|
}
|
|
@@ -7,9 +7,7 @@ exports.debugNR1 = debugNR1;
|
|
|
7
7
|
var _nreum = require("../../common/window/nreum");
|
|
8
8
|
const debugId = 1;
|
|
9
9
|
const newrelic = (0, _nreum.gosCDN)();
|
|
10
|
-
function debugNR1(agentIdentifier, location, event) {
|
|
11
|
-
let otherprops = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
12
|
-
let debugName = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 'SR';
|
|
10
|
+
function debugNR1(agentIdentifier, location, event, otherprops = {}, debugName = 'SR') {
|
|
13
11
|
const api = agentIdentifier ? newrelic.initializedAgents[agentIdentifier].api.addPageAction : newrelic.addPageAction;
|
|
14
12
|
let url;
|
|
15
13
|
try {
|
package/dist/cjs/index.js
CHANGED
|
@@ -21,12 +21,24 @@ Object.defineProperty(exports, "BrowserAgent", {
|
|
|
21
21
|
return _browserAgent.BrowserAgent;
|
|
22
22
|
}
|
|
23
23
|
});
|
|
24
|
+
Object.defineProperty(exports, "GenericEvents", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function () {
|
|
27
|
+
return _generic_events.GenericEvents;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
24
30
|
Object.defineProperty(exports, "JSErrors", {
|
|
25
31
|
enumerable: true,
|
|
26
32
|
get: function () {
|
|
27
33
|
return _jserrors.JSErrors;
|
|
28
34
|
}
|
|
29
35
|
});
|
|
36
|
+
Object.defineProperty(exports, "Logging", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function () {
|
|
39
|
+
return _logging.Logging;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
30
42
|
Object.defineProperty(exports, "Metrics", {
|
|
31
43
|
enumerable: true,
|
|
32
44
|
get: function () {
|
|
@@ -57,6 +69,12 @@ Object.defineProperty(exports, "PageViewTiming", {
|
|
|
57
69
|
return _page_view_timing.PageViewTiming;
|
|
58
70
|
}
|
|
59
71
|
});
|
|
72
|
+
Object.defineProperty(exports, "SessionReplay", {
|
|
73
|
+
enumerable: true,
|
|
74
|
+
get: function () {
|
|
75
|
+
return _session_replay.SessionReplay;
|
|
76
|
+
}
|
|
77
|
+
});
|
|
60
78
|
Object.defineProperty(exports, "SessionTrace", {
|
|
61
79
|
enumerable: true,
|
|
62
80
|
get: function () {
|
|
@@ -74,9 +92,12 @@ var _browserAgent = require("./loaders/browser-agent");
|
|
|
74
92
|
var _microAgent = require("./loaders/micro-agent");
|
|
75
93
|
var _ajax = require("./features/ajax");
|
|
76
94
|
var _jserrors = require("./features/jserrors");
|
|
95
|
+
var _generic_events = require("./features/generic_events");
|
|
96
|
+
var _logging = require("./features/logging");
|
|
77
97
|
var _metrics = require("./features/metrics");
|
|
78
98
|
var _page_action = require("./features/page_action");
|
|
79
99
|
var _page_view_event = require("./features/page_view_event");
|
|
80
100
|
var _page_view_timing = require("./features/page_view_timing");
|
|
81
101
|
var _session_trace = require("./features/session_trace");
|
|
102
|
+
var _session_replay = require("./features/session_replay");
|
|
82
103
|
var _spa = require("./features/spa");
|
|
@@ -7,7 +7,6 @@ exports.AgentBase = void 0;
|
|
|
7
7
|
var _console = require("../common/util/console");
|
|
8
8
|
var _constants = require("../features/session_replay/constants");
|
|
9
9
|
var _uniqueId = require("../common/ids/unique-id");
|
|
10
|
-
var _contextualEe = require("../common/event-emitter/contextual-ee");
|
|
11
10
|
/* eslint-disable n/handle-callback-err */
|
|
12
11
|
|
|
13
12
|
/**
|
|
@@ -16,12 +15,8 @@ var _contextualEe = require("../common/event-emitter/contextual-ee");
|
|
|
16
15
|
|
|
17
16
|
class AgentBase {
|
|
18
17
|
agentIdentifier;
|
|
19
|
-
constructor() {
|
|
20
|
-
let agentIdentifier = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : (0, _uniqueId.generateRandomHexString)(16);
|
|
18
|
+
constructor(agentIdentifier = (0, _uniqueId.generateRandomHexString)(16)) {
|
|
21
19
|
this.agentIdentifier = agentIdentifier;
|
|
22
|
-
|
|
23
|
-
// Assign the observation context to the event emitter, so it knows how to create observation contexts
|
|
24
|
-
this.ee = _contextualEe.ee.get(agentIdentifier);
|
|
25
20
|
}
|
|
26
21
|
|
|
27
22
|
/**
|
|
@@ -29,10 +24,7 @@ class AgentBase {
|
|
|
29
24
|
* @param {string} methodName
|
|
30
25
|
* @param {...any} args
|
|
31
26
|
*/
|
|
32
|
-
#callMethod(methodName) {
|
|
33
|
-
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
34
|
-
args[_key - 1] = arguments[_key];
|
|
35
|
-
}
|
|
27
|
+
#callMethod(methodName, ...args) {
|
|
36
28
|
if (typeof this.api?.[methodName] !== 'function') (0, _console.warn)(35, methodName);else return this.api[methodName](...args);
|
|
37
29
|
}
|
|
38
30
|
|
|
@@ -191,12 +183,12 @@ class AgentBase {
|
|
|
191
183
|
|
|
192
184
|
/**
|
|
193
185
|
* Capture a single log.
|
|
194
|
-
* {@link https://docs.newrelic.com/docs/browser/new-relic-browser/browser-apis/
|
|
186
|
+
* {@link https://docs.newrelic.com/docs/browser/new-relic-browser/browser-apis/log/}
|
|
195
187
|
* @param {string} message String to be captured as log message
|
|
196
188
|
* @param {{customAttributes?: object, level?: 'ERROR'|'TRACE'|'DEBUG'|'INFO'|'WARN'}} [options] customAttributes defaults to `{}` if not assigned, level defaults to `info` if not assigned.
|
|
197
189
|
*/
|
|
198
190
|
log(message, options) {
|
|
199
|
-
return this.#callMethod('
|
|
191
|
+
return this.#callMethod('log', message, options);
|
|
200
192
|
}
|
|
201
193
|
|
|
202
194
|
/**
|
|
@@ -76,8 +76,13 @@ class Agent extends _agentBase.AgentBase {
|
|
|
76
76
|
if (this.runSoftNavOverSpa && InstrumentCtor.featureName === _features.FEATURE_NAMES.spa) return;
|
|
77
77
|
if (!this.runSoftNavOverSpa && InstrumentCtor.featureName === _features.FEATURE_NAMES.softNav) return;
|
|
78
78
|
const dependencies = (0, _featureDependencies.getFeatureDependencyNames)(InstrumentCtor.featureName);
|
|
79
|
-
const
|
|
80
|
-
if (
|
|
79
|
+
const missingDependencies = dependencies.filter(featName => !(featName in this.features)); // any other feature(s) this depends on should've been initialized on prior iterations by priority order
|
|
80
|
+
if (missingDependencies.length > 0) {
|
|
81
|
+
(0, _console.warn)(36, {
|
|
82
|
+
targetFeature: InstrumentCtor.featureName,
|
|
83
|
+
missingDependencies
|
|
84
|
+
});
|
|
85
|
+
}
|
|
81
86
|
this.features[InstrumentCtor.featureName] = new InstrumentCtor(this.agentIdentifier, this.sharedAggregator);
|
|
82
87
|
});
|
|
83
88
|
} catch (err) {
|
|
@@ -6,12 +6,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.setAPI = setAPI;
|
|
7
7
|
exports.setTopLevelCallers = setTopLevelCallers;
|
|
8
8
|
var _features = require("../features/features");
|
|
9
|
-
var
|
|
9
|
+
var _info = require("../../common/config/info");
|
|
10
|
+
var _runtime = require("../../common/config/runtime");
|
|
10
11
|
var _handle = require("../../common/event-emitter/handle");
|
|
11
12
|
var _contextualEe = require("../../common/event-emitter/contextual-ee");
|
|
12
13
|
var _drain = require("../../common/drain/drain");
|
|
13
14
|
var _load = require("../../common/window/load");
|
|
14
|
-
var
|
|
15
|
+
var _runtime2 = require("../../common/constants/runtime");
|
|
15
16
|
var _console = require("../../common/util/console");
|
|
16
17
|
var _constants = require("../../features/metrics/constants");
|
|
17
18
|
var _nreum = require("../../common/window/nreum");
|
|
@@ -30,17 +31,9 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
30
31
|
function setTopLevelCallers() {
|
|
31
32
|
const nr = (0, _nreum.gosCDN)();
|
|
32
33
|
_apiMethods.apiMethods.forEach(f => {
|
|
33
|
-
nr[f] =
|
|
34
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
35
|
-
args[_key] = arguments[_key];
|
|
36
|
-
}
|
|
37
|
-
return caller(f, ...args);
|
|
38
|
-
};
|
|
34
|
+
nr[f] = (...args) => caller(f, ...args);
|
|
39
35
|
});
|
|
40
|
-
function caller(fnName) {
|
|
41
|
-
for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
|
42
|
-
args[_key2 - 1] = arguments[_key2];
|
|
43
|
-
}
|
|
36
|
+
function caller(fnName, ...args) {
|
|
44
37
|
let returnVals = [];
|
|
45
38
|
Object.values(nr.initializedAgents).forEach(val => {
|
|
46
39
|
if (!val || !val.api) {
|
|
@@ -53,8 +46,7 @@ function setTopLevelCallers() {
|
|
|
53
46
|
}
|
|
54
47
|
}
|
|
55
48
|
const replayRunning = {};
|
|
56
|
-
function setAPI(agentIdentifier, forceDrain) {
|
|
57
|
-
let runSoftNavOverSpa = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
49
|
+
function setAPI(agentIdentifier, forceDrain, runSoftNavOverSpa = false) {
|
|
58
50
|
if (!forceDrain) (0, _drain.registerDrain)(agentIdentifier, 'api');
|
|
59
51
|
const apiInterface = {};
|
|
60
52
|
var instanceEE = _contextualEe.ee.get(agentIdentifier);
|
|
@@ -65,19 +57,17 @@ function setAPI(agentIdentifier, forceDrain) {
|
|
|
65
57
|
});
|
|
66
58
|
var prefix = 'api-';
|
|
67
59
|
var spaPrefix = prefix + 'ixn-';
|
|
68
|
-
apiInterface.log = function (message
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
} = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
60
|
+
apiInterface.log = function (message, {
|
|
61
|
+
customAttributes = {},
|
|
62
|
+
level = _constants4.LOG_LEVELS.INFO
|
|
63
|
+
} = {}) {
|
|
73
64
|
(0, _handle.handle)(_constants.SUPPORTABILITY_METRIC_CHANNEL, ['API/log/called'], undefined, _features.FEATURE_NAMES.metrics, instanceEE);
|
|
74
65
|
(0, _utils.bufferLog)(instanceEE, message, customAttributes, level);
|
|
75
66
|
};
|
|
76
|
-
apiInterface.wrapLogger =
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
} = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
67
|
+
apiInterface.wrapLogger = (parent, functionName, {
|
|
68
|
+
customAttributes = {},
|
|
69
|
+
level = _constants4.LOG_LEVELS.INFO
|
|
70
|
+
} = {}) => {
|
|
81
71
|
(0, _handle.handle)(_constants.SUPPORTABILITY_METRIC_CHANNEL, ['API/wrapLogger/called'], undefined, _features.FEATURE_NAMES.metrics, instanceEE);
|
|
82
72
|
(0, _wrapLogger.wrapLogger)(instanceEE, parent, functionName, {
|
|
83
73
|
customAttributes,
|
|
@@ -89,11 +79,11 @@ function setAPI(agentIdentifier, forceDrain) {
|
|
|
89
79
|
_apiMethods.asyncApiMethods.forEach(fnName => {
|
|
90
80
|
apiInterface[fnName] = apiCall(prefix, fnName, true, 'api');
|
|
91
81
|
});
|
|
92
|
-
apiInterface.addPageAction = apiCall(prefix, 'addPageAction', true, _features.FEATURE_NAMES.
|
|
82
|
+
apiInterface.addPageAction = apiCall(prefix, 'addPageAction', true, _features.FEATURE_NAMES.genericEvents);
|
|
93
83
|
apiInterface.setPageViewName = function (name, host) {
|
|
94
84
|
if (typeof name !== 'string') return;
|
|
95
85
|
if (name.charAt(0) !== '/') name = '/' + name;
|
|
96
|
-
(0,
|
|
86
|
+
(0, _runtime.getRuntime)(agentIdentifier).customTransaction = (host || 'http://custom.transaction') + name;
|
|
97
87
|
return apiCall(prefix, 'setPageViewName', true)();
|
|
98
88
|
};
|
|
99
89
|
|
|
@@ -106,11 +96,11 @@ function setAPI(agentIdentifier, forceDrain) {
|
|
|
106
96
|
* @returns @see apiCall
|
|
107
97
|
*/
|
|
108
98
|
function appendJsAttribute(key, value, apiName, addToBrowserStorage) {
|
|
109
|
-
const currentInfo = (0,
|
|
99
|
+
const currentInfo = (0, _info.getInfo)(agentIdentifier);
|
|
110
100
|
if (value === null) {
|
|
111
101
|
delete currentInfo.jsAttributes[key];
|
|
112
102
|
} else {
|
|
113
|
-
(0,
|
|
103
|
+
(0, _info.setInfo)(agentIdentifier, {
|
|
114
104
|
...currentInfo,
|
|
115
105
|
jsAttributes: {
|
|
116
106
|
...currentInfo.jsAttributes,
|
|
@@ -120,8 +110,7 @@ function setAPI(agentIdentifier, forceDrain) {
|
|
|
120
110
|
}
|
|
121
111
|
return apiCall(prefix, apiName, true, !!addToBrowserStorage || value === null ? 'session' : undefined)(key, value);
|
|
122
112
|
}
|
|
123
|
-
apiInterface.setCustomAttribute = function (name, value) {
|
|
124
|
-
let persistAttribute = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
113
|
+
apiInterface.setCustomAttribute = function (name, value, persistAttribute = false) {
|
|
125
114
|
if (typeof name !== 'string') {
|
|
126
115
|
(0, _console.warn)(39, typeof name);
|
|
127
116
|
return;
|
|
@@ -220,14 +209,13 @@ function setAPI(agentIdentifier, forceDrain) {
|
|
|
220
209
|
};
|
|
221
210
|
|
|
222
211
|
// theres no window.load event on non-browser scopes, lazy load immediately
|
|
223
|
-
if (!
|
|
212
|
+
if (!_runtime2.isBrowserScope) lazyLoad();
|
|
224
213
|
// try to stay out of the way of the window.load event, lazy load once that has finished.
|
|
225
214
|
else (0, _load.onWindowLoad)(() => lazyLoad(), true);
|
|
226
215
|
function lazyLoad() {
|
|
227
|
-
Promise.resolve().then(() => _interopRequireWildcard(require(
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
} = _ref;
|
|
216
|
+
Promise.resolve().then(() => _interopRequireWildcard(require(/* webpackChunkName: "async-api" */'./apiAsync'))).then(({
|
|
217
|
+
setAPI
|
|
218
|
+
}) => {
|
|
231
219
|
setAPI(agentIdentifier);
|
|
232
220
|
(0, _drain.drain)(agentIdentifier, 'api');
|
|
233
221
|
}).catch(err => {
|
|
@@ -5,13 +5,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.setAPI = setAPI;
|
|
7
7
|
var _features = require("../features/features");
|
|
8
|
-
var
|
|
8
|
+
var _runtime = require("../../common/config/runtime");
|
|
9
9
|
var _contextualEe = require("../../common/event-emitter/contextual-ee");
|
|
10
10
|
var _handle = require("../../common/event-emitter/handle");
|
|
11
11
|
var _registerHandler = require("../../common/event-emitter/register-handler");
|
|
12
12
|
var _invoke = require("../../common/util/invoke");
|
|
13
13
|
var _constants = require("../../features/metrics/constants");
|
|
14
|
-
var
|
|
14
|
+
var _runtime2 = require("../../common/constants/runtime");
|
|
15
15
|
function setAPI(agentIdentifier) {
|
|
16
16
|
var instanceEE = _contextualEe.ee.get(agentIdentifier);
|
|
17
17
|
var api = {
|
|
@@ -22,43 +22,40 @@ function setAPI(agentIdentifier) {
|
|
|
22
22
|
};
|
|
23
23
|
|
|
24
24
|
// Hook all of the api functions up to the queues/stubs created in loader/api.js
|
|
25
|
-
Object.entries(api).forEach(
|
|
26
|
-
let [fnName, fnCall] = _ref;
|
|
27
|
-
return (0, _registerHandler.registerHandler)('api-' + fnName, fnCall, 'api', instanceEE);
|
|
28
|
-
});
|
|
25
|
+
Object.entries(api).forEach(([fnName, fnCall]) => (0, _registerHandler.registerHandler)('api-' + fnName, fnCall, 'api', instanceEE));
|
|
29
26
|
|
|
30
27
|
// All API functions get passed the time they were called as their
|
|
31
28
|
// first parameter. These functions can be called asynchronously.
|
|
32
29
|
|
|
33
30
|
function finished(t, providedTime) {
|
|
34
|
-
var time = providedTime ? providedTime -
|
|
31
|
+
var time = providedTime ? providedTime - _runtime2.originTime : t;
|
|
35
32
|
(0, _handle.handle)(_constants.CUSTOM_METRIC_CHANNEL, ['finished', {
|
|
36
33
|
time
|
|
37
34
|
}], undefined, _features.FEATURE_NAMES.metrics, instanceEE);
|
|
38
35
|
addToTrace(t, {
|
|
39
36
|
name: 'finished',
|
|
40
|
-
start: time +
|
|
37
|
+
start: time + _runtime2.originTime,
|
|
41
38
|
origin: 'nr'
|
|
42
39
|
});
|
|
43
|
-
(0, _handle.handle)('api-addPageAction', [time, 'finished'], undefined, _features.FEATURE_NAMES.
|
|
40
|
+
(0, _handle.handle)('api-addPageAction', [time, 'finished'], undefined, _features.FEATURE_NAMES.genericEvents, instanceEE);
|
|
44
41
|
}
|
|
45
42
|
function addToTrace(t, evt) {
|
|
46
43
|
if (!(evt && typeof evt === 'object' && evt.name && evt.start)) return;
|
|
47
44
|
var report = {
|
|
48
45
|
n: evt.name,
|
|
49
|
-
s: evt.start -
|
|
50
|
-
e: (evt.end || evt.start) -
|
|
46
|
+
s: evt.start - _runtime2.originTime,
|
|
47
|
+
e: (evt.end || evt.start) - _runtime2.originTime,
|
|
51
48
|
o: evt.origin || '',
|
|
52
49
|
t: 'api'
|
|
53
50
|
};
|
|
54
51
|
(0, _handle.handle)('bstApi', [report], undefined, _features.FEATURE_NAMES.sessionTrace, instanceEE);
|
|
55
52
|
}
|
|
56
53
|
function setErrorHandler(t, handler) {
|
|
57
|
-
(0,
|
|
54
|
+
(0, _runtime.getRuntime)(agentIdentifier).onerror = handler;
|
|
58
55
|
}
|
|
59
56
|
var releaseCount = 0;
|
|
60
57
|
function addRelease(t, name, id) {
|
|
61
58
|
if (++releaseCount > 10) return;
|
|
62
|
-
(0,
|
|
59
|
+
(0, _runtime.getRuntime)(agentIdentifier).releaseIds[name.slice(-200)] = ('' + id).slice(-200);
|
|
63
60
|
}
|
|
64
61
|
}
|
|
@@ -12,8 +12,9 @@ var _instrument4 = require("../features/jserrors/instrument");
|
|
|
12
12
|
var _instrument5 = require("../features/ajax/instrument");
|
|
13
13
|
var _instrument6 = require("../features/session_trace/instrument");
|
|
14
14
|
var _instrument7 = require("../features/spa/instrument");
|
|
15
|
-
var _instrument8 = require("../features/
|
|
16
|
-
var _instrument9 = require("../features/
|
|
15
|
+
var _instrument8 = require("../features/session_replay/instrument");
|
|
16
|
+
var _instrument9 = require("../features/generic_events/instrument");
|
|
17
|
+
var _instrument10 = require("../features/logging/instrument");
|
|
17
18
|
/**
|
|
18
19
|
* An agent class with all feature modules available. Features may be disabled and enabled via runtime configuration.
|
|
19
20
|
* The BrowserAgent class is the most convenient and reliable option for most use cases.
|
|
@@ -22,7 +23,7 @@ class BrowserAgent extends _agent.Agent {
|
|
|
22
23
|
constructor(args) {
|
|
23
24
|
super({
|
|
24
25
|
...args,
|
|
25
|
-
features: [_instrument5.Instrument, _instrument.Instrument, _instrument2.Instrument, _instrument6.Instrument, _instrument3.Instrument,
|
|
26
|
+
features: [_instrument5.Instrument, _instrument.Instrument, _instrument2.Instrument, _instrument6.Instrument, _instrument3.Instrument, _instrument4.Instrument, _instrument7.Instrument, _instrument8.Instrument, _instrument9.Instrument, _instrument10.Instrument],
|
|
26
27
|
loaderType: 'browser-agent'
|
|
27
28
|
});
|
|
28
29
|
}
|
|
@@ -6,29 +6,29 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.configure = configure;
|
|
7
7
|
var _api = require("../api/api");
|
|
8
8
|
var _nreum = require("../../common/window/nreum");
|
|
9
|
-
var
|
|
9
|
+
var _info = require("../../common/config/info");
|
|
10
|
+
var _init = require("../../common/config/init");
|
|
11
|
+
var _loaderConfig = require("../../common/config/loader-config");
|
|
12
|
+
var _runtime = require("../../common/config/runtime");
|
|
10
13
|
var _featureFlags = require("../../common/util/feature-flags");
|
|
11
|
-
var
|
|
14
|
+
var _runtime2 = require("../../common/constants/runtime");
|
|
12
15
|
var _publicPath = require("./public-path");
|
|
16
|
+
var _contextualEe = require("../../common/event-emitter/contextual-ee");
|
|
13
17
|
let alreadySetOnce = false; // the configure() function can run multiple times in agent lifecycle
|
|
14
18
|
|
|
15
19
|
/**
|
|
16
20
|
* Sets or re-sets the agent's configuration values from global settings. This also attach those as properties to the agent instance.
|
|
17
21
|
*/
|
|
18
|
-
function configure(agent) {
|
|
19
|
-
let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
20
|
-
let loaderType = arguments.length > 2 ? arguments[2] : undefined;
|
|
21
|
-
let forceDrain = arguments.length > 3 ? arguments[3] : undefined;
|
|
22
|
+
function configure(agent, opts = {}, loaderType, forceDrain) {
|
|
22
23
|
// eslint-disable-next-line camelcase
|
|
23
24
|
let {
|
|
24
25
|
init,
|
|
25
26
|
info,
|
|
26
27
|
loader_config,
|
|
27
|
-
runtime = {
|
|
28
|
-
loaderType
|
|
29
|
-
},
|
|
28
|
+
runtime = {},
|
|
30
29
|
exposed = true
|
|
31
30
|
} = opts;
|
|
31
|
+
runtime.loaderType = loaderType;
|
|
32
32
|
const nr = (0, _nreum.gosCDN)();
|
|
33
33
|
if (!info) {
|
|
34
34
|
init = nr.init;
|
|
@@ -36,16 +36,16 @@ function configure(agent) {
|
|
|
36
36
|
// eslint-disable-next-line camelcase
|
|
37
37
|
loader_config = nr.loader_config;
|
|
38
38
|
}
|
|
39
|
-
(0,
|
|
39
|
+
(0, _init.setConfiguration)(agent.agentIdentifier, init || {});
|
|
40
40
|
// eslint-disable-next-line camelcase
|
|
41
|
-
(0,
|
|
41
|
+
(0, _loaderConfig.setLoaderConfig)(agent.agentIdentifier, loader_config || {});
|
|
42
42
|
info.jsAttributes ??= {};
|
|
43
|
-
if (
|
|
43
|
+
if (_runtime2.isWorkerScope) {
|
|
44
44
|
// add a default attr to all worker payloads
|
|
45
45
|
info.jsAttributes.isWorker = true;
|
|
46
46
|
}
|
|
47
|
-
(0,
|
|
48
|
-
const updatedInit = (0,
|
|
47
|
+
(0, _info.setInfo)(agent.agentIdentifier, info);
|
|
48
|
+
const updatedInit = (0, _init.getConfiguration)(agent.agentIdentifier);
|
|
49
49
|
const internalTrafficList = [info.beacon, info.errorBeacon];
|
|
50
50
|
if (!alreadySetOnce) {
|
|
51
51
|
if (updatedInit.proxy.assets) {
|
|
@@ -61,7 +61,8 @@ function configure(agent) {
|
|
|
61
61
|
}
|
|
62
62
|
runtime.denyList = [...(updatedInit.ajax.deny_list || []), ...(updatedInit.ajax.block_internal ? internalTrafficList : [])];
|
|
63
63
|
runtime.ptid = agent.agentIdentifier;
|
|
64
|
-
(0,
|
|
64
|
+
(0, _runtime.setRuntime)(agent.agentIdentifier, runtime);
|
|
65
|
+
agent.ee = _contextualEe.ee.get(agent.agentIdentifier);
|
|
65
66
|
if (agent.api === undefined) agent.api = (0, _api.setAPI)(agent.agentIdentifier, forceDrain, agent.runSoftNavOverSpa);
|
|
66
67
|
if (agent.exposed === undefined) agent.exposed = exposed;
|
|
67
68
|
alreadySetOnce = true;
|
|
@@ -5,10 +5,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.getEnabledFeatures = getEnabledFeatures;
|
|
7
7
|
var _features = require("./features");
|
|
8
|
-
var
|
|
8
|
+
var _init = require("../../common/config/init");
|
|
9
9
|
const featureNames = Object.values(_features.FEATURE_NAMES);
|
|
10
10
|
function isEnabled(name, agentIdentifier) {
|
|
11
|
-
return (0,
|
|
11
|
+
return (0, _init.getConfigurationValue)(agentIdentifier, "".concat(name, ".enabled")) === true;
|
|
12
12
|
}
|
|
13
13
|
function getEnabledFeatures(agentIdentifier) {
|
|
14
14
|
const enabledFeatures = {};
|
|
@@ -6,9 +6,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.featurePriority = exports.FEATURE_NAMES = void 0;
|
|
7
7
|
const FEATURE_NAMES = exports.FEATURE_NAMES = {
|
|
8
8
|
ajax: 'ajax',
|
|
9
|
+
genericEvents: 'generic_events',
|
|
9
10
|
jserrors: 'jserrors',
|
|
10
11
|
logging: 'logging',
|
|
11
12
|
metrics: 'metrics',
|
|
13
|
+
/**
|
|
14
|
+
* @deprecated This feature has been replaced by Generic Events. Use/Import `GenericEvents` instead. This wrapper will be removed in a future release
|
|
15
|
+
*/
|
|
12
16
|
pageAction: 'page_action',
|
|
13
17
|
pageViewEvent: 'page_view_event',
|
|
14
18
|
pageViewTiming: 'page_view_timing',
|
|
@@ -30,8 +34,8 @@ const featurePriority = exports.featurePriority = {
|
|
|
30
34
|
[FEATURE_NAMES.spa]: 5,
|
|
31
35
|
[FEATURE_NAMES.ajax]: 6,
|
|
32
36
|
[FEATURE_NAMES.sessionTrace]: 7,
|
|
33
|
-
[FEATURE_NAMES.
|
|
34
|
-
[FEATURE_NAMES.
|
|
35
|
-
[FEATURE_NAMES.
|
|
36
|
-
[FEATURE_NAMES.
|
|
37
|
+
[FEATURE_NAMES.softNav]: 8,
|
|
38
|
+
[FEATURE_NAMES.sessionReplay]: 9,
|
|
39
|
+
[FEATURE_NAMES.logging]: 10,
|
|
40
|
+
[FEATURE_NAMES.genericEvents]: 11
|
|
37
41
|
};
|
|
@@ -9,7 +9,10 @@ var _enabledFeatures = require("./features/enabled-features");
|
|
|
9
9
|
var _configure = require("./configure/configure");
|
|
10
10
|
var _aggregator = require("../common/aggregate/aggregator");
|
|
11
11
|
var _nreum = require("../common/window/nreum");
|
|
12
|
-
var
|
|
12
|
+
var _info = require("../common/config/info");
|
|
13
|
+
var _init = require("../common/config/init");
|
|
14
|
+
var _loaderConfig = require("../common/config/loader-config");
|
|
15
|
+
var _runtime = require("../common/config/runtime");
|
|
13
16
|
var _features = require("./features/features");
|
|
14
17
|
var _console = require("../common/util/console");
|
|
15
18
|
var _load = require("../common/window/load");
|
|
@@ -17,7 +20,7 @@ var _agentBase = require("./agent-base");
|
|
|
17
20
|
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
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; } // loader files
|
|
19
22
|
// core files
|
|
20
|
-
const nonAutoFeatures = [_features.FEATURE_NAMES.jserrors, _features.FEATURE_NAMES.
|
|
23
|
+
const nonAutoFeatures = [_features.FEATURE_NAMES.jserrors, _features.FEATURE_NAMES.genericEvents, _features.FEATURE_NAMES.metrics];
|
|
21
24
|
|
|
22
25
|
/**
|
|
23
26
|
* A minimal agent class designed to only respond to manual user input. As such, this class does not
|
|
@@ -50,14 +53,14 @@ class MicroAgent extends _agentBase.AgentBase {
|
|
|
50
53
|
* @param {string|string[]|undefined} name The feature name(s) to start. If no name(s) are passed, all features will be started
|
|
51
54
|
*/
|
|
52
55
|
this.start = features => this.run(features);
|
|
53
|
-
this.run(nonAutoFeatures.filter(featureName => (0,
|
|
56
|
+
this.run(nonAutoFeatures.filter(featureName => (0, _init.getConfigurationValue)(this.agentIdentifier, "".concat(featureName, ".autoStart"))));
|
|
54
57
|
}
|
|
55
58
|
get config() {
|
|
56
59
|
return {
|
|
57
|
-
info: (0,
|
|
58
|
-
init: (0,
|
|
59
|
-
loader_config: (0,
|
|
60
|
-
runtime: (0,
|
|
60
|
+
info: (0, _info.getInfo)(this.agentIdentifier),
|
|
61
|
+
init: (0, _init.getConfiguration)(this.agentIdentifier),
|
|
62
|
+
loader_config: (0, _loaderConfig.getLoaderConfig)(this.agentIdentifier),
|
|
63
|
+
runtime: (0, _runtime.getRuntime)(this.agentIdentifier)
|
|
61
64
|
};
|
|
62
65
|
}
|
|
63
66
|
run(features) {
|
|
@@ -83,15 +86,13 @@ class MicroAgent extends _agentBase.AgentBase {
|
|
|
83
86
|
// these features do not import an "instrument" file, meaning they are only hooked up to the API.
|
|
84
87
|
nonAutoFeatures.forEach(f => {
|
|
85
88
|
if (enabledFeatures[f] && features.includes(f)) {
|
|
86
|
-
Promise.resolve().then(() => _interopRequireWildcard(require(
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
} = _ref;
|
|
89
|
+
Promise.resolve().then(() => _interopRequireWildcard(require(/* webpackChunkName: "lazy-feature-loader" */'../features/utils/lazy-feature-loader'))).then(({
|
|
90
|
+
lazyFeatureLoader
|
|
91
|
+
}) => {
|
|
90
92
|
return lazyFeatureLoader(f, 'aggregate');
|
|
91
|
-
}).then(
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
} = _ref2;
|
|
93
|
+
}).then(({
|
|
94
|
+
Aggregate
|
|
95
|
+
}) => {
|
|
95
96
|
this.features[f] = new Aggregate(this.agentIdentifier, this.sharedAggregator);
|
|
96
97
|
}).catch(err => (0, _console.warn)(25, err));
|
|
97
98
|
}
|