Page MenuHomePhabricator

Instrument Special:Mute
Closed, ResolvedPublic3 Estimated Story Points

Description

We should log some data about Special:Mute usage. This will be helpful for us to determine how the mute features are used currently and provide a good indicator for whether merging the mute lists is a good idea.

Here are some things that would be good to learn:

  • How often do users land on this page and from where? Email, user pages, echo notifications etc. It will help us see what is the best place for users to find this page.
    • This ask can be answered by using Pageviews API/tool.
  • Of the users who land on this page, what percentage of users actually mute or unmute someone? This will let us see if the page itself needs improvements - is the page intuitive enough for people to know what to do or are we scaring away users?
    • This can be answered if we know the number of people who took any action on the page (mute or unmute - answered below) and subtract that number from the number of pageviews.
  • Of the users who mute a user, which option(s) did they check/uncheck in order to mute/unmute the user? This will be a good way to validate our idea of merging the two mute lists. If people check only one option and not both, then we know there is a real use case of only muting users on one venue but not the other(s).
    • There's two JSON schemas that will achieve what we want here:
Option 1:
User 1EmailMute/Unmute/Status quo
User 1NotificationsMute/Unmute/Status quo
User 2EmailMute/Unmute/Status quo
User 2NotificationsMute/Unmute/Status quo

...

Option 2:
Email beforeEmail afterNotifications beforeNotifications after
Email beforeEmail afterNotifications beforeNotifications after

...

Event Timeline

Niharika triaged this task as Medium priority.Jun 4 2019, 6:02 AM
Niharika created this task.
Niharika renamed this task from [WIP ticket] Instrument Special:Mute to Instrument Special:Mute.Jun 4 2019, 9:56 PM
Niharika updated the task description. (Show Details)
Niharika set the point value for this task to 3.

@Niharika , correct me if I'm wrong, but for option 2 we actually don't need to retain the User ID; The entire row is a picture of what random-user did in the form, so the user id or username itself doesn't matter. Is that right?

For option 1, either User ID or Username or Session ID may be required so we can tell how many of those rows were made during the same interaction within the form.

Is that right?

@Niharika , correct me if I'm wrong, but for option 2 we actually don't need to retain the User ID; The entire row is a picture of what random-user did in the form, so the user id or username itself doesn't matter. Is that right?

For option 1, either User ID or Username or Session ID may be required so we can tell how many of those rows were made during the same interaction within the form.

Is that right?

You're absolutely right. We don't need the identifier in the second option. And yes, for first option, any unique id (1,2,3... is fine too) will work.

Here is the schema for our data capture. Feel free to make changes and I'll fix up the patches
https://meta.wikimedia.org/wiki/Schema:SpecialMuteSubmit

@Niharika I think we might need approval from someone on the analytics team. Do you know who can we ping here?

Change 528272 had a related patch set uploaded (by Dmaza; owner: Dmaza):
[mediawiki/core@master] [WIP] Add instrumentation to Special:Mute

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

Change 528274 had a related patch set uploaded (by Dmaza; owner: Dmaza):
[mediawiki/extensions/WikimediaEvents@master] [WIP] Add instrumentation for Special:Mute

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

@Niharika I think we might need approval from someone on the analytics team. Do you know who can we ping here?

I've added Analytics to the list of projects so they can track this. Not sure what the process is for other teams as I've only done this with the Growth team (where we go through the instrumentation DACI and that includes Analytics review and approval). Might want to ask them on IRC to get clarification and learn if a specific person should be pinged.

We just want to be involved if you want to whitelist data to be kept more than 90 days. Other than that, you don't need any approval from us. We're happy to look over your schema and give advice about how easy data would be to load into, for example, Druid.

@Milimetric @nettrom_WMF correct me if I'm wrong but other than annotating that the schema is active[1] there isn't anything else I need to do to start logging events other than deploying the code[2] that would make use of it, right?

[1] https://meta.wikimedia.org/wiki/Schema_talk:SpecialMuteSubmit
[2] https://gerrit.wikimedia.org/r/c/mediawiki/extensions/WikimediaEvents/+/528274

@dmaza: yes, and keep in mind data is being automatically purged after 90 days.

Change 528272 merged by jenkins-bot:
[mediawiki/core@master] Add instrumentation to Special:Mute

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

Change 528274 merged by jenkins-bot:
[mediawiki/extensions/WikimediaEvents@master] Add instrumentation for Special:Mute

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

dom_walden subscribed.

When I submit the Special:Mute page on beta, on deployment-eventlog05.deployment-prep.eqiad.wmflabs I see the event logged in /srv/log/eventlogging/all-events.log as:

{
  "dt": "2019-08-21T15:27:53Z",
  "event": {
    "emailsAfter": true,
    "emailsBefore": false,
    "notificationsAfter": true,
    "notificationsBefore": false
  },
  "ip": "172.16.4.119",
  "recvFrom": "deployment-cache-text05.deployment-prep.eqiad.wmflabs",
  "revision": 19265572,
  "schema": "SpecialMuteSubmit",
  "seqId": 6204900,
  "userAgent": {
    "browser_family": "Firefox",
    "browser_major": "60",
    "browser_minor": "0",
    "device_family": "Other",
    "is_bot": false,
    "is_mediawiki": false,
    "os_family": "Linux",
    "os_major": null,
    "os_minor": null,
    "wmf_app_version": "-"
  },
  "uuid": "d52b1f9858bf5ff59e00d58f151cee20",
  "webHost": "en.wikipedia.beta.wmflabs.org",
  "wiki": "enwiki"
}

And in the log.SpecialMuteSubmit_19265572 database on the same server as:

iduuiddttimestampuserAgentwebHostwikievent_emailsAfterevent_emailsBeforeevent_notificationsAfterevent_notificationsBefore
1d52b1f9858bf5ff59e00d58f151cee20NULL20190821152753{"wmf_app_version": "-", "os_minor": null, "os_major": null, "is_bot": false, "device_family": "Other", "os_family": "Linux", "browser_minor": "0", "is_mediawiki": false, "browser_major": "60", "browser_family": "Firefox"}en.wikipedia.beta.wmflabs.orgenwiki1010

The "emailsAfter", "emailsBefore", etc. appear to be accurate.

Environment

https://en.wikipedia.beta.wmflabs.org
MediaWiki 1.34.0-alpha (07163a2) 08:16, 22 August 2019