From 1f5f51e3e545a55bfb1b69ce0c86496d5ba3191d Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Thu, 9 May 2024 15:44:32 +0200 Subject: [PATCH] Refactor metrics retrieval and update chart visualization --- app/Models/Server.php | 8 +++----- resources/views/livewire/project/shared/logs.blade.php | 6 +++++- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/app/Models/Server.php b/app/Models/Server.php index a4f23aa2f..2f4c29080 100644 --- a/app/Models/Server.php +++ b/app/Models/Server.php @@ -483,14 +483,12 @@ $schema://$host { public function getMetrics() { if ($this->is_metrics_enabled) { - $cpu = instant_remote_process(["cat /data/coolify/metrics/cpu.csv | grep 'Overall' | tail -200 | awk -F, '{print $1\",\" \$NF}'"], $this, false); - $cpu = str($cpu)->replace("%", ""); - ray($cpu); + $from = now()->subMinutes(5)->toIso8601ZuluString(); + $cpu = instant_remote_process(["docker exec coolify-sentinel sh -c 'curl http://localhost:8888/api/cpu/history?from=$from'"], $this, false); + $cpu = str($cpu)->explode("\n")->skip(1)->all(); $parsedCollection = collect($cpu)->flatMap(function ($item) { return collect(explode("\n", trim($item)))->map(function ($line) { list($time, $value) = explode(',', trim($line)); - // convert $time from nanoseconds to milliseconds for apexcharts - $time = (int) $time / 1000000; return [(int) $time, (float) $value]; }); })->toArray(); diff --git a/resources/views/livewire/project/shared/logs.blade.php b/resources/views/livewire/project/shared/logs.blade.php index 4831b91e4..a48b07634 100644 --- a/resources/views/livewire/project/shared/logs.blade.php +++ b/resources/views/livewire/project/shared/logs.blade.php @@ -93,6 +93,7 @@ return '#D9534F' } }], + xaxis: { type: 'datetime' }, @@ -107,9 +108,12 @@ enabled: true }, chart: { + stroke: { + curve: 'smooth', + }, height: 500, width: "100%", - type: "area", + type: "line", toolbar: { show: true },