-
-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Description
Hi there! I've been working on a fork of piwik (2.x) and I notice that when you enable the debug option, the database profiler it start to work and searching the origin of this I found in core/Tracker/Response.php this:
class Response
{
private $timer;
private $content;
public function init(Tracker $tracker)
{
ob_start(); // we use ob_start only because of Common::printDebug, we should actually not really use ob_start
if ($tracker->isDebugModeEnabled()) {
$this->timer = new Timer();
TrackerDb::enableProfiling();
}
}
...
The problem is that the function isDebugModeEnabled() search for a global where it depends on the debug value in the config.php.ini and it should be validated by the setting enable_sql_profiler (as I mention in the title)
My propose is this:
public function init(Tracker $tracker)
{
// remove ob_start();
if ((bool) TrackerConfig::getConfigValue('enable_sql_profiler')) {
$this->timer = new Timer();
TrackerDb::enableProfiling();
}
}
Also notice that ob_start();
cause some problems with the printDebug function (specifically with the CLI), it is completely necessary? I think this could be removed also.
I forgot to say that I search in both branch version (2.x-dev and 3.x-dev) and this is untouched between those version changes.