From a2eab27da1c9a64566503f46775f42a3e9551018 Mon Sep 17 00:00:00 2001 From: tristan Date: Mon, 6 Apr 2026 16:08:43 +0200 Subject: [PATCH] feat : add EnvironmentHealthProvider for detailed env metrics --- src/State/EnvironmentHealthProvider.php | 45 +++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 src/State/EnvironmentHealthProvider.php diff --git a/src/State/EnvironmentHealthProvider.php b/src/State/EnvironmentHealthProvider.php new file mode 100644 index 0000000..7044798 --- /dev/null +++ b/src/State/EnvironmentHealthProvider.php @@ -0,0 +1,45 @@ +environmentRepository->find($id) : null; + + if (null === $environment) { + throw new NotFoundHttpException(sprintf('Environment "%s" not found.', $id)); + } + + $containerName = $environment->getContainerName(); + $status = $this->dockerService->getContainerStatus($containerName); + $stats = $this->dockerService->getContainerStats($containerName); + + $dto = new EnvironmentHealth(); + $dto->status = $status['status']; + $dto->version = $status['version']; + $dto->startedAt = $status['startedAt']; + $dto->cpuPercent = $stats['cpuPercent']; + $dto->memoryUsage = $stats['memoryUsage']; + $dto->memoryLimit = $stats['memoryLimit']; + $dto->memoryPercent = $stats['memoryPercent']; + + return $dto; + } +}