The Observability team proposes a "value-first" approach for the migration process. This means we will prioritize migrating "high value" targets first, covering the most frequently used metrics and dashboards before moving on to less commonly used ones. However, before proceeding with the migration, we need to have an initial snapshot of what this approach entails as of 2024-01-08
Please note the following steps to follow roughly per every conversion:
1. Identify the metric that needs to be converted.
2. Create or assign a Phabricator subtask linked to this task. (optional; you could also just write a patch against this task)
3. Follow the migration process as outlined below.
4. Secure/Conduct a code review.
5. Deploy the changes to production via the train (https://wikitech.wikimedia.org/wiki/Deployments/Train).
6. Verify that the changes have been successfully implemented.
7. Update the dashboard by replacing the old Graphite metric with the new Prometheus metric.
Please follow the guidelines and standards outlined in the provided documentation:
- https://www.mediawiki.org/wiki/Manual:Stats for detailed guidance on the conversion process.
- https://drive.google.com/file/d/12yQEuOapkML1vb9MgCaX1QzbLBdXE6X2/view for a video tutorial on the conversion process.
- https://docs.google.com/presentation/d/1SZWf_D3mWNX-XHN8PHYI84LDZr6GUQC2AMhZ9mQXCI0/edit#slide=id.g2795460c956_0_23 for slides on the best practices for converting metrics to statslib.
Full List of MediaWiki Metrics in Grafana Dashboards as of 2023-01-08: P54551
**Metrics to Migrate**
We'll be picking the first ten tasks based on the top 10 most used metrics per {T350592}
[] MediaWiki.timing.editResponseTime T354905
[] mw.performance.save T354906
[] MediaWiki.RevisionSlider.timing.init
[] MediaWiki.Parsoid.html2wt.setup
[] MediaWiki.Parsoid.html2wt.selser.serialize
[] MediaWiki.Parsoid.html2wt.selser.domDiff
[] MediaWiki.Parsoid.html2wt.init
[] MediaWiki.wikibase.quality.constraints.type.php.success.entities
[] MediaWiki.Parsoid.html2wt.total
[] MediaWiki.Parsoid.html2wt.timePerInputKB