- From: Tony Gentilcore <tonyg@chromium.org>
- Date: Thu, 29 Jul 2010 09:59:05 -0700
- To: Zhiheng Wang <zhihengw@google.com>
- Cc: Anderson Quach <aquach@microsoft.com>, "public-web-perf@w3.org" <public-web-perf@w3.org>
- Message-ID: <AANLkTikgE+e67Q0GOjkwMBUMcCxfvwVhMK=U1ubQsRdL@mail.gmail.com>
On Thu, Jul 29, 2010 at 1:10 AM, Zhiheng Wang <zhihengw@google.com> wrote: > > > On Sun, Jul 25, 2010 at 11:04 AM, Zhiheng Wang <zhihengw@google.com>wrote: > >> Hi, Anderson, >> >> Please see comments inline. >> >> On Fri, Jul 23, 2010 at 3:22 PM, Anderson Quach <aquach@microsoft.com>wrote: >> >>> Zhiheng and Tony, thanks for getting together to update the Web Timing >>> working draft. Here’s some feedback Nic & I have with the July 21st 2010 >>> version [1]. >>> >>> >>> >>> It would be pretty interesting to include markers that relate to >>> document.readyState [2]. This will help site developers further understand >>> what’s happening during the navigation as the page is loading, including >>> states like loading, interactive, and complete. >>> >> Since developers already have convenient access to document.readyState >> right now, including >> it in WebTiming seems to be something redundant. >> > > To clarify, I agree that having these times available in > window.performance.timing provides easier access. Exposing > redundant data just makes me wonder. > > After some homework, I might have to take it back though. The current > spec <http://www.w3.org/TR/html5/dom.html#resource-metadata-management> requires document.readyState > to > offer "loading" and "complete" only, which seem to be what Chrome and FF > are following. > In WebKit, the "interactive" ready state just isn't implemented yet (but it will be). Here's the definition of "interactive": http://dev.w3.org/html5/spec/Overview.html#the-end > IE have additional state values<http://msdn.microsoft.com/en-us/library/ms534359(VS.85).aspx> > . > So here are some thoughts to share: > * unintialized/loading - not much value to WebTiming IMHO. > * interactive - this should be an interesting POI during a page load > * loaded/complete - I am not sure exactly what is the difference in > between. WebTiming already has onloadStart/onloadEnd > so how much added value they have? > > cheers, > Zhiheng > > > > >> >>> >>> The suggested markers are: >>> >>> · domLoading >>> >>> · domInteractive >>> >>> · domContentLoaded >>> >>> · domComplete >>> >>> >>> >>> In section 4.2 of the Web Timing draft [1]: >>> >>> >>> >>> unloadEventEnd is defined as the timestamps which relates to the >>> unloading of the last document. As the marker is named, you may have meant >>> to be defined as the time immediately when the unload event of the previous >>> document is complete. >>> >> unloadEventEnd is meant for the time when the unloading document >> cleanup steps [1] are completed for >> the browsing context of the previous navigation and its descendants >> browsing context. The unload event of the root >> browsing context is fired before these steps. >> >> [1] >> http://www.w3.org/TR/html5/history.html#unloading-document-cleanup-steps >> >> >>> >>> A suggestion, how about complementing unloadEventEnd with >>> unloadEventStart. >>> >> This is something we should have further discussion over. As we discuss, >> exposing both >> Start and End of the unload process reveals some information on the >> previous page's unload >> event handling. Combining with the referrer, it causes some privacy >> concern. >> >> This is a topic of the ongoing security review of the draft here. What >> are the thoughts from others? >> >>> >>> >>> redirectEnd for clarity, the recommendation here is to be more explicit >>> about the time maker for the last redirected navigation. E.g. If the last >>> navigation is a redirection, this attribute must return the number of >>> milliseconds between midnight of January 1, 1970 (UTC) and the time when the >>> last redirected navigation ends. >>> >> Here is the current definition: >> "If the last navigation is a redirection, this attribute must return the >> number of milliseconds between midnight of January 1, 1970 (UTC) and the >> time when the last navigation ends. If the last navigation is not a >> redirect, this attribute must return zero." >> It looks the same to me? >> >> >> >> >>> Within the NavigationInfo interface, to be consistent, the suggestion >>> here is to use the lower case type, rather than the capitalized Type. This >>> may have been a typo. >>> >> Right, I've changed it to navigation.type. >> >> >>> >>> >>> The code sample for NavigationInfo has a few code snippet errors. >>> >>> >>> >>> var t = performance.timing; >>> >>> if (t.timing.navigationEnd > 0) { >>> >>> var page_load_time = t.timing.navigationEnd - t.timing.navigationStart; >>> >>> if (t.navigation.Type == t.navigation.TYPE_LINK) { >>> >>> alert (page_load_time); >>> >>> } >>> >>> >>> >>> Should be: >>> >>> var t = performance.timing; >>> >>> if (t.timing.navigationEnd > 0) { >>> >>> var page_load_time = t.timing.navigationEnd - t.timing.navigationStart; >>> >>> if (performance.navigation.type == performance.navigation.TYPE_NAVIGATE) { >>> >>> alert (page_load_time); >>> >>> } >>> >>> >>> >> >> Thanks for catching this. Fixed. >> >> >> >>> In the code example, you make mention of navigationEnd which is not >>> defined in the document. The feedback here is that, it’s a great complement >>> to navigationStart to denote the logical start and end of the navigation >>> phase. Just thinking about how a site developer would intuitively think >>> about the timeline, having a navigationStart paired with a navigationEnd >>> along with a fetchStart and fetchEnd would help bring clarity to the phases >>> of loading the root document. Where, navigationEnd corresponds with >>> loadEventEnd and fetchEnd with responseEnd. Thoughts? >>> >> In longer term, having two distinct variables referring to the same >> value soundslike a good way >> to get developers confused. :-) Just my $0.02. >> >> thanks, >> Zhiheng >> >> >> >> >>> >>> >>> [1] Web Timing http://dev.w3.org/2006/webapi/WebTiming/ >>> >>> [2] Resource metadata management >>> http://www.w3.org/TR/html5/dom.html#resource-metadata-management >>> >>> >>> >>> Anderson Quach >>> IE Program Manager >>> >>> >>> >>> *From:* public-web-perf-request@w3.org [mailto: >>> public-web-perf-request@w3.org] *On Behalf Of *Tony Gentilcore >>> *Sent:* Thursday, July 15, 2010 5:38 PM >>> *To:* public-web-perf@w3.org >>> *Subject:* Re: [Web Timing] WebKit's planned processing model >>> >>> >>> >>> I made two updates to my description of WebKit's processing model: >>> >>> 1. domainLookupStart, domainLookupEnd, connectStart, and connectEnd are >>> now "backfilled" when they would have previously returned 0. >>> >>> 2. Nic Jansma uncovered a bug. In 3.10.b, redirect-start should be set >>> only if it is currently 0. >>> >>> >>> >>> Here is the live link. Revision history is at the bottom. >>> >>> >>> https://docs.google.com/document/edit?id=1rZQ_XaiEwb4OL62DGHXY1Ktzk7PhgkHTYlzpnZEeYKw >>> >>> On Tue, Jul 13, 2010 at 1:52 PM, Tony Gentilcore <tonyg@chromium.org> >>> wrote: >>> >>> Attached[1] is my plan for the processing model of WebKit's initial >>> window.webkitPerformance implementation. >>> >>> >>> >>> I'm hoping its detailed language will be useful in informing the working >>> draft specification <http://dev.w3.org/2006/webapi/WebTiming/>. I'm also >>> very interested to make sure this lines up with the IE9 and Mozilla >>> implementation plans. All feedback appreciated. >>> >>> >>> >>> Tony >>> >>> >>> >>> [1] HTML exported from Google Docs. Let me know if you'd like me to share >>> the original. >>> >>> >>> >> >> >
Received on Thursday, 29 July 2010 17:00:09 UTC