feat: Integrate SmartMetrics for enhanced CPU and memory monitoring in UI

This commit is contained in:
Juergen Kunz
2025-06-12 11:22:18 +00:00
parent facae93e4b
commit 8ce6c88d58
8 changed files with 154 additions and 170 deletions

View File

@ -138,8 +138,10 @@ export class OpsViewOverview extends DeesElement {
private renderServerStats(): TemplateResult {
if (!this.statsState.serverStats) return html``;
const cpuUsage = Math.round((this.statsState.serverStats.cpuUsage.user + this.statsState.serverStats.cpuUsage.system) / 2);
const memoryUsage = Math.round((this.statsState.serverStats.memoryUsage.heapUsed / this.statsState.serverStats.memoryUsage.heapTotal) * 100);
const cpuUsage = Math.round(this.statsState.serverStats.cpuUsage.user);
const memoryUsage = this.statsState.serverStats.memoryUsage.actualUsagePercentage !== undefined
? Math.round(this.statsState.serverStats.memoryUsage.actualUsagePercentage)
: Math.round((this.statsState.serverStats.memoryUsage.heapUsed / this.statsState.serverStats.memoryUsage.heapTotal) * 100);
const tiles: IStatsTile[] = [
{
@ -183,7 +185,9 @@ export class OpsViewOverview extends DeesElement {
type: 'percentage',
icon: 'memory',
color: memoryUsage > 80 ? '#ef4444' : memoryUsage > 60 ? '#f59e0b' : '#22c55e',
description: `${this.formatBytes(this.statsState.serverStats.memoryUsage.heapUsed)} / ${this.formatBytes(this.statsState.serverStats.memoryUsage.heapTotal)}`,
description: this.statsState.serverStats.memoryUsage.actualUsageBytes !== undefined && this.statsState.serverStats.memoryUsage.maxMemoryMB !== undefined
? `${this.formatBytes(this.statsState.serverStats.memoryUsage.actualUsageBytes)} / ${this.formatBytes(this.statsState.serverStats.memoryUsage.maxMemoryMB * 1024 * 1024)}`
: `${this.formatBytes(this.statsState.serverStats.memoryUsage.rss)} / ${this.formatBytes(this.statsState.serverStats.memoryUsage.heapTotal)}`,
},
];