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...
This commit is contained in:
@@ -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']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+1
-1
@@ -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');
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -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']);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user