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