The Editor Analytics service implements a subset of the AQS 2.0 endpoints, as detailed here.
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/|