diff --git a/lib/Controller/ApiController.php b/lib/Controller/ApiController.php index 91c10f44..7abc6653 100644 --- a/lib/Controller/ApiController.php +++ b/lib/Controller/ApiController.php @@ -10,6 +10,7 @@ namespace OCA\ServerInfo\Controller; use OCA\ServerInfo\DatabaseStatistics; +use OCA\ServerInfo\FpmStatistics; use OCA\ServerInfo\Os; use OCA\ServerInfo\PhpStatistics; use OCA\ServerInfo\SessionStatistics; @@ -25,44 +26,22 @@ use OCP\IUserSession; class ApiController extends OCSController { - private Os $os; - private IConfig $config; - private IGroupManager $groupManager; - private ?IUserSession $userSession; - private SystemStatistics $systemStatistics; - private StorageStatistics $storageStatistics; - private PhpStatistics $phpStatistics; - private DatabaseStatistics $databaseStatistics; - private ShareStatistics $shareStatistics; - private SessionStatistics $sessionStatistics; - - /** - * ApiController constructor. - */ - public function __construct(string $appName, + public function __construct( + string $appName, IRequest $request, - IConfig $config, - IGroupManager $groupManager, - ?IUserSession $userSession, - Os $os, - SystemStatistics $systemStatistics, - StorageStatistics $storageStatistics, - PhpStatistics $phpStatistics, - DatabaseStatistics $databaseStatistics, - ShareStatistics $shareStatistics, - SessionStatistics $sessionStatistics) { + private IConfig $config, + private IGroupManager $groupManager, + private ?IUserSession $userSession, + private Os $os, + private SystemStatistics $systemStatistics, + private StorageStatistics $storageStatistics, + private PhpStatistics $phpStatistics, + private FpmStatistics $fpmStatistics, + private DatabaseStatistics $databaseStatistics, + private ShareStatistics $shareStatistics, + private SessionStatistics $sessionStatistics, + ) { parent::__construct($appName, $request); - - $this->config = $config; - $this->groupManager = $groupManager; - $this->userSession = $userSession; - $this->os = $os; - $this->systemStatistics = $systemStatistics; - $this->storageStatistics = $storageStatistics; - $this->phpStatistics = $phpStatistics; - $this->databaseStatistics = $databaseStatistics; - $this->shareStatistics = $shareStatistics; - $this->sessionStatistics = $sessionStatistics; } /** @@ -114,6 +93,7 @@ public function info(bool $skipApps = true, bool $skipUpdate = true): DataRespon 'server' => [ 'webserver' => $this->getWebserver(), 'php' => $this->phpStatistics->getPhpStatistics(), + 'fpm' => $this->fpmStatistics->getFpmStatistics(), 'database' => $this->databaseStatistics->getDatabaseStatistics() ], 'activeUsers' => $this->sessionStatistics->getSessionStatistics() diff --git a/lib/FpmStatistics.php b/lib/FpmStatistics.php new file mode 100644 index 00000000..18b1fc00 --- /dev/null +++ b/lib/FpmStatistics.php @@ -0,0 +1,47 @@ +dateTimeFormatter->formatDateTime($status['start-time']); + unset($status['procs']); + return $status; + } +} diff --git a/lib/Settings/AdminSettings.php b/lib/Settings/AdminSettings.php index 0eb9817a..ea24c43f 100644 --- a/lib/Settings/AdminSettings.php +++ b/lib/Settings/AdminSettings.php @@ -11,6 +11,7 @@ namespace OCA\ServerInfo\Settings; use OCA\ServerInfo\DatabaseStatistics; +use OCA\ServerInfo\FpmStatistics; use OCA\ServerInfo\Os; use OCA\ServerInfo\PhpStatistics; use OCA\ServerInfo\SessionStatistics; @@ -24,37 +25,19 @@ use OCP\Settings\ISettings; class AdminSettings implements ISettings { - private Os $os; - private IL10N $l; - private IURLGenerator $urlGenerator; - private StorageStatistics $storageStatistics; - private PhpStatistics $phpStatistics; - private DatabaseStatistics $databaseStatistics; - private ShareStatistics $shareStatistics; - private SessionStatistics $sessionStatistics; - private SystemStatistics $systemStatistics; - public function __construct( - Os $os, - IL10N $l, - IURLGenerator $urlGenerator, - StorageStatistics $storageStatistics, - PhpStatistics $phpStatistics, - DatabaseStatistics $databaseStatistics, - ShareStatistics $shareStatistics, - SessionStatistics $sessionStatistics, - SystemStatistics $systemStatistics, + private Os $os, + private IL10N $l, + private IURLGenerator $urlGenerator, + private StorageStatistics $storageStatistics, + private PhpStatistics $phpStatistics, + private FpmStatistics $fpmStatistics, + private DatabaseStatistics $databaseStatistics, + private ShareStatistics $shareStatistics, + private SessionStatistics $sessionStatistics, + private SystemStatistics $systemStatistics, private IConfig $config, ) { - $this->os = $os; - $this->l = $l; - $this->urlGenerator = $urlGenerator; - $this->storageStatistics = $storageStatistics; - $this->phpStatistics = $phpStatistics; - $this->databaseStatistics = $databaseStatistics; - $this->shareStatistics = $shareStatistics; - $this->sessionStatistics = $sessionStatistics; - $this->systemStatistics = $systemStatistics; } public function getForm(): TemplateResponse { @@ -71,6 +54,7 @@ public function getForm(): TemplateResponse { 'storage' => $this->storageStatistics->getStorageStatistics(), 'shares' => $this->shareStatistics->getShareStatistics(), 'php' => $this->phpStatistics->getPhpStatistics(), + 'fpm' => $this->fpmStatistics->getFpmStatistics(), 'database' => $this->databaseStatistics->getDatabaseStatistics(), 'activeUsers' => $this->sessionStatistics->getSessionStatistics(), 'system' => $this->systemStatistics->getSystemStatistics(true, true), diff --git a/templates/settings-admin.php b/templates/settings-admin.php index cbd5df21..6d7b1b35 100644 --- a/templates/settings-admin.php +++ b/templates/settings-admin.php @@ -370,6 +370,61 @@ function FormatMegabytes(int $byte): string { + +
+ t('Pool name:')); ?> + +
++ t('Pool type:')); ?> + +
++ t('Start time:')); ?> + +
++ t('Accepted connections:')); ?> + +
++ t('Total processes:')); ?> + +
++ t('Active processes:')); ?> + +
++ t('Idle processes:')); ?> + +
++ t('Listen queue:')); ?> + +
++ t('Slow requests:')); ?> + +
++ t('Max listen queue:')); ?> + +
++ t('Max active processes:')); ?> + +
++ t('Max children reached:')); ?> + +
+