]> git.mjollnir.org Git - moodle.git/commitdiff
admin/cron: if $PERF->dbqueries is set, profile modules...
authormartinlanghoff <martinlanghoff>
Wed, 12 Sep 2007 02:57:58 +0000 (02:57 +0000)
committermartinlanghoff <martinlanghoff>
Wed, 12 Sep 2007 02:57:58 +0000 (02:57 +0000)
The cron() function of some modules can be a huge drag on the
server. Capture profiling data...

admin/cron.php

index 249e4f978bf1d346b3a249d23a78c9f5e0282aeb..9ba820b03ebb13701c7cde89ed96ec9266c47c11 100644 (file)
                 $cron_function = $mod->name."_cron";
                 if (function_exists($cron_function)) {
                     mtrace("Processing module function $cron_function ...", '');
+                    if (!empty($PERF->dbqueries)) {
+                        $pre_dbqueries = $PERF->dbqueries;
+                        $pre_time      = microtime(1);
+                    }
                     if ($cron_function()) {
                         if (! set_field("modules", "lastcron", $timenow, "id", $mod->id)) {
                             mtrace("Error: could not update timestamp for $mod->fullname");
                         }
                     }
+                    if (isset($pre_dbqueries)) {
+                        mtrace("... used " . ($PERF->dbqueries - $pre_dbqueries) . " dbqueries");
+                        mtrace("... used " . (microtime(1) - $pre_time) . " seconds");
+                    }
                     mtrace("done.");
                 }
             }