IRC log of webperf on 2017-09-25
Timestamps are in UTC.
- 16:52:36 [RRSAgent]
- RRSAgent has joined #webperf
- 16:52:36 [RRSAgent]
- logging to http://www.w3.org/2017/09/25-webperf-irc
- 16:52:49 [Zakim]
- Zakim has joined #webperf
- 16:56:34 [igrigorik]
- agenda: https://docs.google.com/document/d/10dz_7QM5XCNsGeI63R864lF9gFqlqQD37B4q8Q46LMM/edit#heading=h.kplnsudwiv74
- 17:05:51 [yoav]
- igrigorik: let's start with Server Timing
- 17:06:14 [yoav]
- cvazac: We attempted to ship, then TAG review happened
- 17:06:52 [yoav]
- cvazac: they brought up concerns about future extensibility, units and other use cases to enable full fledged server side tracing framework
- 17:07:21 [yoav]
- cvazac: so made a proposal to make all parameters other than "name" named, so we can add more parameters in the future
- 17:07:29 [igrigorik]
- proposal: Server-Timing: name=foo; start=100; duration=0
- 17:07:47 [igrigorik]
- doh, sorry.. Server-Timing: foo; start=100; duration=0
- 17:08:06 [yoav]
- cvazac: we want to use existing art to parse these headers. This looks very much like the Link header parsing, so we can reuse most of that code
- 17:08:27 [yoav]
- igrigorik: so we agreed on not naming the "name", right?
- 17:08:37 [yoav]
- cvazac: all for skipping "name="
- 17:09:15 [yoav]
- igrigorik: it gives us an option to extend the format in the future, which is a good thing. How would it impact consumers, e.g. Chrome dev tools?
- 17:11:09 [yoav]
- cvazac: we can change that. They are not very worried.
- 17:11:56 [yoav]
- yoav: We previously talked to the devtools and talked about supporting both syntaxes for a while
- 17:12:16 [yoav]
- igrigorik: then let's do the spec and impl changes and get Paul Irish to review
- 17:12:31 [yoav]
- igrigorik: so, user timing
- 17:13:23 [yoav]
- igrigorik: we added a capability to reference named marks, never updated to cover NT2, and we throw exceptions in various non-consistent cases
- 17:13:37 [yoav]
- igrigorik: maybe we can just drop this whole thing?
- 17:14:28 [yoav]
- igrigorik: a bunch of shipping implementations, not necessarily consistent. Can we drop it? If we do, what are we missing?
- 17:14:59 [yoav]
- todd: are we sure that we don't need that?
- 17:15:26 [yoav]
- todd: we need telemetry on usage before discussing dropping it
- 17:16:02 [yoav]
- igrigorik: what are the alternatives? It only works with NT1?
- 17:16:44 [yoav]
- todd: The implementations work with part of NT2, we need to fix the spec
- 17:17:29 [yoav]
- igrigorik: for NT3 when we'd support redirects, it'll get very messy
- 17:17:58 [yoav]
- todd: We really need real usage metrics before discussing dropping it
- 17:18:13 [yoav]
- igrigorik: if it's used in 0.1% what would that give us?
- 17:18:34 [yoav]
- philip: Can we freeze the future to what's currently supported?
- 17:19:07 [yoav]
- philip: If a used is using a marked name, it limits the strings we can use in the future
- 17:20:26 [yoav]
- yoav: maybe a namespace for future entries?
- 17:20:46 [yoav]
- igrigorik: We have a proposed model for referencing entries directly
- 17:21:15 [yoav]
- nolanlawson: We can pass in the entry directly instead of strings that proxy them
- 17:21:59 [yoav]
- igrigorik: are there 2 components? one is "mark" and the other is NT? How would you pass in NT entries?
- 17:23:09 [yoav]
- todd: strings model is a key-value pair
- 17:23:46 [yoav]
- igrigorik: we should support passing NT entries, not sure how to support that use case
- 17:24:05 [yoav]
- nolanlawson: so we need to support passing in arbitrary timestamps
- 17:24:28 [yoav]
- todd: the name you're passing in is just a pointer.
- 17:24:54 [yoav]
- todd: so we can pass in timestamp and name as a replacement to the string model if we can get everyone to convert
- 17:25:35 [yoav]
- philip: discussion from TTI definition where you don't know how TTI happened until it's passed
- 17:25:49 [yoav]
- philip: so there's a use case for creating a user timing entry in the past
- 17:26:38 [yoav]
- igrigorik: a few updates a) current exception behavior - we need to gather metrics and try to kill it
- 17:27:02 [yoav]
- if there's usage - lock in the current strings and freeze it
- 17:27:27 [yoav]
- in L3 we can try to return an entry object from mark and measure, supporting timestamps and events
- 17:27:37 [yoav]
- todd: makes sense and probably a simple edition
- 17:27:44 [yoav]
- s/edition/addition/
- 17:28:04 [yoav]
- igrigorik: nolan, would you guys be interested in driving that work?
- 17:28:08 [yoav]
- nolanlawson: sure
- 17:28:33 [yoav]
- igrigorik: custom perf entries kinda plays in the same space
- 17:28:40 [yoav]
- maybe we need to merge concepts
- 17:28:54 [yoav]
- philip: worthwhile to think about both at the same time
- 17:29:16 [yoav]
- igrigorik: maybe implement user timing using custom entries
- 17:29:46 [yoav]
- nolanlawson: is chrome already exposing custom metrics in dev tools?
- 17:30:01 [yoav]
- philip: experimental implementation in the UI but not in JS
- 17:30:29 [yoav]
- igrigorik: PerfObserver
- 17:31:23 [yoav]
- igrigorik: interesting incidents a few weeks ago, large sites shipped PO code and hit problems with the exception behavior
- 17:31:43 [yoav]
- longtasks PO was raising exceptions and it wasn't guarded for
- 17:32:18 [yoav]
- joepack suggested to drop exceptions entirely
- 17:32:39 [yoav]
- todd: example with the problems in being a late implementor
- 17:33:58 [yoav]
- yoav: what's the feature detection story other than exceptions?
- 17:34:23 [yoav]
- igrigorik: maybe calling observe can return the list of things that are observed?
- 17:34:37 [yoav]
- todd: that may add a cost for feature detection
- 17:35:40 [yoav]
- cvazac: There should be a single way to feature detect
- 17:36:07 [yoav]
- igrigorik: so rough consensus to drop the exceptions. Maybe we can add console warnings
- 17:37:01 [yoav]
- igrigorik: how do we feature detect? Joe did not want an "isSupported" type of API
- 17:37:23 [yoav]
- todd: specific interfaces checked exist on window, but not in PO
- 17:38:58 [yoav]
- igrigorik: we previously talked about `supports` for both PO and TL. Does it make sense to expose several things?
- 17:40:31 [yoav]
- todd: Firefox are rolling back PO because of PO feature detection
- 17:41:02 [yoav]
- igrigorik: so remove exceptions, and create a direct array of supported types that PO supports
- 17:41:47 [yoav]
- plh: should I make a PR to remove the exceptions and the test?
- 17:41:56 [yoav]
- igrigorik: yes, plz!
- 17:42:10 [yoav]
- cvazac: what about the console warning?
- 17:42:21 [yoav]
- igrigorik: maybe add a note saying UA can do that
- 17:42:40 [yoav]
- igrigorik: is Dale around for time origin discussion?
- 17:43:55 [NicJ]
- NicJ has joined #webperf
- 17:43:56 [igrigorik]
- https://github.com/w3c/web-platform-tests/pull/6241#issuecomment-331347123
- 17:44:52 [yoav]
- Dale: this comes down to the wording that defines the time origin
- 17:45:22 [yoav]
- diagram shows 2 potential points for time origin
- 17:45:35 [yoav]
- the 1 implemented is not great
- 17:46:39 [yoav]
- if you measure from an onload event, implementations use the origin of the previous document
- 17:46:57 [yoav]
- s/onload/onunload/
- 17:47:39 [yoav]
- todd: in unload we have 2 time origins
- 17:49:50 [yoav]
- todd: so the spec is ambiguous regarding what time origin should unload use
- 17:50:05 [yoav]
- Dale: easier to test the implemented behavior than the spec behavior
- 17:50:26 [yoav]
- if the spec is corrected to match current behavior, it's testable
- 17:50:45 [yoav]
- cannot test the negative case, so can't measure you're not measuring using the wrong time origin
- 17:51:36 [yoav]
- todd: so Dale will get in a more complex test and PR to update the spec
- 17:51:59 [yoav]
- igrigorik: Any updates on beacon tests?
- 17:52:17 [yoav]
- todd: no
- 17:52:39 [yoav]
- igrigorik: RequestIdleCallback - any updates?
- 17:52:54 [yoav]
- plh: got it dropped off my list. Will take care of it
- 17:53:43 [yoav]
- igrigorik: preload CR and discussion of a TAG review
- 17:54:05 [yoav]
- siusin: we should send a review request today and wait 2 weeks
- 17:54:26 [yoav]
- s/siusin/xiaoqian/
- 17:56:22 [xiaoqian]
- xiaoqian has joined #webperf
- 17:56:59 [yoav]
- yoav: let's coordinate reviews over email
- 17:57:25 [yoav]
- igrigorik: October 9th for next meeting due to Akamai Edge
- 18:02:38 [n8s_]
- n8s_ has joined #webperf
- 18:05:37 [xiaoqian_]
- xiaoqian_ has joined #webperf
- 18:05:53 [xiaoqian_]
- RRSAgent, make minutes
- 18:05:53 [RRSAgent]
- I have made the request to generate http://www.w3.org/2017/09/25-webperf-minutes.html xiaoqian_
- 18:06:18 [xiaoqian_]
- present+ igrigorik, yoav, nolanlawson, NicJ, plh, xiaoqian, cvazac, philip, dale, Josh, todd
- 18:06:21 [xiaoqian_]
- chair: igrigorik
- 18:06:24 [xiaoqian_]
- scribe: yoav
- 18:06:32 [xiaoqian_]
- RRSAgent, make minutes
- 18:06:32 [RRSAgent]
- I have made the request to generate http://www.w3.org/2017/09/25-webperf-minutes.html xiaoqian_
- 18:06:39 [xiaoqian_]
- RRSAgent, make log public
- 18:31:08 [philipwalton]
- philipwalton has joined #webperf
- 20:45:36 [Zakim]
- Zakim has left #webperf
- 21:48:19 [yoav]
- yoav has joined #webperf