Page MenuHomePhabricator

Move painttiming metrics to navtiming schema
Closed, ResolvedPublic

Description

Let us move first paint and first contentful paint to the navtiming schema to make things simpler.

  1. Change how we collect the metric in the navigation timing extension https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/extensions/NavigationTiming/+/refs/heads/master - we should collect the metrics at the same time as we get the Navigation Timing data.
  1. Then we need to make sure that the data is stored in the navigation timing schema https://gerrit.wikimedia.org/r/plugins/gitiles/schemas/event/secondary/+/refs/heads/master/jsonschema/analytics/legacy/navigationtiming/ so we need to ad the fields missing there. Also remove reference to the paint timing schema and deprecate it.
  1. Add so we take care of the data when it arrives and send it to Graphite/Prometheus. That happens in navtiming.py: https://gerrit.wikimedia.org/r/plugins/gitiles/performance/navtiming/ - do it in two steps, one we add the functionality to push the data following the schema and follow the same structure as before in Prometheus/Graphite. And then next step when everything is live, we can remove the old push of the data using the Paint Timing API.

Event Timeline

Change 901133 had a related patch set uploaded (by Barakat Ajadi; author: Barakat Ajadi):

[mediawiki/extensions/NavigationTiming@master] PaintTiming: Moving paint timing to navtiming schema

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

Change 901169 had a related patch set uploaded (by Barakat Ajadi; author: Barakat Ajadi):

[schemas/event/secondary@master] PaintTiming: Move painttiming to navtiming schema

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

Change 901587 had a related patch set uploaded (by Barakat Ajadi; author: Barakat Ajadi):

[performance/navtiming@master] PaintTiming: Move painttiming metrics to navtiming schema

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

Change 902079 had a related patch set uploaded (by Barakat Ajadi; author: Barakat Ajadi):

[schemas/event/secondary@master] PaintTiming: Add paint timing metrics to Navigation timing schema

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

Change 901169 abandoned by Barakat Ajadi:

[schemas/event/secondary@master] PaintTiming: Move painttiming to navtiming schema

Reason:

New changes can be found here https://gerrit.wikimedia.org/r/c/schemas/event/secondary/+/902079

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

Change 902079 merged by jenkins-bot:

[schemas/event/secondary@master] PaintTiming: Add paint timing metrics to Navigation timing schema

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

Change 901587 merged by jenkins-bot:

[performance/navtiming@master] PaintTiming: Add handling of painttiming metrics in navtiming schema

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

Change 901133 merged by jenkins-bot:

[mediawiki/extensions/NavigationTiming@master] PaintTiming: Moving paint timing to navtiming schema.

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

Change 907565 had a related patch set uploaded (by Phedenskog; author: Phedenskog):

[performance/navtiming@master] Remove PaintTiming events.

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

Change 908234 had a related patch set uploaded (by Phedenskog; author: Phedenskog):

[operations/alerts@master] perf: PaintTiming metrics is now sent in the navtiming event.

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

Change 908234 merged by jenkins-bot:

[operations/alerts@master] perf: PaintTiming metrics is now sent in the navtiming event.

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

Change 907565 merged by jenkins-bot:

[performance/navtiming@master] Remove PaintTiming events.

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