Proposal: add initial proposal for browser observability model events#6
Conversation
joaquin-diaz
left a comment
There was a problem hiding this comment.
Should we include sessions in this document as well? By lifecycle, do we mean only lifecycle of an HTML document/page, or all the things that happen while the user is using a browser app?
@martinkuba, @BenoitZugmeyer I manually copied all the comments from the other PR so I can answer here, sorry for the mess!
|
|
||
| ### Load Phase | ||
|
|
||
| **Starts at navigation start → Ends at Largest Contentful Paint (LCP)** |
There was a problem hiding this comment.
suggestion: I would avoid using the LCP as a structuring part of the model:
- it's not supported in all browsers (ex: Safari)
- It implies that we actually wait for a user interaction before going to the next phase, since LCP entries are notified until a user interaction happens (the Core Web Vital LCP is the time until the latest LCP). This could be problematic on pages that don't have user interactions (ex: a page opened in background).
- LCP can happen before the page actually finishes to load (before the load event), so correlating to the "Load" phase could be confusing.
There was a problem hiding this comment.
Yeah, probably best to keep it simple for now. I still believe that LCP is important for page load but we can have that conversation later
|
|
||
| ### User Interaction Phase | ||
|
|
||
| **Starts after LCP → Ends when the page begins unloading** |
There was a problem hiding this comment.
suggestion: some events listed in this phase could also belong to the Loading phase, ex: logs, errors... (I'd say also 'user interaction', as a user can interact with a loading page, but it depends on how we determine when the "load" phase ends)
There was a problem hiding this comment.
I tried to organize the model in phases thinking that it would be easier to have a clear distinction on what's going on but now I see that it probably generates more confusion than clarity. I'll go back to just having a list of events
|
|
||
| ### Load Phase | ||
|
|
||
| **Starts at navigation start → Ends at Largest Contentful Paint (LCP)** |
|
|
||
| ### User Interaction Phase | ||
|
|
||
| **Starts after LCP → Ends when the page begins unloading** |
|
This PR is related to issue #7 |
martinkuba
left a comment
There was a problem hiding this comment.
This looks good to me to merge. We can continue to revise it if needed later on.
c3a8546 to
0e1d9fd
Compare
… derivated events and keep events that can be mapped to browser events
Co-authored-by: Benoît <bzugmeyer@gmail.com>
Co-authored-by: Benoît <bzugmeyer@gmail.com>
…_timing, rename browser.visibility_changed to browser.page.visibility_state
0e1d9fd to
9c568ab
Compare
Proposal: Browser Lifecycle Events
Adds a conceptual model for browser lifecycle events, organized into Load, User Interaction, and Unload phases. Includes an event list with purpose, frequency, and status for both semantic conventions and instrumentation.
Goal
Standardize browser telemetry interpretation and guide instrumentation authors.