The Edit 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
- Create Go Service - T336378
- Create Druid test data environment - in progress (same dataset in druid used in Edit and Editor) T336382
- Deployment pipeline integration T336384
- Deploy to staging and production T336385
- Integration tests T336394
- Unit tests
- Manual integration testing T336401
- Metrics dashboards T336403
- Configure routing in staging and production T336404