Page MenuHomePhabricator

Decomission the FirstInputTiming instrument from webperf pipeline
Closed, ResolvedPublic

Description

As per chat today with @Peter, we started collecting this when started to explore CruX data (predating Core Web Vitals) (launch task: T238091: Collect First Input Delay). However this has not been used for anything since then.

  • Remove from processor.
  • Remove from client instrument.
  • Archive schema.
  • Review mentions in docs and dashboards and remove or archive.

Event Timeline

Krinkle created this task.
Krinkle updated the task description. (Show Details)

Using my search utility (https://gerrit.wikimedia.org/g/operations/software/+/refs/heads/master/misc/) to find any dashboard usage:

nobody@fresh-node:/misc
$ node search-grafana-dashboards.js firstinputtiming
Searching for: /[^"')}]*?firstinputtiming[^"')}]*/g
Found 701 dashboards
[…]
Checked 701/701...
Done!

$ node search-grafana-dashboards.js firstinputdelay
Searching for: /[^"')}]*?firstinputdelay[^"')}]*/g
Found 701 dashboards
Checked 30/701...
Checked 60/701...
Checked 90/701...
Checked 120/701...
Checked 150/701...
Checked 180/701...
Matched https://grafana.wikimedia.org/d/9zeb91jWk/first-input-delay (First Input Delay)
[
  'sum(irate(webperf_firstinputdelay_seconds_bucket{group=~\\',
  'histogram_quantile(0.75, sum(rate(webperf_firstinputdelay_seconds_bucket{group=~\\',
  'sum(rate(webperf_firstinputdelay_seconds_count{group=~\\',
  'label_values(webperf_firstinputdelay_seconds_bucket, group',
]
Checked 210/701...
Checked 240/701...
Checked 270/701...
Checked 300/701...
Checked 330/701...
Checked 360/701...
Checked 390/701...
Checked 420/701...
Checked 450/701...
Checked 480/701...
Checked 510/701...
Checked 540/701...
Checked 570/701...
Checked 600/701...
Checked 630/701...
Checked 660/701...
Checked 690/701...
Checked 701/701...
Done!

Neither the graphite nor the promethues metric are displayed anywhere other than the original dashboard: https://grafana.wikimedia.org/d/9zeb91jWk/first-input-delay

Change 859637 had a related patch set uploaded (by Krinkle; author: Krinkle):

[performance/navtiming@master] Remove processing for FirstInputTiming events

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

Change 859637 merged by jenkins-bot:

[performance/navtiming@master] Remove processing for FirstInputTiming events

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

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

[mediawiki/extensions/NavigationTiming@master] Remove FirstInputTiming.

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

I've removed the client code, but I'm not sure how we archive schemas?

Change 860532 merged by jenkins-bot:

[mediawiki/extensions/NavigationTiming@master] Remove FirstInputTiming.

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

I've removed the client code, but I'm not sure how we archive schemas?

It looks like the new schema repo doesn't support the notion of disabled, archived, or deleted schemas. Probably in part to ensure historical replay remains possible since, unlike EventLogging, it doesn't interact with version control or revision IDs, so if an older version isn't in the current version of the repo, I think it gets confused. I've asked Analytics to confirm this just in case.

We can remove schemas from the schema repo, but really only after we are sure all references to it are removed.

For this case, aside from what you've already done, is to remove the stream config entry in InitialiseSettings.php (grep for eventlogging_FirstInputTiming). We can also optionally drop the event.firstinputtiming Hive table.

It isn't strictly necessary to remove the schema from the git repo, but you can after all usages are removed.

Change 879925 had a related patch set uploaded (by Krinkle; author: Krinkle):

[operations/alerts@master] team-perf: Remove firstinputtiming alerts

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

Change 879926 had a related patch set uploaded (by Krinkle; author: Krinkle):

[operations/mediawiki-config@master] Remove unused eventlogging_FirstInputTiming stream

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

Change 726852 had a related patch set uploaded (by Krinkle; author: Peter Hedenskog):

[operations/puppet@production] eventlogging: Remove obsoleted navtiming schemas

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

Change 879925 merged by jenkins-bot:

[operations/alerts@master] team-perf: Remove firstinputtiming alerts

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

Change 879926 merged by jenkins-bot:

[operations/mediawiki-config@master] Remove former EventLogging streams for navtiming

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

Mentioned in SAL (#wikimedia-operations) [2023-02-01T08:17:44Z] <ladsgroup@deploy1002> Started scap: Backport for [[gerrit:879926|Remove former EventLogging streams for navtiming (T281103 T286703 T308621 T323623)]]

Mentioned in SAL (#wikimedia-operations) [2023-02-01T08:19:32Z] <ladsgroup@deploy1002> ladsgroup and krinkle: Backport for [[gerrit:879926|Remove former EventLogging streams for navtiming (T281103 T286703 T308621 T323623)]] synced to the testservers: mwdebug1001.eqiad.wmnet, mwdebug2001.codfw.wmnet, mwdebug2002.codfw.wmnet, mwdebug1002.eqiad.wmnet

Mentioned in SAL (#wikimedia-operations) [2023-02-01T08:27:27Z] <ladsgroup@deploy1002> Finished scap: Backport for [[gerrit:879926|Remove former EventLogging streams for navtiming (T281103 T286703 T308621 T323623)]] (duration: 09m 42s)

Change 726852 merged by Ottomata:

[operations/puppet@production] eventlogging: Remove obsoleted navtiming schemas

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

Krinkle claimed this task.

Change 887425 had a related patch set uploaded (by Krinkle; author: Krinkle):

[schemas/event/secondary@master] Remove elementtiming,firstinputtiming,layoutshift,resourcetiming,rumspeedindex

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

Change 887425 merged by jenkins-bot:

[schemas/event/secondary@master] Remove elementtiming,firstinputtiming,layoutshift,resourcetiming,rumspeedindex

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