== *What* ==
Flamegraphs provide insight to where and how your MediaWiki component or extension spends
its time. We instrument real web requests on the MediaWiki app servers at WMF (using
php-excimer, a low-overhead sampling profiler) and continually publish interactive SVG
visuals by entrypoint (e.g. index.php, JobQueue, ResourceLoader load.php, or rest.php
API). [1] [2]
Read more about the Arc Lamp pipeline, introduced by Ori during the 2014 HHVM migration
[3], through our blog post:
https://techblog.wikimedia.org/2021/03/03/profiling-php-in-production-at-sc…
== *What's New* ==
The user interface at
https://performance.wikimedia.org/php-profiling/ has undergone major
changes.
• Date: You can now choose any date in the last *2+ years*. Previously, this was limited
to 2-3 weeks. In the dropdown menu, choose "Other", and select any date using
the native datepicker. Existing URLs remain compatible.
• Source: Real-time performance data from the *MediaWiki-on-Kubernetes* deployment is now
available through here (excimer-k8s and excimer-k8s-wall). While web traffic remains
largely on bare metal (except for test2wiki), internal MediaWiki API traffic is already
partly on Kubernetes. Refer to T333120 <https://phabricator.wikimedia.org/T333120>
for work by SRE ServiceOps (e.g. CXServer uses MediaWiki-on-Kubernetes).
• Entrypoint: *JobQueue* (RunSingleJob) is now included in the selector, plus the new
detailed breakdowns <https://phabricator.wikimedia.org/T253679> for *EditAction*,
*PreSend*, and *PostSend* are now promoted here. These were previously available via the
file browser only.
== *How* ==
The new interface is an HTML form with vanilla JavaScript to navigate you to the right
SVG.
Details at
https://gerrit.wikimedia.org/r/c/performance/docroot/+/908374.
As before, we promote "good" defaults. You don't have to make any choices to
start exploring the data. Press the big blue button to instantly view the most recent
index.php flamegraph with the default settings.
--
Timo Tijhof,
Performance Team,
Wikimedia Foundation.
[1]
https://wikitech.wikimedia.org/wiki/Performance/Runbook/Arc_Lamp_service
[2]
https://www.mediawiki.org/wiki/Excimer
[3]
https://techblog.wikimedia.org/2014/12/29/how-we-made-editing-wikipedia-twi…