Turn on benchmarking separately from debugging
--- a/config/gitphp.conf.defaults.php
+++ b/config/gitphp.conf.defaults.php
@@ -394,11 +394,18 @@
/*
* debug
- * Turns on extra warning messages and benchmarking.
+ * Turns on extra warning messages
* Not recommended for production systems, as it will give
- * way more benchmarking info than you care about, and
+ * way more info about what's happening than you care about, and
* will screw up non-html output (rss, opml, snapshots, etc)
*/
$gitphp_conf['debug'] = false;
-
+/*
+ * benchmark
+ * Turns on extra timestamp and memory benchmarking info
+ * when debug mode is turned on. Generates lots of output.
+ */
+$gitphp_conf['benchmark'] = false;
+
+
--- a/include/Log.class.php
+++ b/include/Log.class.php
@@ -36,6 +36,15 @@
protected $enabled = false;
/**
+ * benchmark
+ *
+ * Stores whether benchmarking is enabled
+ *
+ * @access protected
+ */
+ protected $benchmark = false;
+
+ /**
* startTime
*
* Stores the starting instant
@@ -94,6 +103,7 @@
$this->startMem = memory_get_usage();
$this->enabled = GitPHP_Config::GetInstance()->GetValue('debug', false);
+ $this->benchmark = GitPHP_Config::GetInstance()->GetValue('benchmark', false);
}
/**
@@ -136,8 +146,12 @@
return;
$entry = array();
- $entry['time'] = microtime(true);
- $entry['mem'] = memory_get_usage();
+
+ if ($this->benchmark) {
+ $entry['time'] = microtime(true);
+ $entry['mem'] = memory_get_usage();
+ }
+
$entry['msg'] = $message;
$this->entries[] = $entry;
}
@@ -166,6 +180,32 @@
public function SetEnabled($enable)
{
$this->enabled = $enable;
+ }
+
+ /**
+ * GetBenchmark
+ *
+ * Gets whether benchmarking is enabled
+ *
+ * @access public
+ * @return boolean true if benchmarking is enabled
+ */
+ public function GetBenchmark()
+ {
+ return $this->benchmark;
+ }
+
+ /**
+ * SetBenchmark
+ *
+ * Sets whether benchmarking is enabled
+ *
+ * @access public
+ * @param boolean $bench true if benchmarking is enabled
+ */
+ public function SetBenchmark($bench)
+ {
+ $this->benchmark = $bench;
}
/**
@@ -181,21 +221,31 @@
$data = array();
if ($this->enabled) {
- $endTime = microtime(true);
- $endMem = memory_get_usage();
-
- $lastTime = $this->startTime;
- $lastMem = $this->startMem;
-
- $data[] = '[' . $this->startTime . '] [' . $this->startMem . ' bytes] Start';
+
+ if ($this->benchmark) {
+ $endTime = microtime(true);
+ $endMem = memory_get_usage();
+
+ $lastTime = $this->startTime;
+ $lastMem = $this->startMem;
+
+ $data[] = 'DEBUG: [' . $this->startTime . '] [' . $this->startMem . ' bytes] Start';
+
+ }
foreach ($this->entries as $entry) {
- $data[] = '[' . $entry['time'] . '] [' . ($entry['time'] - $this->startTime) . ' sec since start] [' . ($entry['time'] - $lastTime) . ' sec since last] [' . $entry['mem'] . ' bytes] [' . ($entry['mem'] - $this->startMem) . ' bytes since start] [' . ($entry['mem'] - $lastMem) . ' bytes since last] ' . $entry['msg'];
- $lastTime = $entry['time'];
- $lastMem = $entry['mem'];
+ if ($this->benchmark) {
+ $data[] = 'DEBUG: [' . $entry['time'] . '] [' . ($entry['time'] - $this->startTime) . ' sec since start] [' . ($entry['time'] - $lastTime) . ' sec since last] [' . $entry['mem'] . ' bytes] [' . ($entry['mem'] - $this->startMem) . ' bytes since start] [' . ($entry['mem'] - $lastMem) . ' bytes since last] ' . $entry['msg'];
+ $lastTime = $entry['time'];
+ $lastMem = $entry['mem'];
+ } else {
+ $data[] = 'DEBUG: ' . $entry['msg'];
+ }
}
- $data[] = '[' . $endTime . '] [' . ($endTime - $this->startTime) . ' sec since start] [' . ($endTime - $lastTime) . ' sec since last] [' . $endMem . ' bytes] [' . ($endMem - $this->startMem) . ' bytes since start] [' . ($endMem - $lastMem) . ' bytes since last] End';
+ if ($this->benchmark) {
+ $data[] = '[' . $endTime . '] [' . ($endTime - $this->startTime) . ' sec since start] [' . ($endTime - $lastTime) . ' sec since last] [' . $endMem . ' bytes] [' . ($endMem - $this->startMem) . ' bytes since start] [' . ($endMem - $lastMem) . ' bytes since last] End';
+ }
}
return $data;