Skip to content
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

Performance Observer Review (formerly Navigation Timing 2 concepts) #18

Closed
domenic opened this issue Jan 24, 2014 · 22 comments
Closed

Performance Observer Review (formerly Navigation Timing 2 concepts) #18

domenic opened this issue Jan 24, 2014 · 22 comments
Assignees

Comments

@domenic
Copy link
Member

domenic commented Jan 24, 2014

https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/NavigationTiming2/Overview.html

At first glance getEntriesByType seems ... weird.

@mnot mnot self-assigned this Sep 30, 2014
@mnot
Copy link
Member

mnot commented Sep 30, 2014

Discussed at London F2F; @mnot to find out status and report back; if it's still alive, we have work to do.

@mnot mnot added this to the TPAC 2014 milestone Sep 30, 2014
@mnot
Copy link
Member

mnot commented Oct 6, 2014

N.B. Newer spec in TR - http://www.w3.org/TR/navigation-timing-2/

@mnot
Copy link
Member

mnot commented Oct 7, 2014

It's still alive, but not getting a lot of current attention; there are some pending updates that probably won't make it in before TPAC, but they're apparently about the algorithm, not the API, so we could review for TPAC (where they're meeting).

@mnot mnot removed their assignment Oct 7, 2014
@domenic
Copy link
Member Author

domenic commented Oct 7, 2014

N.B. Newer spec in TR

Mind blown

@mnot
Copy link
Member

mnot commented Oct 7, 2014

Where's the damn like button? Stupid Facebook changing their UX again...

@mnot
Copy link
Member

mnot commented Jan 8, 2015

Discussed in NYC; alex to review.

@mnot mnot removed this from the TPAC 2014 milestone Apr 23, 2015
@torgo
Copy link
Member

torgo commented Jul 16, 2015

Question: does the group want our feedback? We need to reach out and schedule a discussion with them on a future telcon.

@torgo torgo added this to the tag-telcon-2015-08-05 milestone Jul 16, 2015
@slightlyoff
Copy link
Member

/cc @igrigorik

@igrigorik
Copy link

@torgo re, feedback: yes. FWIW, we're doing a lot of shuffling and spec cleanup work at the moment, so (a) make sure you're looking at the latest draft, and (b) check the open issues as we have a bunch of work in flight.

@torgo
Copy link
Member

torgo commented Aug 5, 2015

Discussed on call 5-Aug – we want to be involved when they need us but we need to be able to respond to a concrete request for feedback. Issue to be reassigned to Boston f2f.

@torgo
Copy link
Member

torgo commented Sep 16, 2015

Picked up in Boston.

@torgo
Copy link
Member

torgo commented Sep 16, 2015

@slightlyoff : "strange that it's not possible to query the navigation timing api with reference to a resource."

@dbaron
Copy link
Member

dbaron commented Sep 16, 2015

Editor's draft is now at https://w3c.github.io/navigation-timing/

@torgo
Copy link
Member

torgo commented Sep 16, 2015

@slightlyoff to write up some comments in advance of a joint discussion. We could discuss with @igrigorik at TPAC or beforehand if it can be arranged.

@slightlyoff
Copy link
Member

Per the TPAC discussion, I need to update the draft review to also discuss the Performance Observer API designs that are coming down the pike.

@mnot mnot removed this from the tag-telcon-2015-10-14 milestone Jan 12, 2016
@travisleithead travisleithead changed the title Navigation Timing 2 Performance Observer Review (formerly Navigation Timing 2 concepts) Jan 12, 2016
@travisleithead
Copy link
Contributor

Need to check-in with current status of Performance Observer spec and implementation progress. Should revisit at next TAG f2f meeting.

@plinss plinss added this to the tag-f2f-2016-03-29 milestone Jan 12, 2016
@igrigorik
Copy link

Can we prioritize this? Are there are any particular questions we can address to resolve this?

@toddreifsteck
Copy link

@igrigorik What subset of performance timeline features have Firefox and Chrome implemented on Performance Observer? (Nav Timing/Resource Timing/User Timing/Frame Timing/Server Timing/other?)

Are all open spec issues from TPAC 2015 on when a Nav Timing is delivered to the Performance Observer resolved?

@igrigorik
Copy link

As far as I can tell, Mozilla's implementation is feature complete (including new getEntries filtering) and integration with all the shipped perf APIs (user, nav, and resource timing).

The implementation in Chrome enables PerfObserver interface and integrates with User + Resource Timing. Nav Timing support is missing because we need to update our NT implementation to v2 -- once that's done the observer support will be there.

@torgo torgo modified the milestones: tag-f2f-london-2016-03-29, tag-f2f-2016-03-29 Mar 29, 2016
@slightlyoff
Copy link
Member

Apologies for the delay in getting back to everyone. Overall Performance Timeline 2 looks good!

A few things stand out:

  • It'd be great for there to be a separate explainer doc that goes into more detail about the problems that NT2 solves and the sample code you might write to use it to address those issues.
  • In section 3, step 3.1, where is new entry allocated?
  • In step 3, are you really meaning to get the list of registered performance observer objects from the global environment? Could it be a more standard data structure like a list or map hidden away using a symbol?
  • The "low priority queue" language is interesting...are there other specs that use similar priority statements that you're aware of?
  • Where is the list of types that you can listen for via a PerformanceObserver listed? E.g., frame seems to relate to Frame Timing, but I'm not sure what's definitive.
  • Can Performance Observers be used to observe page load that may have already happened? How does that work?

Thanks!

@igrigorik
Copy link

Thanks for the review Alex!

It'd be great for there to be a separate explainer doc that goes into more detail about the problems that NT2 solves and the sample code you might write to use it to address those issues.

I assume you meant Perf Timeline 2, not Nav Timing 2.

I think we can address this in the intro section. We already provide a PerfObserver code sample and I think we can just: (a) clarify that this is a v2 feature, (b) explain why it should be a preferred way to access the timeline.

In section 3, step 3.1, where is new entry allocated?

That algorithm defines the steps that are invoked by other specifications when they need to queue a "new entry" - e.g. Frame Timing allocates new entry and invokes the algorithm.

In step 3, are you really meaning to get the list of registered performance observer objects from the global environment? Could it be a more standard data structure like a list or map hidden away using a symbol?

What would that symbol be associated with?

The "low priority queue" language is interesting...are there other specs that use similar priority statements that you're aware of?

I think IntersectionObserver is attempting to do something similar by leveraging requestIdleCallback - open bug to cleanup interop. PerfObserver came about before we had rIC. It might make sense to go back and define PerfObserver to fire via rIC.

Where is the list of types that you can listen for via a PerformanceObserver listed? E.g., frame seems to relate to Frame Timing, but I'm not sure what's definitive.

There is a note in 3.1 that lists all valid entryType values, with links to each spec: https://www.w3.org/TR/performance-timeline-2/#the-performanceentry-interface

Can Performance Observers be used to observe page load that may have already happened? How does that work?

No. If you register an observer after an event has already happened, you won't get a notification for it. If you want to get notifications for resource timing / nav timing entries when the page is loading, you should register the PerfObserver as a first thing in your doc -- e.g. inline the registration snippet in the head of the doc, before any resource declarations.

@torgo
Copy link
Member

torgo commented Jul 20, 2016

Taken up on 20-07-2016. We agreed to close the issue.

@torgo torgo closed this as completed Jul 20, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants