This feature encompasses:
- ... the (optional) profiling database table, created by maintenance/archives/patch-profiling.sql,
- ... the ProfilerOutputDb class implementation of ProfilerOutput, as configurable through $wgProfiler['output'] = ProfilerOutputDb::class or $wgProfiler['output'] = 'db',
- ... the profileinfo.php web entry point, its HTML5 user interface, and the $wgEnableProfileInfo configuration variable.
As far as I'm aware, this feature has not been in use by either WMF, nor any MW developers, for a long time.
The last time I got it to work locally was in 2012. I also tried it once more around 2014 when we did some related development to the Profiling systems in MW in preparation for XHProf/HHVM, however even those changes were never tested as far as I know.
For development use cases, where the user viewing the page is the developer, we have already ProfilerOutputText instead which appends the captured performance analysis profile to the output of the web request (in an HTML or JS/CSS comment), or to the output of a maintenance script. The ProfilerOutputDb implementation and profileinfo.php are basically a nicer version of that, but I don't think we need that for developers.
For production use cases, I don't think ProfilerOutputDb is intended for. We did use to have another implementation of ProfilerOutput that sent the captured data to to central point: ProfilerOutputUdp. This class was already removed from core in 2015 with 660a7759 / https://gerrit.wikimedia.org/r/247971. For production, you'd want the profiling data to be sent from the web server to a central location to be looked at by other developers, but there are much better systems out there for sampling, storing, and viewing this kind of information. At WMF, we've been using Arc Lamp and XHGui since 2015.
I don't think the problem space of storing PHP profiles and providing a UI to analyse them, should be one solved by MediaWiki core or otherwise maintained by WMF. (And the one we have is almost certainly not one that I think anyone would want to use in production, anyway).
Timeline of last 7 years in development
- (Aug 2019) now
- (Dec 2015) 487265cd17 "Remove deprecated Profiler config variables" / https://gerrit.wikimedia.org/r/177283
- (Dec 2014) 62eb67626 "Deprecate $wgProfilePerHost" / https://gerrit.wikimedia.org/r/177283
- (Dec 2014) T75917 "Deprecate and remove $wgProfileToDatabase config"
- (Nov 2014) b8d93fb4f "Refactor profiling output from profiling" / https://gerrit.wikimedia.org/r/173348
- (Sep 2012) 33c0d601ca "Make UI styles more modern, and adopt HTML5" / https://gerrit.wikimedia.org/r/25427