- From: James Simonsen <simonjam@google.com>
- Date: Wed, 2 Oct 2013 11:36:14 -0700
- To: Jatinder Mann <jmann@microsoft.com>
- Cc: James Robinson <jamesr@google.com>, "public-web-perf@w3.org" <public-web-perf@w3.org>
- Message-ID: <CAPVJQik4c3ku6Sxp5V+_H1OSn4M4t472xDZxjwRpt3qgs5NgXw@mail.gmail.com>
I think we'd just add a new field named creationTime to the SharedWorker interface. It'd be defined as the difference between the shared worker's initial construction time and navigationStart. I can put something in the spec if this sounds ok. James On Wed, Oct 2, 2013 at 11:31 AM, Jatinder Mann <jmann@microsoft.com> wrote: > This sounds like a good idea. How do you propose we expose this data in > the parent page? Especially interested in the scenario where the parent > page is communicating with multiple shared workers.**** > > ** ** > > Jatinder**** > > ** ** > > *From:* James Simonsen [mailto:simonjam@google.com] > *Sent:* Monday, September 16, 2013 4:50 PM > *To:* James Robinson > *Cc:* Jatinder Mann; public-web-perf@w3.org > > *Subject:* Re: [HighResTime] Web Worker support**** > > ** ** > > That works for me.**** > > ** ** > > We should probably call out that it could be negative if the shared worker > was started before this instance of the page loaded.**** > > ** ** > > James**** > > ** ** > > On Mon, Sep 16, 2013 at 4:45 PM, James Robinson <jamesr@google.com> wrote: > **** > > If the use case is to correlate window.performance.now() times within a > worker to that in a parent page, why not expose the worker creation time in > the parent page's epoch to the parent? This would be the difference in > epochs between the parent and worker page's window.performance.now() times. > The parent could postMessage() this to a child or to other pages if it > liked.**** > > ** ** > > - James**** > > ** ** > > On Mon, Sep 16, 2013 at 4:34 PM, Jatinder Mann <jmann@microsoft.com> > wrote:**** > > To avoid the privacy issue, seems like we may need to go with a new > epoch. However, wouldn’t using a new epoch still suffer from the issue of > the clock being adjusted while the application is running?**** > > **** > > I don’t have any concerns with using January 01 2013 as a new epoch > (better than the suggestion to use someone’s birthday ;) **** > > **** > > *From:* James Simonsen [mailto:simonjam@google.com] > *Sent:* Monday, September 16, 2013 12:02 PM > *To:* public-web-perf@w3.org**** > > > *Subject:* Re: [HighResTime] Web Worker support**** > > **** > > So is the best solution to just pick a new epoch that's relatively recent? > Like 1/1/2013?**** > > **** > > James**** > > **** > > On Wed, Sep 11, 2013 at 6:37 PM, James Robinson <jamesr@google.com> wrote: > **** > > On Wed, Sep 11, 2013 at 11:45 AM, Jatinder Mann <jmann@microsoft.com> > wrote:**** > > **** > > Adding originTime to the performance.now(), gives you a time value that is > comparable in either context. This assumes that we have enough bits in a > double to describe time since Jan 01 1970 in milliseconds in microsecond > resolution.**** > > **** > > There have been a bit more than 2^40s microseconds since the unix epoch. > A double has 53 bits of mantissa so I think we're safe for a while. A > problem here is that the unix epoch is not at a fixed point relative to the > monotonic clock. Remember that the monotonic clock is monotonic is > monotonic in terms of itself. The computer that the application is running > on may have its clock adjusted forwards or backwards while the app is > running and in practice this happens surprisingly frequently. This does > not impact the monotonic clock, but it does change the delta to the unix > epoch. That's why window.performance.now() *has* to use a timebase > different from the unix epoch. What do you propose we do in this case?*** > * > > **** > > **** > > Alternatively, we can define the origin for originTime to be the launch of > the browser.**** > > **** > > **** > > Defining the time to be relative to launch of browser allows identifying > that browser session across multiple sites and visits by comparing the time > to Date.now(). That'd be a really bad idea.**** > > **** > > - James **** > > **** > > ** ** > > ** ** >
Received on Wednesday, 2 October 2013 18:36:41 UTC