Issue metadata
Sign in to add a comment
|
Begin/End Phase events missing ID
Reported by
rob.schi...@gmail.com,
Sep 14 2016
|
||||||||||||||||||||||
Issue descriptionUserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.103 Safari/537.36 Steps to reproduce the problem: 1. Run chrome - trace to file - disabled-by-default.timeline 2. inspect tracefile look for functionCall events or any event with ph B/ph E 3. What is the expected behavior? Events should have an ID property that can be used for matching begin/end events or events should be complete events with a duration. What went wrong? trace events with ph of B/E have no id parameters. The E record is useless now... impossible to associate the 2 events - BBBEBEEE - no way to figure out what is end for what. Did this work before? Yes Version < 48 maybe? Chrome version: 48.0.2564.103 Channel: n/a OS Version: OS X 10.10.5 Flash Version: Shockwave Flash 22.0 r0 I know this used to be a complete type event with a dur parameter. Webkit code seems to have the id's maybe switching to blink tracing has something to do with it? I see many B/E type events now, most have no way to associate.
,
Sep 14 2016
I believe the tracing functionality is managed by the Perf team. DevTools tracing is for web developers analyzing site performance.
,
Sep 20 2016
,
Sep 28 2016
Hi Rob :)
I couldn't find the explicit events you mentioned but from what
I understand (which isn't that much) most of the time it works like this:
In general for a particular each thread (tid) within the particular
process (pid) duration begin and end events are always perfectly
nested.
For example if you see these events (for a particular pid,tid pair):
BBBEEBEE
You know the nesting structure is like this:
((())())
And so the events are paired like this:
[------]
[--][]
[]
Concretely if you get some events that look like this:
[
{"cat":"r", "pid":1, "tid":1, "ts":100, "ph":"B", ...},
{"cat":"r", "pid":1, "tid":1, "ts":150, "ph":"B", ...},
{"cat":"r", "pid":1, "tid":1, "ts":200, "ph":"E", ...},
{"cat":"r", "pid":1, "tid":2, "ts":300, "ph":"B", ...},
{"cat":"r", "pid":1, "tid":1, "ts":350, "ph":"E", ...},
{"cat":"r", "pid":1, "tid":2, "ts":400, "ph":"E", ...},
]
For pid=1, tid=1 we have the following events:
[
{"cat":"r", "pid":1, "tid":1, "ts":100, "ph":"B", ...},
{"cat":"r", "pid":1, "tid":1, "ts":150, "ph":"B", ...},
{"cat":"r", "pid":1, "tid":1, "ts":200, "ph":"E", ...},
{"cat":"r", "pid":1, "tid":1, "ts":350, "ph":"E", ...},
]
BBEE
(())
[--]
[]
So for pid=1,tid=1 we know that
the B at ts=100 is paired with the E at ts=350 and
the B at ts=150 is paired with the E at ts=200
There are also 'async events', these events have an 'id' field which is used
to distinguish them. The id is *not* unique to a particular pair of B/E events
instead is unique whole bunch of B/E events that have the same perfectly nested
structure as above.
This doc provides a lot more context about the format: https://docs.google.com/document/d/1CvAClvFfyA5R-PhYUmn5OOQtYMH4h6I0nSsKchNAySU
I hope that helps. I'll close this as 'WontFix' for now but comment/reopen if I have missed the point or if it's not clear.
Thanks!
,
Oct 4 2016
Very helpful. Thank you. |
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by ellyjo...@chromium.org
, Sep 14 2016Status: Untriaged (was: Unconfirmed)