polish the api route, response, health, cache, and metrics
This commit is contained in:
33
app/controllers/MetricsLite.php
Normal file
33
app/controllers/MetricsLite.php
Normal file
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
require_once __DIR__.'/../helpers/json.php';
|
||||
|
||||
// DB quick check
|
||||
$db_ok = null;
|
||||
try {
|
||||
require_once __DIR__.'/../db.php';
|
||||
$pdo = getPDO();
|
||||
$pdo->query('SELECT 1');
|
||||
$db_ok = true;
|
||||
} catch (Throwable $e) {
|
||||
$db_ok = false;
|
||||
}
|
||||
|
||||
// Rounded loadavg as STRINGS to avoid jq float parsing edge cases
|
||||
$loadavg_raw = function_exists('sys_getloadavg') ? sys_getloadavg() : null;
|
||||
$loadavg = null;
|
||||
if (is_array($loadavg_raw)) {
|
||||
$loadavg = array_map(function($v){
|
||||
return number_format((float)$v, 2, '.', ''); // string "6.03"
|
||||
}, $loadavg_raw);
|
||||
}
|
||||
|
||||
json_ok([
|
||||
'time' => gmdate('c'),
|
||||
'php_version' => PHP_VERSION,
|
||||
'memory_used_bytes' => memory_get_usage(true),
|
||||
'db' => $db_ok ? 'ok' : 'down',
|
||||
'system' => [
|
||||
'loadavg' => $loadavg,
|
||||
'uptime' => @trim(shell_exec('uptime')),
|
||||
],
|
||||
]);
|
||||
Reference in New Issue
Block a user