As part of the work CheckUser improvements, the tool now allows to search for multiple targets, and retrieve large sets of data. We are working to improve the performance of these queries:
Because of the sensitive nature of CheckUser, the tool is only available in limited spaces, and to limited number of people. Preview is even more limited;
At the moment the new CheckUser queries are available on testwiki and only for users with the staff right: https://test.wikipedia.org/wiki/Special:Investigate
[@Niharika do we have test users we can provide for an initial query?]
Which code to review
Queries built by PreliminaryCheckService, CompareService and TimelineService, in particular by these methods (or methods that they call):
- CompareService::getQueryInfo (paginated)
- TimelineService::getQueryInfo (paginated)
Note that the paginated queries are built between two classes, so limits and offsets are added by IndexPager (via ComparePager and TimelinePager).
Please initiate the performance assessment by answering the below:
- What work has been done to ensure the best possible performance of the feature?
- What are likely to be the weak areas (e.g. bottlenecks) of the code in terms of performance?
- Are there potential optimisations that haven't been performed yet?
- Please list which performance measurements are in place for the feature and/or what you've measured ad-hoc so far. If you are unsure what to measure, ask the Performance Team for advice: firstname.lastname@example.org.