On Tue, 27 Dec 2011 19:02:29 -0800, Tim Starling <[email protected]> wrote:
> On 28/12/11 13:53, Daniel Friesen wrote: >> The typical thing to go into StartProfiler.php for someone who wants to >> use it is: >> $wgProfiler['class'] = 'Profiler'; >> >> ;) ie: It's pure config, it's not even php code. > > That's because the actual starting of the profiler happens after > StartProfiler.php finishes but before LocalSettings.php starts. When > you said there was no extra value to StartProfiler.php, I thought you > were imagining some system where the profiler would be started at the > top of LocalSettings.php > > Running LocalSettings.php itself is often slow, especially the > extension setup files. So it's important that the profiler is running > at this time. > > -- Tim Starling I'm imagining the very little that goes on in StartProfiler.php (which is basically config) will go into LocalSettings.php, probably early on. All that goes into StartProfiler.php is configuration of the $wgProfiler variable. We load $IP/includes/profiler/Profiler.php first, right after the AutoLoader. Following that we set `$wgProfiler = array();` and include StartProfiler.php if present. Following that we load DefaultSettings.php and then LocalSettings.php DefaultSettings.php doesn't invoke the profiler. So Profiler::$__instance is never set until the first wfProfileIn call made AFTER LocalSettings.php loads. Thinking about it requiring extensions probably don't even typically invoke the profiler anywhere within LocalSettings since anything like that is probably deferred into a function. So, we're not actually running the profiler within LocalSettings.php or anywhere before it. ((And if we really wanted to do that, I'd almost argue for a setup where wfProfilerIn will queue up a deferred list of profiling entries and then when LocalSettings.php finishes we make a call after the inclusion that commits them. So that we don't have to worry about the profiler even being created till after the profiler config is setup)) -- ~Daniel Friesen (Dantman, Nadir-Seen-Fire) [http://daniel.friesen.name] _______________________________________________ Wikitech-l mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/wikitech-l
