CPU-only analysis
Follow samples into the functions behind them.
Open Linux perf.data
Import an existing perf.data recording to explore CPU thread samples, sampled call stacks, hot functions, and flamegraphs. Symbolization quality depends on what was recorded and which target binaries are available.
pulsario perf.data
pulsario perf.data --symbols ./binaries/Scheduler status: partial support
PERF_RECORD_SWITCH context-switch records are decoded. Full scheduler analysis is not implemented: sched:* tracepoint payloads are reported as “recorded, not yet decoded.” Running, runnable, blocked, and runqueue latency views must not be treated as available product features.
Read the recording honestly
A gap between samples is not evidence that a thread was blocked. Scheduler state requires the appropriate recorded events and implemented decoding. Similarly, IPC and cache-miss analysis cannot be derived from a cycles-only recording.
Inspect capabilities without the UI
Use the headless report to see which data is present and supported before opening the viewer. Add --json for structured output.
pulsario --check perf.data
pulsario --check --json perf.data