From: martinlanghoff Date: Wed, 12 Sep 2007 02:57:26 +0000 (+0000) Subject: PERF logging - move handling to moodle_request_shutdown() X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=cf1348caae11ac43c62d124a3ce208d01daf6351;p=moodle.git PERF logging - move handling to moodle_request_shutdown() By moving the performance profile logging to the very end of PHP processing, we cover more pages, notably those that don't end up with a footer or a redirect, like file serving. This should improve quality of our performance logs, and help catch some piggies... --- diff --git a/lib/moodlelib.php b/lib/moodlelib.php index 4ac46f0745..2919c93336 100644 --- a/lib/moodlelib.php +++ b/lib/moodlelib.php @@ -6791,6 +6791,12 @@ function moodle_request_shutdown() { @apache_child_terminate(); } } + if (defined('MDL_PERF') || (!empty($CFG->perfdebug) and $CFG->perfdebug > 7)) { + if (defined('MDL_PERFTOLOG')) { + $perf = get_performance_info(); + error_log("PERF: " . $perf['txt']); + } + } } /** diff --git a/lib/setup.php b/lib/setup.php index 779cae82c3..bba85068bb 100644 --- a/lib/setup.php +++ b/lib/setup.php @@ -227,7 +227,7 @@ global $HTTPSPAGEREQUIRED; /// For now, only needed under apache (and probably unstable in other contexts) - if (function_exists('apache_child_terminate')) { + if (function_exists('register_shutdown_function')) { register_shutdown_function('moodle_request_shutdown'); } diff --git a/lib/weblib.php b/lib/weblib.php index fe86620497..219fb95817 100644 --- a/lib/weblib.php +++ b/lib/weblib.php @@ -2655,7 +2655,7 @@ function print_footer($course=NULL, $usercourse=NULL, $return=false) { $performanceinfo = ''; if (defined('MDL_PERF') || (!empty($CFG->perfdebug) and $CFG->perfdebug > 7)) { $perf = get_performance_info(); - if (defined('MDL_PERFTOLOG')) { + if (defined('MDL_PERFTOLOG') && !function_exists('register_shutdown_function')) { error_log("PERF: " . $perf['txt']); } if (defined('MDL_PERFTOFOOT') || debugging() || $CFG->perfdebug > 7) { @@ -5469,7 +5469,7 @@ function redirect($url, $message='', $delay=-1) { $performanceinfo = ''; if (defined('MDL_PERF') || (!empty($CFG->perfdebug) and $CFG->perfdebug > 7)) { - if (defined('MDL_PERFTOLOG')) { + if (defined('MDL_PERFTOLOG') && !function_exists('register_shutdown_function')) { $perf = get_performance_info(); error_log("PERF: " . $perf['txt']); }