Back to Blog

Performance Sessions: Record, Analyze, Optimize

When you're gaming, rendering a video, or compiling a large project, the standard 5-second polling interval isn't enough. You need to see every spike, every thermal throttle, every frame drop. That's what Performance Sessions are for.

Why 1-Second Resolution Matters

MacPulse normally polls system metrics every 5 seconds. That's perfect for background monitoring — it keeps CPU usage under 1% while providing meaningful historical data. But during intensive tasks, a lot can happen in 5 seconds.

A frame rate drop. A thermal throttle. A memory pressure spike. If you're trying to optimize performance, you need to catch these moments. Performance Sessions increase the polling rate to 1-second intervals, capturing every fluctuation in real-time.

Resolution
1 sec
Metrics
7+
Export
CSV
Storage
SQLite

What Gets Captured

Every second during a Performance Session, MacPulse records:

  • CPU Usage — Overall percentage and per-cluster breakdown (P-cores/E-cores)
  • GPU Utilization — Percentage from IOKit, plus GPU-specific memory if available
  • Memory Usage — Percentage, pressure level, and composition
  • Temperatures — CPU, GPU, and system sensors
  • Fan Speeds — Current RPM for all fans
  • FPS — Frame rate capture for the frontmost application
  • Frame Time — Milliseconds per frame for stutter analysis

All data points are timestamped and stored in the SQLite database. You can review sessions later, compare them side by side, or export them for external analysis.

Real-World Use Cases

🎮 Gaming Performance Analysis

Record a session while gaming to see exactly when and why frame drops occur. Correlate FPS dips with CPU/GPU utilization, thermal throttling, or memory pressure. Find out if your performance issues are thermal, CPU-bound, or GPU-bound.

🎬 Video Export Monitoring

Export a 4K video with a Performance Session running. See how your Mac handles the load over time. Identify if thermal throttling is extending your render times, and whether a different fan curve could help.

🔨 Build Performance Debugging

Profile your Xcode builds to understand resource usage. See CPU utilization across efficiency and performance cores. Identify memory pressure during link phases. Compare build times before and after system changes.

📊 Benchmarking

Run standardized workloads with Performance Sessions to create reproducible benchmarks. Export to CSV for spreadsheet analysis. Compare sessions across different configurations, macOS versions, or hardware.

Pro Tip

Name your sessions descriptively — "Baldur's Gate 3 - Ultra Settings" or "Final Cut Export - 4K H.265". This makes it easy to find and compare sessions later. You can rename sessions anytime from the session list.

How to Start a Session

Starting a Performance Session is simple:

  1. Open MacPulse and navigate to the Performance view in the sidebar
  2. Click the Start Session button
  3. Optionally enter a name for the session (or let MacPulse auto-generate one with timestamp)
  4. Perform your task — game, render, compile, whatever you're analyzing
  5. Click Stop Session when finished

The session is immediately saved and available for review. You'll see summary statistics (average FPS, peak temperature, max GPU utilization) and timeline charts for all captured metrics.

Analyzing Session Data

After recording, MacPulse presents your session with:

Summary Statistics

At a glance, see the key numbers: average FPS, 1% lows, peak temperature, max CPU/GPU utilization, and total duration. These help you quickly compare sessions.

Timeline Charts

Interactive charts show how each metric changed over time. Zoom in on specific moments. Hover to see exact values. Identify correlations — like a temperature spike preceding an FPS drop.

Export to CSV

Need to do deeper analysis? Export the full dataset to CSV. Each row represents one second of data with all captured metrics. Import into Excel, Numbers, Google Sheets, or Python for custom analysis.

Session Management

Sessions are stored in MacPulse's SQLite database and persist across app restarts. You can:

  • Rename sessions at any time
  • Delete old sessions you no longer need
  • Compare multiple sessions side by side
  • Export individual sessions or batch export multiple

There's no limit to how many sessions you can store — they're just database rows. A typical 30-minute session uses about 2MB of storage.

Paid Feature, Worth It

Performance Sessions are a paid feature, available after purchasing MacPulse. The 14-day trial includes access to Performance Sessions so you can evaluate them before buying.

We made this a paid feature because it requires significant development effort — high-frequency polling, FPS capture, efficient storage, timeline visualization, and CSV export. If you're serious about performance optimization, it's a powerful tool.

Start Recording

Download MacPulse and capture your first Performance Session. 14-day free trial, full access to all features.

Download for macOS