Page MenuHomePhabricator

Create a dedicated page for stats
Open, NormalPublic

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 created this task.Apr 25 2018, 6:05 PM
Restricted Application added subscribers: Scoopfinder, Aklapper. · View Herald TranscriptApr 25 2018, 6:05 PM
Daimona claimed this task.Apr 25 2018, 6:06 PM
Daimona triaged this task as Normal 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

He7d3r awarded a token.May 1 2018, 7:49 PM
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 Normal 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)