* Check DB queries for filesorts and such and log em.
*
* @package SQLStatsPlugin
- * @maintainer Evan Prodromou <brion@status.net>
+ * @maintainer Evan Prodromou <evan@status.net>
*/
-
class SQLStatsPlugin extends Plugin
{
protected $queryCount = 0;
function onPluginVersion(&$versions)
{
$versions[] = array('name' => 'SQLStats',
- 'version' => STATUSNET_VERSION,
+ 'version' => GNUSOCIAL_VERSION,
'author' => 'Evan Prodromou',
'homepage' => 'http://status.net/wiki/Plugin:SQLStats',
'rawdescription' =>
+ // TRANS: Plugin decription.
_m('Debug tool to watch for poorly indexed DB queries.'));
return true;
function cleanup()
{
- $this->log(LOG_INFO, sprintf('%d queries this hit (total = %d, avg = %d, max = %d, min = %d)',
- count($this->queryTimes),
- array_sum($this->queryTimes),
- array_sum($this->queryTimes)/count($this->queryTimes),
- max($this->queryTimes),
- min($this->queryTimes)));
+ if (count($this->queryTimes) == 0) {
+ $this->log(LOG_INFO, sprintf('0 queries this hit.'));
+ } else {
+ $this->log(LOG_INFO, sprintf('%d queries this hit (total = %d, avg = %d, max = %d, min = %d)',
+ count($this->queryTimes),
+ array_sum($this->queryTimes),
+ array_sum($this->queryTimes)/count($this->queryTimes),
+ max($this->queryTimes),
+ min($this->queryTimes)));
+ }
$verbose = common_config('sqlstats', 'verbose');