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