Closed Bug 1505858 Opened 11 months ago Closed 11 months ago

Record full paint time before waiting for composite in telemetry (CONTENT_FULL_PAINT_TIME)

Categories

(Core :: Graphics: WebRender, enhancement, P2)

enhancement

Tracking

()

RESOLVED FIXED
mozilla65
Tracking Status
firefox65 --- fixed

People

(Reporter: jrmuizel, Assigned: jrmuizel)

References

(Blocks 2 open bugs)

Details

Attachments

(4 files)

We currently have CONTENT_PAINT_TIME which just includes main thread time. For teasing apart CONTENT_FRAME_TIME it would be pretty useful to have a metric that includes all of the time before wainting for the composite/render.

With non-WR this would include CONTENT_PAINT_TIME + OMTP_TIME + (maybe time to arrive at compositor)
With WR this would be CONTENT_PAINT_TIME + SCENE_BUILDING_TIME
Assignee: nobody → jmuizelaar
Priority: -- → P2
Making both record the marker at the point we reach the compositor makes sense, since that's where the vsync message gets sent, and we drop a frame if the vsync gets there first.

Note that non-WR can do sometimes substantial amounts of work here (deserializing the layers update, maybe uploads), but we want to record the time before that work (since that work blocks the vsync message from arriving).
This seems to work but I wasn't able to see much time being spent in OMTP so I'm not positive.
I took a different approach to exposing RenderStats in the patch on bug 1499251. I'd say it's cleaner but more invasive. Thoughts?
(In reply to Jeff Muizelaar [:jrmuizel] from comment #5)
> I took a different approach to exposing RenderStats in the patch on bug
> 1499251. I'd say it's cleaner but more invasive. Thoughts?

Wrong bug.
Attached file request.md
Attachment #9025247 - Flags: review?(chutten)
Comment on attachment 9025247 [details]
request.md

Preliminary note:

  For permanent collections it is often a good idea to have an automated test ensuring that data continues to be collected correctly. This reduces the chance of future code changes ruining a collection that might not be looked at as often as one that expires and is renewed.

DATA COLLECTION REVIEW RESPONSE:

    Is there or will there be documentation that describes the schema for the ultimate data set available publicly, complete and accurate? 

Yes. Standard Telemetry mechanisms apply.

    Is there a control mechanism that allows the user to turn the data collection on and off?

Yes. Standard Telemetry mechanisms apply.


    If the request is for permanent data collection, is there someone who will monitor the data over time?

Yes, Jeff Muizelaar.

    Using the category system of data types on the Mozilla wiki, what collection type of data do the requested measurements fall under? **

Category 1, Technical.

    Is the data collection request for default-on or default-off?

Default on, all channels.

    Does the instrumentation include the addition of any new identifiers (whether anonymous or otherwise; e.g., username, random IDs, etc. See the appendix for more details)?

No.

    Is the data collection covered by the existing Firefox privacy notice? 

Yes.

    Does there need to be a check-in in the future to determine whether to renew the data?

No. Permanent collection.

---
Result: datareview+
Attachment #9025247 - Flags: review?(chutten) → review+
Pushed by jmuizelaar@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/17d1440b76b1
Record full paint time before waiting for composite in telemetry. r=mattwoodrow
There were also bustages "Unified_cpp_gfx_layers11.i_o] Error 1"
Log link: https://treeherder.mozilla.org/logviewer.html#?job_id=212092664&repo=autoland&lineNumber=20168
Blocks: 1481950
Pushed by jmuizelaar@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/236208271581
Record full paint time before waiting for composite in telemetry. r=mattwoodrow
https://hg.mozilla.org/mozilla-central/rev/236208271581
Status: NEW → RESOLVED
Closed: 11 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla65
Flags: needinfo?(jmuizelaar)
Summary: Record full paint time before waiting for composite in telemetry → Record full paint time before waiting for composite in telemetry (CONTENT_FULL_PAINT_TIME)
No longer depends on: 1544039
Regressions: 1544039
You need to log in before you can comment on or make changes to this bug.