-
Notifications
You must be signed in to change notification settings - Fork 44
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Soft Navigations trial #808
Conversation
Any plans to pull only either the old or the new implementation into the browser? Currently, both are part of the spa build. Hence the significant increase in size. |
It is not possible in our current deployment mechanics. Our plans are to eventually remove the old SPA feature completely which will reduce the bundle size. In the mean time, the NPM package allows customers to build their own customized agent with the features they care about. |
Introducing a lighter and simplified version of the existing spa feature that tracks soft navigations. This new feature still sends
BrowserInteraction
events, but the duration and finishing of those interactions have been redefined. As a replacement, it ought to reduce complexity and integration issues around the existing spa and exhibit better and faster performance.Overview
Soft navigations feature is disabled unless the
soft-nav
feature flag is passed into theinit
configuration, in which case soft nav will replace the old spa on the page. This feature captures "interactions" based on the following sequences in exact chronological order:click
,keydown
, orsubmit
event on the page occursa. an interaction can also be started through the
newrelic.interaction()
apiMutationObserver
No ensuing single or chained callbacks, network requests, async timers, etc. are tracked, and they do not affect the length of the interaction, unlike the old spa method. The
createTracer
spa api will have no effect on soft nav, though the other spa apis remain the same.Related Issue(s)
Building on #626
Angler: https://source.datanerd.us/agents/angler/pull/529
Testing
Jest & wdio tests for feature added based on this google doc