From 3ec80a5fcba7097a9f855ab34494fa530cdc36e1 Mon Sep 17 00:00:00 2001 From: Nils Pukropp Date: Sun, 22 Feb 2026 19:29:23 +0100 Subject: [PATCH] feat: upgrade all dependencies and overhaul UI with new branding --- src/App.tsx | 224 ++++++++++++++++++++++++++++------------------------ 1 file changed, 122 insertions(+), 102 deletions(-) diff --git a/src/App.tsx b/src/App.tsx index af8a315..61e19fa 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -136,28 +136,30 @@ function App() {
- - SysPulse +
+ +
+ SysPulse
@@ -167,34 +169,38 @@ function App() {
-
- +
+
+
-

Profiling Active

-

{formatDuration(stats.recording_duration)}

+

Profiling Active

+

{formatDuration(stats.recording_duration)}

-
-
CPU
-
{avgCpu.toFixed(1)}%
+
+
Global CPU
+
{avgCpu.toFixed(1)}%
-
-
RAM
-
{memoryPercent.toFixed(1)}%
+
+
Global RAM
+
{memoryPercent.toFixed(1)}%
-

Minimal footprint mode enabled to ensure accurate results.

+
+ + Minimal footprint mode enabled +
) : ( <>
-
-
CPU Load
+
+
CPU Load
- {avgCpu.toFixed(1)} - % + {avgCpu.toFixed(1)} + %
@@ -205,71 +211,78 @@ function App() { - +
-
-
Memory
+
+
Memory
- {(stats.used_memory / 1024 / 1024 / 1024).toFixed(1)} - GB used + {(stats.used_memory / 1024 / 1024 / 1024).toFixed(1)} + GB used
-
- {memoryPercent.toFixed(1)}% - {(stats.total_memory / 1024 / 1024 / 1024).toFixed(0)} GB +
+ {memoryPercent.toFixed(1)}% Utilized + {(stats.total_memory / 1024 / 1024 / 1024).toFixed(0)} GB Total
-
-
+
+
-
-
Tasks
+
+
Tasks
- {stats.processes.length} - active + {stats.processes.length} + Processes
-
- Profiling will merge child processes into their parents for consolidated analysis. +
+ Automatic aggregation is active. Child processes are merged for cleaner profiling.
-
-
-

- - Live Process Feed +
+
+

+ + Live Feed

-
Top 50 Consumers
+
+
+ Real-time +
-
-
Name
-
PID
-
CPU
-
Memory
+
+
Process
+
PID
+
CPU %
+
Memory
Action
-
+
{stats.processes.map((proc) => ( -
-
{proc.name}
-
{proc.pid}
-
{proc.cpu_usage.toFixed(1)}%
-
{(proc.memory / 1024 / 1024).toFixed(0)} MB
-
+
+
+
+ {proc.name} +
+
{proc.pid}
+
{proc.cpu_usage.toFixed(1)}%
+
{(proc.memory / 1024 / 1024).toFixed(0)} MB
+
@@ -328,51 +341,53 @@ function ReportView({ report, onBack }: { report: ProfilingReport, onBack: () =>
- - Profiling Report +
+ +
+ Profiling Report
-
-
Session Time
-
{formatDuration(report.duration_seconds)}
+
+
Session Duration
+
{formatDuration(report.duration_seconds)}
-
-
End of Session
-
{new Date(report.end_time).toLocaleTimeString()}
+
+
Session End
+
{new Date(report.end_time).toLocaleTimeString()}
-
-
Uniques
-
{report.aggregated_processes.length}
+
+
Unique Processes
+
{report.aggregated_processes.length}
-
+
Issue Alerts
-
+
{report.aggregated_processes.filter(p => p.warnings.length > 0).length}
-
+

- Session Load Profile + Session Load Profile

@@ -388,7 +403,7 @@ function ReportView({ report, onBack }: { report: ProfilingReport, onBack: () => @@ -398,45 +413,50 @@ function ReportView({ report, onBack }: { report: ProfilingReport, onBack: () =>
-
+
-

- Analysis Matrix +

+ Analysis Matrix

- CLICK PROCESS TO INSPECT + Select Process to Inspect

-
+
handleSort('name')}> Process {sortField === 'name' && (sortOrder === 'asc' ? '↑' : '↓')}
-
handleSort('instance_count')}>Units
-
handleSort('avg_cpu')}>Avg CPU
-
handleSort('peak_cpu')}>Peak CPU
-
handleSort('avg_memory_mb')}>Avg Mem
-
handleSort('peak_memory_mb')}>Peak Mem
-
Insights
+
handleSort('instance_count')}>Units
+
handleSort('avg_cpu')}>Avg CPU
+
handleSort('peak_cpu')}>Peak CPU
+
handleSort('avg_memory_mb')}>Avg Mem
+
handleSort('peak_memory_mb')}>Peak Mem
+
Insights
-
+
{sortedProcesses.map((proc, i) => (
setSelectedProcess(proc)} - className="table-row grid grid-cols-[2fr_0.8fr_1fr_1fr_1fr_1fr_2fr] gap-2 px-4 py-3 border-b border-surface1/20 hover:bg-surface1/30 cursor-pointer transition-colors group" + className="grid grid-cols-[1fr_80px_100px_100px_100px_100px_200px] gap-4 px-4 py-4 border-b border-surface1/20 hover:bg-surface1/20 cursor-pointer transition-all rounded-xl group" > -
{proc.name}
-
{proc.instance_count}
-
{proc.avg_cpu.toFixed(1)}%
-
{proc.peak_cpu.toFixed(1)}%
-
{proc.avg_memory_mb.toFixed(0)}MB
-
{proc.peak_memory_mb.toFixed(0)}MB
-
- {proc.warnings.map((w, idx) => ( - - {w} +
+
+ {proc.name} +
+
{proc.instance_count}
+
{proc.avg_cpu.toFixed(1)}%
+
{proc.peak_cpu.toFixed(1)}%
+
{proc.avg_memory_mb.toFixed(0)}MB
+
{proc.peak_memory_mb.toFixed(0)}MB
+
+ {proc.warnings.length > 0 ? proc.warnings.map((w, idx) => ( + + {w} - ))} + )) : ( + Healthy + )}
))}