Page MenuHomePhabricator

Collect all paint timing metrics into PaintTiming schema
Closed, ResolvedPublic

Description

Recording only late paint timing has demonstrated that paint timing events can happen after loadEventEnd:

https://grafana.wikimedia.org/d/000000018/eventlogging-schema?orgId=1&var-schema=PaintTiming

Therefore, for the sake of correctness and consistency, we should collect all paint timings in the PaintTiming schema, allowing for those events to happen and be collected after the load event.

Event Timeline

Gilles triaged this task as Medium priority.Mar 1 2019, 6:48 AM

In order to maintain our existing dashboards, particularly the breakdown ones, we could have the navtiming collector still write the metrics coming from the new schema to frontend.navtiming2. However, in order for oversampling to be accounted for and not have an oversampling campaign mess with the overall firstPaint metrics, we need to make the PaintTiming schema oversampling-aware.

In fact the same is true if we're going to watch global metrics for CentralNoticeTiming, ServerTiming, etc.

Change 494721 had a related patch set uploaded (by Gilles; owner: Gilles):
[mediawiki/extensions/NavigationTiming@master] Send oversampling context to PaintTiming schema

https://gerrit.wikimedia.org/r/494721

Change 494726 had a related patch set uploaded (by Gilles; owner: Gilles):
[operations/puppet@production] Have coal watch the PaintTiming schema

https://gerrit.wikimedia.org/r/494726

Change 494730 had a related patch set uploaded (by Gilles; owner: Gilles):
[performance/coal@master] Workaround for PaintTiming not holding single metric

https://gerrit.wikimedia.org/r/494730

Change 494740 had a related patch set uploaded (by Gilles; owner: Gilles):
[performance/navtiming@master] Handle PaintTiming events

https://gerrit.wikimedia.org/r/494740

Change 494721 merged by jenkins-bot:
[mediawiki/extensions/NavigationTiming@master] Send oversampling context to PaintTiming schema

https://gerrit.wikimedia.org/r/494721

Change 494740 merged by jenkins-bot:
[performance/navtiming@master] Handle PaintTiming events

https://gerrit.wikimedia.org/r/494740

Change 494730 merged by jenkins-bot:
[performance/coal@master] Workaround for PaintTiming not holding single metric

https://gerrit.wikimedia.org/r/494730

Change 494726 merged by Effie Mouzeli:
[operations/puppet@production] Have coal watch the PaintTiming schema

https://gerrit.wikimedia.org/r/494726

All changes have been deployed. The next phase will be moving current firstPaint recordings from the NavigationTiming schema to the PaintTiming one. And it should all magically go to the right place with dashboard unchanged.

Change 495839 had a related patch set uploaded (by Gilles; owner: Gilles):
[mediawiki/extensions/NavigationTiming@master] Move all Paint Timing event collection to Schema:PaintTiming

https://gerrit.wikimedia.org/r/495839

Change 495839 merged by jenkins-bot:
[mediawiki/extensions/NavigationTiming@master] Move all Paint Timing event collection to Schema:PaintTiming

https://gerrit.wikimedia.org/r/495839