Dashboard

Built-in SwiftUI dashboard for local metric visualization. Works standalone without any external dependencies.

How to Open

  • • Click chart icon in menu bar popover
  • • Or: Settings → About → Open Dashboard
  • • Or: /usr/local/bin/pulse --dashboard

Features

  • • Time range selector (All, Today, Yesterday, past 7 days)
  • • Quick zoom buttons (1h, 4h, 24h) and custom date picker
  • • Click + drag to zoom any chart
  • • Hover for top processes at each point
  • • Load external .jsonl files for analysis

What's Included

Summary Stats (aggregated over selected time range)

Avg CPU IdleAvg CPU UsagePeak ThermalPeak Mem PressureAvg SwapAvg BatteryAvg GPUAvg Disk Free

Time-Series Charts

CPU UsageMemoryThermal StateMemory PressureSwapDisk I/ONetworkGPUBattery

Process Tables

Top CPU ProcessesTop Memory ProcessesTop Network Processes

Shows: Process name, Avg usage, Peak usage, Presence %, and Impact badge

Process Impact Classification

The process tables aggregate data across all samples and classify each process by its resource consumption pattern:

BadgeCriteriaMeaning
🔴 Sustained≥50% presence AND high avg usagePersistent resource consumer requiring attention
🟡 Recurring15-50% presencePeriodic consumer, may warrant investigation
🟢 Spike<15% presenceBrief burst, typically not concerning

High usage thresholds: ≥20% CPU average or ≥200 MB memory average. In the Pulse Endpoint app dashboard, these thresholds are configurable via sliders. In the Splunk dashboard, they are fixed.

Thermal States

StateLevelMeaning
Nominal0Normal operating temperature
Fair1Elevated temperature, minor throttling possible
Serious2High temperature, significant throttling
Critical3Maximum throttling engaged to prevent damage

Understanding CPU Percentages

CPU percentages are displayed differently depending on context:

LocationScaleDescription
System CPU (charts)0-100%Total CPU time spent on work (user + system). Always 0-100% regardless of core count.
Menu bar process listCan exceed 100%Raw per-process CPU from macOS. 200% means using 2 full cores.
Dashboard tooltips0-100%Normalized: raw CPU ÷ core count. Easier to compare across machines.

Example: A process using 400% CPU on a 10-core Mac shows as 400% in the menu bar list but 40% in dashboard tooltips.