The Editor Analytics service implements a subset of the AQS 2.0 endpoints, as detailed here.
See: https://wikitech.wikimedia.org/wiki/Analytics/AQS/Wikistats_2
The Druid-based AQS 2.0 endpoints are broken into into two services:
- Editor Analytics
- Edit Analytics
Certain code related to Druid queries is very similar between the two services, and should be implemented in a reusable package.
The "reusable package" will contain (at least):
- two common query functions, to reduce code duplication. These will fill a similar need as the AQS revisions/digests functionality.
- any other common druid-specific helper function we find useful, covering similar functionality as the existing druidUtil.js
- any common schema definitions that we find convenient, filling similar functionality as the existing mediawiki-history-schemas.yaml. We already have a pattern (used in our service config) for importing yaml info into the Go service, so we may choose to continue using yaml for schema info.
This means the Druid-based endpoints will be divided as follows:
Editor Analytics | metrics/editors/, metrics/registered_users/ |
Edit Analytics | metrics/edits/, metrics/bytes_difference/, metrics/edited_pages/ |
Key tasks
- Implement endpoints T327829
- Create Druid test data environment T336382/ T336405
- Deployment pipeline integration - @hnowlan T336407
- Deploy to staging and production - @hnowlan T336408
- Integration tests - T336412
- Unit tests - T327837
- Manual integration testing T336413
- Metrics dashboards T336414
- Configure routing in staging and production T336415