Page MenuHomePhabricator

Investigate adding a Global Edit Counter tool
Open, LowPublic8 Estimated Story PointsFeature

Description

This would be a supplement to the normal Edit Counter.

Requested at https://www.mediawiki.org/wiki/Topic:Ua5c1o7qspy0lhvm

We definitely cannot run the full Edit Counter on every wiki. But some queries like the month/year counts (and even the timecard) are actually quite fast, so might be able to loop through the user's active wikis and collect the results.

The idea here is that instead of breaking down the counts by namespace, we'd break them down by wiki. It could look ugly if they have a ton of active wikis, but I think it's worth exploring.

First step here is to run some tests on stewards or the like, users who are active on a lot of wikis, to get an idea of how slow this would actually be. Then we can decide which queries we'd want to include. Note that the "General statistics", specifically various log counts, are by far the slowest to query for from my tests.

We could include relevant global log counts, specifically for stewards (number of global locks, etc.). That should go reasonably fast.

Event Timeline

MusikAnimal set the point value for this task to 8.
MusikAnimal changed the subtype of this task from "Task" to "Feature Request".Mar 20 2019, 7:25 AM

I suspect that after T387210: Latest log query timeout due to ill-advised indexing the log queries are going to be notably faster, and will perhaps be doable. Looking at what could go here:

  • general statistics
    • out of "basic info" registration date, first/latest edit, latest log, num edits (including deleted). perhaps thanks received. not user id as they're local
    • then there's the question of how we handle the "last 5000". 5k per wiki? could be too much. the last 5k overall? except by selecting the whole tables and unioning them (which defeats the purpose), I think we can't query from the rows of this_p.revision and the rows of that_p.revision. Or, we could do the last 10 or 20 or 100 or whatever (TBD) per wiki. shouldn't be too slow
      • aside from that all of "edits (live)" can be reused AFAIK. Well, except the links to other project-specific tools
    • All the rest of should be reusable.
    • we would be adding a global actions column, too.
  • the charts: theoretically we could keep all; discarding namespace and instead keeping wiki. Looking at the queries all should be adaptable; essentially just ignoring namespaces and repeating for each wiki.
  • topedits: probably shouldn't be included. We've already got a long lot of tables (btw, why not flex these? saves vertical screen space); multiplying by wiki would make it prohibitive. Plus, the query time.
  • local rights changes wouldn't make much sense, but I'd argue global right changes should be included

I'm wondering about the chart colors. If we take the values of the colorlist and reindex them with incrementing indexes (as opposed to namespace IDs), we get 85 of them. If someone hypothetically edits more than 85 wikis, which is plausible, the legend is going to make a lot less sense.

Or, if user edited >= 86 wikis overall, we could fall back to merging all wiki types together, i.e. Wikipedias, Wikisources, and so on. Only if isWMF(), I suppose.

Looking at the MW request a table of user_id, registration date, and user groups shouldn't be too costy either I suppose.

Alien333 changed the task status from Open to In Progress.May 30 2025, 5:59 PM
Alien333 claimed this task.

Will try to get this done in the next week or so.

On local rights: probably a simple listing of "on which wiki is this user an admin" could be useful and not too costy.

Welp, I ended up more busy than I thought. I'll re-claim when I actually have the time to work on this.

Alien333 changed the task status from In Progress to Open.Oct 21 2025, 9:14 AM