@if (metrics$ | async; as metrics) { @if (viewMode === 'monitor') {
HOSTNAME {{ metrics.hostname }}
OPERATING SYSTEM {{ metrics.operatingSystem }} {{ metrics.osVersion }}
PROCESSOR {{ metrics.processor }} {{ metrics.logicalProcessors }} logical processors
CPU Processor load
{{ metrics.cpuUsagePercent | number:'1.1-1' }}%
RAM Physical memory
{{ metrics.memoryUsagePercent | number:'1.1-1' }}%
Used: {{ formatBytes(metrics.usedMemoryBytes) }} Total: {{ formatBytes(metrics.totalMemoryBytes) }}
} @else {
HTOP-WEB

{{ metrics.hostname }}

{{ metrics.operatingSystem }} {{ metrics.osVersion }}
CPU {{ metrics.cpuUsagePercent | number:'1.1-1' }}%
{{ metrics.processor }} · {{ metrics.logicalProcessors }} logical processors
Mem {{ formatBytes(metrics.usedMemoryBytes) }} / {{ formatBytes(metrics.totalMemoryBytes) }}
{{ metrics.memoryUsagePercent | number:'1.1-1' }}% used · {{ formatBytes(metrics.availableMemoryBytes) }} available
} } @else {

Connecting to system metrics...

}

{{ viewMode === 'htop' ? 'Tasks / Processes' : 'Processes' }}

{{ viewMode === 'htop' ? 'Interactive process overview' : 'Live system process monitor' }}

@if (processes$ | async; as processes) { {{ getSortedProcesses(processes).length }} processes }
@if (processes$ | async; as processes) {
@for (process of getSortedProcesses(processes); track process.pid) { } @empty { }
State Virtual memory Threads Uptime
{{ process.pid }} {{ process.name }} {{ process.state }} {{ process.cpuUsagePercent | number:'1.1-1' }}%
{{ formatBytes(process.residentMemoryBytes) }} {{ formatBytes(process.virtualMemoryBytes) }} {{ process.threadCount }} {{ formatUptime(process.uptimeSeconds) }}
No matching processes found.
} @else {

Loading processes...

}