Comments (6)
@gilbertococchi 's been asking for this too.
IMHO not until it lands in stable Chrome without being behind a flag. We don't want people to depend on implementations that might change. In same way we're not landing soft navs in main
branch until then. We could look at another draft PR and test branch for LoAF support too, but that's more to manage so would rather keep long-lived test branches to a max of 1 at a time.
from web-vitals.
I say that because I have seen INP reporting 2 times and the second one had a delta lower than the first.
I don't understand why this happens
The value
is bigger for the third one. The delta
is how much bigger it is to the previously reported highest INP.
In this case, the reported INPs were 8, 88, and 96. The delta was therefore 8, 80 (80-8), and 8 (96-88).
So this looks like it is working as intended. But let's farm off to a separate issue if you have more questions on this.
Anyway, back to LoAF discussion...
from web-vitals.
We could look at another draft PR and test branch for LoAF support too
That'd be my preference. Best to give the community something to work with to encourage early adoption, like you mentioned for soft navs. The added maintenance overhead doesn't seem like a huge burden.
If it doesn't work out, maybe someone would be willing to maintain it in a fork.
from web-vitals.
We also need to figure out what we'd use it for. Presumably you want to link it up to the INP interaction (which is non-trivial at the moment) and then feed back the attribution in analytics?
But I don't want to make assumptions here, so looking for people to document how they would see it being used in web-vitals.js.
from web-vitals.
I think I would expect the INPAttribution interface to have loafEntries
which would be an array of all loaf entries related the current INP based on the timings like what we see on whynp.js.
The only thing that is a bit blurry to me right now is how I would handle these LoAF entries in case INP is reported more than once.
I say that because I have seen INP reporting 2 times and the second one had a delta lower than the first.
I don't understand why this happens (and would really appreciate some clarification haha but I know this issue is not a place to discuss that) but in this case I think I would need to do some logic to store the loafEntries
for the largest INP entry because I'm trying to report the longest script's origin related to INP.
Not sure if it helps but here are all the fields I'm reporting to my analytics
interface LoafInp {
'loaf-inp-longest-script-name'?: string;
'loaf-inp-longest-script-origin'?: string;
'loaf-inp-longest-script-location'?: string;
'loaf-inp-longest-script-duration'?: number;
'loaf-inp-longest-script-execution-start'?: number;
'loaf-inp-blocking-duration': number;
'loaf-inp-trashing-duration': number;
'loaf-inp-render-duration': number;
'loaf-inp-longest-script-origin-all'?: string;
'loaf-inp-longest-script-count': number;
}
from web-vitals.
Resolved with #442 and will be included in v4. In future we may iterate further on this to pull out the most relevant data from LoAFs if common patterns emerge that would benefit this.
from web-vitals.
Related Issues (20)
- Capturing metadata with events HOT 2
- Allow to reset the INP calculation HOT 2
- v4 giving undefined TypeError HOT 1
- INP: Probably a bad measurement metric for web vitals - even with simple HTML structure pages with no CSS will cause bad value. HOT 1
- Expose INP target element as first class citizen in attribution HOT 3
- Expose ability to reset internal state of metrics (specifically INP) HOT 2
- v4 INP attribution ending processingEnd time in the wrong animation frame HOT 8
- CDN JS - Web server is returning an unknown error HOT 4
- CLS and INP are being calculated incorrectly HOT 2
- Suggestion to track all attributions HOT 4
- CLS being reported due to filter CSS transition HOT 3
- Firefox e2e tests flakey HOT 3
- can't find ReportCallback or ReportHandler type HOT 3
- Are there any updates for soft-navs? HOT 2
- LoAF missed for some INP events HOT 9
- Facing issue while exporting `web-vitals/attribution` using `browserify` HOT 2
- LoAF Performance entry script sourceFunctionName and sourceURL logged values HOT 4
- Using `performance.eventCounts` instead of `performance.interactionCount` HOT 2
- Heads Up on Changes to INP Measurement When Interfered with JS Modal Dialogs HOT 9
- TypeError: Cannot read properties of undefined (reading 'processingEnd') HOT 13
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from web-vitals.