From 14aab1f2aef5a301447287c56a49f8cbe0d4e355 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Wed, 18 Dec 2024 12:31:09 +0100 Subject: [PATCH] perf: Log excessive memory usage on normal requests Signed-off-by: Joas Schilling --- index.php | 7 +++++++ ocs/v1.php | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/index.php b/index.php index f3ed07c3572e4..04dbe104dc087 100644 --- a/index.php +++ b/index.php @@ -9,6 +9,7 @@ */ require_once __DIR__ . '/lib/versioncheck.php'; +$memoryBefore = memory_get_usage(); use OC\ServiceUnavailableException; use OC\User\LoginException; @@ -104,4 +105,10 @@ throw $ex; } OC_Template::printExceptionErrorPage($ex, 500); +} finally { + $memoryAfter = memory_get_usage(); + if ($memoryAfter - $memoryBefore > 400_000_000) { + $message = 'Used memory was more than 400 MB: ' . \OCP\Util::humanFileSize($memoryAfter - $memoryBefore); + \OCP\Server::get(LoggerInterface::class)->warning($message); + } } diff --git a/ocs/v1.php b/ocs/v1.php index 7205f4a26b793..c1db0f44c1bf7 100644 --- a/ocs/v1.php +++ b/ocs/v1.php @@ -9,6 +9,7 @@ */ require_once __DIR__ . '/../lib/versioncheck.php'; +$memoryBefore = memory_get_usage(); require_once __DIR__ . '/../lib/base.php'; use OC\OCS\ApiHelper; @@ -70,4 +71,10 @@ // Just to be save } ApiHelper::respond(OCSController::RESPOND_SERVER_ERROR, $txt); +} finally { + $memoryAfter = memory_get_usage(); + if ($memoryAfter - $memoryBefore > 400_000_000) { + $message = 'Used memory was more than 400 MB: ' . \OCP\Util::humanFileSize($memoryAfter - $memoryBefore); + \OCP\Server::get(LoggerInterface::class)->warning($message); + } }