This is the runbook for deploying and monitoring webperf-tools services.
The puppet role for these services is role::webperf:profiling_tools.
- webperf2002 (Codfw cluster): Grafana host monitor.
- webperf12 (Beta cluster): grafana-labs machine stats.
- Public URL: https://performance.wikimedia.org/php-profiling/
- Host: webperfx…2
- Source code: modules/arclamp and profile::webperf::arclamp.
- Public URL: https://performance.wikimedia.org/xhgui/
- User documentation: XHGui
- Host: tungsten (being moved to webperf1002/2002; T180761)
- Source code: operations/software/xhgui.git (upstream: github:perftools/xhgui)
Ensure you have:
- a local git clone of our origin repo ssh://gerrit.wikimedia.org:29418/operations/software/xhgui
- a second remote on that local clone, for upstream. E.g.
git remote add upstream email@example.com:perftools/xhgui.git.
- owner access to operations/software/xhgui.git (granted to Gerrit group "performance", per access).
To update our mirror:
- In your local clone, fetch from origin and checkout
- Revert any hot fix commits in our wmf_deploy branch that might conflict with the next upgrade or that would be obsolete. Use
git revert aaa0, and reference any relevant Phabricator task in the commit message.
- Fetch from upstream and git-merge in all new commits to the desired upstream tag or commit hash. (e.g.
git merge upstream/master)
- Ensure a git clean working tree (
git reset --hard && git clean -dffx)
/vendoris absent from
.gitignore. Instead, ensure
git rm /cache, if it is present.
composer install --prefer-dist --no-dev --ignore-platform-reqs.
- Stage any changes made to
- If there are no local changes (cache and ignore were already correct, and no vendor updates in this upgrade), then skip this step and the next step.
- Create a commit reflecting from which hash to which hash we are upgrading, and mention any relevant Phabricator tasks.
- Ensure the subject line starts with "WMF: " to clearly distinguish it from upstream commits.
- Push to Gerrit.
git push origin HEAD:wmf_deploy
To deploy in production:
- Happens automatically by puppet every 30 minutes.
To deploy to Beta Cluster:
(TODO. Beta server is like prod webperf002, Debian Stretch; and likewise the role isn't applied here yet.)