Page MenuHomePhabricator

Create a dedicated page for stats
Open, MediumPublic

Description

Lately we've been boosting profiling and stats recording, and we have more and more info to display somewhere. We already have average execution time and number of conditions, both for single filters and globally, and we're going to add them to the main table (T87862). We'd also like to expand such tracking by adding max runtime and conditions (T90754), and we're also planning to move slow filters profiling on-wiki (T179604). This is a huge amount of data to be stretched where we have free space, and it would be nice to have a dedicated page to list every detailed stats, leaving the basic ones in main pages.
I wrote a simple scratch with only the frame, since it needs other profiling bugs to be solved first. This is my idea of implementation

  • Use the same frame of Special:AbuseFilter (AbuseFilterViewList)
  • Only show active and non deleted filters (no stats otherwise)
  • In the filter form, only keep the search field (no global filters; we may add action-filtering if it gets implemented in ViewList)
  • Only display the following table headers: ID, description, consequences, visibility and group, plus the profiling ones (yet to be well defined)

And maybe add a column for slowish runs, like the one for hit count in ViewList, but only listing those actions which took too much to execute a specific filter (which doesn't have to be triggered). Such list would also be useful to be available globally, but we need the right place to put it in.
While we wait for dependencies to be reviewed, it would be nice to hear some thoughts about the design we should give to this page.

Related Objects

Event Timeline

Daimona triaged this task as Medium priority.
Daimona added a project: Design.
Daimona moved this task from Backlog to Management UI on the AbuseFilter board.

Another couple of thoughts:

  1. I think we don't actually have global stats for slow filters (e.g. the edit x took y ms to execute all filters), so no problem here
  2. We should also add a column for filters that returned an error on the run. For instance, a filter may execute a division where the denominator is 0 at runtime.

My only big doubt is: what should we show on the main table (Special:AbuseFilter)? My proposals are:

  1. Avg time and avg conditions
  2. Nothing about profiling

Change 429378 had a related patch set uploaded (by Daimona Eaytoy; owner: Daimona Eaytoy):
[mediawiki/extensions/AbuseFilter@master] [WIP] Add a dedicated page for filter statistics

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

Vvjjkkii renamed this task from Create a dedicated page for stats to f8daaaaaaa.Jul 1 2018, 1:13 AM
Vvjjkkii removed Daimona as the assignee of this task.
Vvjjkkii raised the priority of this task from Medium to High.
Vvjjkkii updated the task description. (Show Details)
Vvjjkkii removed subscribers: gerritbot, Aklapper.
1339861mzb renamed this task from f8daaaaaaa to Create a dedicated page for stats.Jul 1 2018, 10:41 AM
1339861mzb updated the task description. (Show Details)
1339861mzb updated the task description. (Show Details)

Removing task assignee due to inactivity, as this open task has been assigned to the same person for more than two years (see the emails sent to the task assignee on Oct27 and Nov23). Please assign this task to yourself again if you still realistically [plan to] work on this task - it would be welcome.
(See https://www.mediawiki.org/wiki/Bug_management/Assignee_cleanup for tips how to best manage your individual work in Phabricator.)

Change #1027575 had a related patch set uploaded (by Matěj Suchánek; author: Matěj Suchánek):

[mediawiki/extensions/AbuseFilter@master] Introduce Special:AbuseFilter/stats

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