diff --git a/resources/views/livewire/fleet/metrics.blade.php b/resources/views/livewire/fleet/metrics.blade.php
index cf258ebc0e..a5289a96aa 100644
--- a/resources/views/livewire/fleet/metrics.blade.php
+++ b/resources/views/livewire/fleet/metrics.blade.php
@@ -6,6 +6,10 @@ $tabButtonInactive = 'text-neutral-500 hover:text-black dark:text-fg-faint dark:
// Tiles read "Fleet …" across all servers, but just "CPU / Memory / …" when scoped to one.
$scoped = $serverUuid !== '';
+$cpuHelper = $scoped
+ ? 'Average usage of all CPU cores on this server. 100% means that all cores are fully busy.'
+ : 'Average CPU usage of the servers. The value of each server is the average of all its CPU cores, so 100% means that all cores are fully busy. Servers are not weighted by their number of cores.';
+
$rangeListboxOptions = [
['value' => '24h', 'label' => 'Last 24 hours'],
['value' => '7d', 'label' => 'Last 7 days'],
@@ -213,7 +217,7 @@ $serverListboxOptions = array_merge(
fleet series fall into a clean 2x2 below (no orphaned cell). --}}
@foreach (['cpu' => 'CPU', 'memory' => 'Memory used', 'network' => 'Network throughput', 'load' => 'Load average', 'disk' => 'Disk usage'] as $key => $label)
-
$key === 'cpu'])>
+ $key === 'cpu'])>
@@ -231,7 +235,7 @@ $serverListboxOptions = array_merge(
@@ -296,7 +300,7 @@ $serverListboxOptions = array_merge(
@include('livewire.traffic._sort-header', ['column' => 'name', 'label' => 'Container', 'text' => true, 'class' => 'justify-self-start'])
@include('livewire.traffic._sort-header', ['column' => 'server', 'label' => 'Server', 'text' => true, 'class' => 'justify-self-start'])
@foreach ($containerMetrics as $key => $label)
- @include('livewire.traffic._sort-header', ['column' => $key, 'label' => $label, 'class' => 'justify-self-end'])
+ @include('livewire.traffic._sort-header', ['column' => $key, 'label' => $label, 'class' => 'justify-self-end', 'title' => $key === 'cpu' ? 'Sort by CPU. 100% means one CPU core is fully busy, so a container can go above 100%.' : null])
@endforeach
diff --git a/resources/views/livewire/project/shared/metrics.blade.php b/resources/views/livewire/project/shared/metrics.blade.php
index 98fea1f754..ab623bb3c4 100644
--- a/resources/views/livewire/project/shared/metrics.blade.php
+++ b/resources/views/livewire/project/shared/metrics.blade.php
@@ -63,7 +63,7 @@
+ helper="CPU usage of the container, as in docker stats. 100% means one CPU core is fully busy, so a container that uses more than one core can go above 100%. The maximum is the number of cores × 100%.">
diff --git a/resources/views/livewire/server/charts.blade.php b/resources/views/livewire/server/charts.blade.php
index 60841dd60d..37a123eeef 100644
--- a/resources/views/livewire/server/charts.blade.php
+++ b/resources/views/livewire/server/charts.blade.php
@@ -63,7 +63,7 @@
charts fall into a 2x2 below (mirrors the fleet /metrics layout). --}}
+ helper="Average usage of all CPU cores on this server. 100% means that all cores are fully busy. For example, on a server with 8 cores, one fully busy core shows as 12.5%.">