wordpress-website-lifecycle/debug/debug-response-time.php
Viktor Szépe 3b9914fff8
Some checks failed
Back-end / Syntax errors (push) Has been cancelled
Integrity / Integrity (push) Has been cancelled
Spelling / 文A Typos check (push) Has been cancelled
Create debug-response-time.php (#54)
* Create debug-response-time.php

* Fix WP_CLI debug context
2025-11-15 03:06:56 +01:00

34 lines
999 B
PHP

<?php
/*
* Plugin Name: Log response time (DBG)
* Plugin URI: https://github.com/szepeviktor/wordpress-website-lifecycle
*/
add_action(
'shutdown',
static function () {
$time = timer_float();
$uri = isset($_SERVER['REQUEST_URI'])
? wp_json_encode($_SERVER['REQUEST_URI'], JSON_UNESCAPED_SLASHES)
: 'CLI';
$message = sprintf('Response time = %.03f sec, %s', $time, $uri);
switch (true) {
case defined('WP_CLI') && WP_CLI:
WP_CLI::debug($message, 'response-time');
break;
case wp_doing_cron() && php_sapi_name() === 'cli':
// No output during WP-Cron run from CLI.
break;
default:
file_put_contents(
WP_CONTENT_DIR.'/debug-response-time.log',
$message."\n",
FILE_APPEND | LOCK_EX
);
break;
}
},
-1,
0
);