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:
- Identify the metric (or group of metrics) that will be to be converted.
- Create/assign a Phabricator subtask linked to this task (with granularity of individual metric or group of metrics) and update task description to reflect which task(s) have been created for which metric(s).
- Follow the migration process as outlined below.
- Secure/Conduct code review(s).
- Deploy the changes to production via the train (https://wikitech.wikimedia.org/wiki/Deployments/Train).
- Verify that the changes have been successfully implemented.
- Place the metrics subtask in a 2-3 week waiting period to allow prometheus time to establish 2-3 weeks of metric history
- After 2-3 week waiting period is complete, update the dashboard:
- Save a copy of the dashboard using legacy metrics as-is into the Legacy grafana dashboard folder
- Replace the old Graphite metric(s) with the new Prometheus metric(s) and save/update the live dashboard
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 used in Grafana Dashboards as of 2023-01-08: P54551
Overall Grafana Graphite datasource utilization, count by usage in queries P54396
--Migration Progress Dashboard --- Dashboards using Graphite--
Metrics to Migrate
Below is a full list of graphite metrics to be migrated, grouped by component. Please claim the task for ongoing work or any metrics/components under your care and proceed with the migration; if you need help, please contact SRE Observability.
Please use this template when creating metric migration subtasks
Core:
- T354905: migrate MediaWiki.timing.editResponseTime to statslib
- T359236: Migrate MediaWiki.timing.login.ui.$authAction.sample_rate to statslib
- T356812: Migrate MediaWiki.edit.failures.* to statslib
- T356814: Migrate MediaWiki.errors.fatal to statslib
- T356815: Migrate MediaWiki.stable_pcache to statslib
- T359240: Migrate MediaWiki.diff_cache.* to statslib
- T359241: Migrate MediaWiki.diff_time.* to statslib
- T359242: Migrate MediaWiki.rollbackconfirmation.event.load.sum to statslib
- T359243: Migrate MediaWiki.site.*.count to statslib
Performance:
ContentTranslation:
- T359237: (mw.track) Migrate MediaWiki.cx.campaign.*.accept.count to statslib
- T359238: Migrate MediaWiki.cx.publish.highmt.*.sum to statslib
- T359239: (mw.track) Migrate MediaWiki.cx.publish.*.sum to statslib
Collection:
RevisionSlider:
- T354907: (mw.track) migrate MediaWiki.RevisionSlider.timing.init to statslib
- T359245: Migrate daily.revslider.userprops.disables to statslib
- T359244: (mw.track) Migrate MediaWiki.RevisionSlider.* to statslib
Wikibase:
- T354909: migrate MediaWiki.wikibase.quality.constraints.type.php.success.entities to statslib
- T359247: [GRAFMIGR] Migrate MediaWiki.wikibase.articleplaceholder.button.create*.count to statslib
- T359246: [GRAFMIGR] Migrate MediaWiki.wikibase.quality.constraints.* to statslib
- T359248: [GRAFMIGR] Migrate MediaWiki.wikibase.client.pageupdates.* to statslib
- T359249: [GRAFMIGR] Migrate MediaWiki.wikibase.lexeme.special.NewLexeme to statslib
- T359250: [GRAFMIGR] Migrate MediaWiki.wikibase.query_contexts.* to statslib
- T359251: [REPO][SW][GRAFMIGR] Migrate MediaWiki.wikibase.repo.* to statslib
- T359252: [GRAFMIGR] (mw.track) Migrate MediaWiki.wikibase.view.* to statslib
- T359253: [CLIENT][SW][GRAFMIGR] Migrate MediaWiki.$prefix.wikibase.client.scribunto.* to statslib
- T359254: Migrate MediaWiki.wikidatawiki.wikibase.repo.* to statslib
Parsoid:
- T354908: evaluate and migrate in-use parsoid metrics to statslib
- T359453: Migrate MediaWiki.Parsoid.html2wt to statslib
- T359454: Migrate MediaWiki.Parsoid.entry.html2wt to statslib
- T359455: Migrate MediaWiki.Parsoid.entry.wt2html to statslib
- T359457: Migrate MediaWiki.Parsoid.extension.* to statslib
- T359402: Migrate MediaWiki.parsoidhelper.stashing to statslib
- T359395: Migrate MediaWiki.Parsoid.html2wt to statslib
- T359394: Migrate MediaWiki.parsoidhtmlhelper. to statslib
- T359393: Migrate MediaWiki.Parsoid.langconv to statslib
- T359392: Migrate MediaWiki.Parsoid.linting to statslib
- T359391: Migrate MediaWiki.ParsoidOutputAccess.Cache to statslib
- T359390: Migrate MediaWiki.parsoid_pcache.*.reason.*.rate to statslib
- T359389: Migrate MediaWiki.parsoid.*.reason.*.rate to statslib
- T359388: Migrate MediaWiki.Parsoid.wt2html.* to statslib
Resourceloader:
- T355960: Migrate MediaWiki.resourceloader* metrics to statslib
- T359396: Migrate MediaWiki.resourceloader_build to statslib
- T359397: Migrate MediaWiki.resourceloader_module_decodedsize_bytes to statslib
- T359398: Migrate MediaWiki.resourceloader_startup_bytes to statslib
TwoColConflict:
- T359261: mw.track() Migrate MediaWiki.TwoColConflict.* to statslib
- T359262: Migrate daily.twocolconflict.userprops.* to statslib
Centralauth:
Authmanager
Betafeatures:
CirrusSearch:
AdvancedSearch:
- T359342: Migrate daily.advancedsearch.userprops.disables to statslib
- T359341: (mw.track) MigrateMediaWiki.AdvancedSearch.event.* to statslib
Media:
- T359344: Migrate MediaWiki.media.thumbnail.* to statslib
- T359345: (mw.track) Migrate media.thumbnail.client.* to statslib
Echo:
- T359346: Migrate daily.echo.mentionStatus.global_user_counts.totals.* to statslib
- T359347: (mw.track) Migrate MediaWiki.echo.* to statslib
Catwatch:
GrowthExperiments:
- T359351: Migrate MediaWiki.$wiki.GrowthExperiments to statslib
- T359352: Migrate GrowthExperiments Extension to statslib
- T359353: Migrate MediaWiki.*.growthexperiments.* to statslib
- T359354: Migrate MediaWiki.*.GrowthExperiments.AddLink.growthexperiments_addlink_notinstore.count to statslib
- T359355: Migrate MediaWiki.GrowthExperiments to statslib
- T359356: Migrate MediaWiki.timing.growthExperiments.* to statslib
MediaModeration:
Abusefilter:
- T359359: Migrate AbuseFilter Extension to statslib
- T359360: Migrate MediaWiki.abusefilter.check_stash to statslib
- T359361: Migrate MediaWiki.abusefilter.runtime_profile to statslib
- T359362: Migrate MediaWiki.action to statslib
AdvancedSearch:
API:
Arclamp:
Articleplaceholder:
BlockNotices:
Bouncehandler:
Chrome:
CodeMirror:
Cognate:
Discussiontools:
Editor:
Editstash:
Electronpdf:
- T359466: Migrate MediaWiki.electronpdf to statslib
- T359467: (mw.track) Migrate MediaWiki.EntitySchema to statslib
- T359468: Migrate MediaWiki.errors.fatal.rate to statslib
- T359470: Migrate MediaWiki.extdist to statslib
PageTriage:
Phonos:
ExternalGuidance:
FileImporter:
Firefox:
Global_Blocking:
Globalwatchlist:
- T359479: Migrate MediaWiki.globalwatchlist to statslib
- T359478: Migrate MediaWiki.hooks.*.count to statslib
Html2wt:
Html:
- T359475: Migrate MediaWiki.html_input_transform.original_html to statslib
- T359476: Migrate MediaWiki.htmloutputrendererhelper to statslib
ipinfo:
Jobexecutor:
Jobqueue:
Loadbalancer:
Loginnotify:
Mediamoderation:
Media:
Minerva:
Mobile:
Objectcache:
Pagedtiffhandler:
PageStore:
ParserOutput:
Pcache:
- T359368: Migrate MediaWiki.pcache.* to statslib
- T359370: Migrate MediaWiki.pdfhandler.shell.retrieve_meta_data.rate to statslib
RateLimiter:
Rdbms_trxprofiler:
Refreshlinks:
Rest_api:
RevisionOutputCache:
RevisionSlider:
Score:
Scribunto:
Setup_load_schema:
Spamblock:
Stable_pcache:
Syntashilight:
TemplateData:
TemplateWizard:
Timeline_error:
Timing:
Tmp_settings_load:
Translate:
TTFE:
VisualEditor:
- T359259: Migrate MediaWiki.VE.ApiVisualEditor.ParsoidClient.* to statslib
- T359258: (Analytics?) Migrate MediaWiki.VisualEditor.* to statslib
Wanobjectcache:
WatchedItemStore:
Wmfstatic