Page MenuHomePhabricator

Remove CentralNoticeTiming instrumentation
Closed, ResolvedPublic

Description

This was added in 2018 to help inform the perf survey in case it correlated with negative reports of perceived performance on page views.

Context: https://wikitech.wikimedia.org/wiki/Performance/Essay/Performance_survey_(2019).

The stream was never consumed from Kafka though (we don't use it in navtiming.py, and we don't keep it in Graphite or Prometheus either). This means we're instrumenting in in pageviews via navtiming.js and sending actual beacons to the server, but not using the data.

The beacon is indeed actively being sent by browsers when banners are displayed:
https://grafana.wikimedia.org/d/000000018/eventlogging-schema?orgId=1&var-schema=CentralNoticeTiming

To remove, based on https://codesearch.wmcloud.org/search/?q=CentralNoticeTiming:

  • Remove JS beacon dispatch code in mediawiki/extensions/NavigationTiming.git
  • Remove enabling of the topic in wmf-config, both from ext-EventLogging and ext-EventStreamConfig in operations/mediawiki-config.git.
  • Remove current schema in schemas/event/secondary.git.
  • Remove enablement of the topic for legacy eventlogging and refinery in operations/puppet.git.
  • Remove enablement of long-term sanitized preservation of the topic in analytics/refinery.git.
  • Empty old schema at https://meta.wikimedia.org/wiki/Schema:CentralNoticeTiming.
  • Delete long-term retention Hive table event_sanitized.centralnoticetiming.

Event Timeline

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

[mediawiki/extensions/NavigationTiming@master] Remove sending CentralNoticeTiming.

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

Change 908254 merged by jenkins-bot:

[mediawiki/extensions/NavigationTiming@master] Remove sending CentralNoticeTiming.

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

@Krinkle could you help @BAbiola-WMF get this done by providing some context and guidance, please?

I've added the Codesearch results to the task description. These each affect different systems collectively known as the "Event Platform", run by various teams.

I've placed them in the order I believe is safe to deploy. For example, the first one is instrumentation that creates the events. The second one is server configuration that affects accepting of events from the client. Next is the schemas that first event processor uses for validation.

By default we keep event data for 90 days for privacy and legal reasons. The last two items relate to "sanitizer", which creates a copy of some events that we simplify and in some cases keep for longer. We'll remove that one last.

Having said that, the people who operate each part will perform review and make sure it goes out correctly so don't worry about the order too much. We can prepare patches for all of these together.

Except for the first one, which Peter did, these are config-only repos with no local setup or testing process. CI will lint them, beyond that it is applied directly to production after code review.

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

[operations/mediawiki-config@master] Remove enabling of Central Notice Timing in wmf-config

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

Change 910427 merged by jenkins-bot:

[operations/mediawiki-config@master] Remove enabling of Central Notice Timing in wmf-config

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

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

[schemas/event/secondary@master] CentralNoticeTiming: Remove CentralNoticeTiming schema

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

Change 912852 merged by jenkins-bot:

[schemas/event/secondary@master] CentralNoticeTiming: Remove CentralNoticeTiming schema

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

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

[operations/puppet@production] CentralNoticeTiming: Remove enablement of the topic for legacy eventlogging and refinery

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

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

[analytics/refinery@master] CentralNoticeTiming: remove Central Notice Timing in refinery

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

Change 917855 merged by Milimetric:

[analytics/refinery@master] CentralNoticeTiming: remove Central Notice Timing in refinery

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

Change 915850 merged by Ottomata:

[operations/puppet@production] eventlogging: remove CentralNoticeTiming

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