Page MenuHomePhabricator

[Epic] Rename "Metrics Platform" to "Experimentation Lab" across all code and documentation
Closed, DeclinedPublic

Description

Background/Goal

This epic covers the work required to rename "Metrics Platform" to "Experimentation Lab" across all code repositories, documentation, and related resources. The goal is to ensure a consistent naming convention while maintaining backward compatibility where necessary.

KR/Hypothesis(Initiative)

FY 24/25 SDS 2

Parent Tasks

Client Libraries

Repository: https://gerrit.wikimedia.org/g/mediawiki/libs/metrics-platform

  • Update repository name
  • Refactor namespaces and class names
  • Update README and documentation
  • Create compatibility layer for existing implementations

Metrics Platform MediaWiki Extension

Repository: https://gerrit.wikimedia.org/g/mediawiki/extensions/MetricsPlatform

  • Rename extension to ExperimentationLab
  • Update extension.json and configuration files
  • Refactor code to use new naming
  • Update documentation

MPIC to xLab

Repository: https://gitlab.wikimedia.org/repos/data-engineering/mpic

  • Rename repository to xLab
  • Update Makefiles
  • Update Docker compose files (Goals, Services, Images)
  • Address domain changes (Kubernetes, SSO)
  • Update kubernetes charts (mpic → epic, mpic-next → epic-next)
  • Consult with SREs for implementation details
  • Update database references
  • Update configuration files
  • Revise documentation and design documents

Schema Events

Repository: https://gitlab.wikimedia.org/repos/data-engineering/schemas-event-secondary/-/tree/master/jsonschema/analytics/product_metrics

  • Update directory structure (product_metrics → experimentation_lab)
  • Update schema references
  • Ensure backward compatibility for existing data

EventLogging Extension

  • Update EventSubmitter references
  • Update Metrics-Platform lib references
  • Test functionality after updates

WikimediaEvents Extension

  • Update instruments referencing Metrics Platform (WebUIClick, etc.)
  • Test instrumentation functionality

Growth Experiments

Repository: https://gerrit.wikimedia.org/g/mediawiki/extensions/GrowthExperiments/
File: includes/ExperimentUserDefaultsManager.php

  • Update imported namespaces and references

WikiLambda

Repository: https://gerrit.wikimedia.org/g/mediawiki/extensions/WikiLambda/
File: includes/ActionAPI/WikiLambdaApiBase.php

  • Update references to Metrics Platform

Release Configuration

Repository: https://gitlab.wikimedia.org/repos/releng/release/-/blob/059122621d8fb4d705c837b58e50b9bf8730127b/make-release/settings.yaml

  • Update configuration entries
  • Coordinate with Release Engineering team

Configuration Variables

  • Update metrics_platform_client references in producer config
  • Create compatibility layer for existing configurations

Documentation

In scope

Phase 1: Planning and Discovery

Phase 2: Development

    • Implement changes in non-production environments
  • Create necessary redirects and compatibility layers
    • Set up comprehensive testing plan

Phase 3: Testing

  • Execute test plan across all updated components
  • Verify backward compatibility
  • Address any issues discovered during testing

Phase 4: Deployment

  • Coordinate with Release Engineering
  • Deploy changes according to established timeline
  • Monitor for issues and maintain rollback plan

Phase 5: Documentation and Training

  • Update all user-facing documentation
  • Provide communication materials for teams
  • Offer support sessions for affected teams

Acceptance Criteria

  • All repositories, code, and references successfully renamed
  • All functionality preserved with no regressions
  • Documentation fully updated with new naming
  • Users and teams successfully onboarded to the new naming convention
  • Backward compatibility should be maintained where possible
  • Comprehensive testing is critical at each stage