[GH-ISSUE #8143] [Feature] Import Linux perf.data recordings as read-only profiling Evidence #4687

Open
opened 2026-10-31 00:52:29 +00:00 by bsakaguchi · 0 comments
Owner

Originally created by @jayykernel on GitHub (Oct 30, 2026).
Original GitHub issue: https://github.com/morluto/rea/issues/8143

Before submitting

  • I searched the open and closed issues and pull requests for a related proposal.
  • I understand the contribution scope must be reviewed before integration; open questions are welcome here.
  • This request contains no credentials or private target data.

Area

Process capture or runtime observation

Problem

Linux performance investigations often produce a perf.data file from perf record. REA can inspect binaries and has other runtime-observation workflows, but I could not find a focused importer that turns an existing perf recording into structured, retained Evidence. Analysts currently need to use perf report or external scripts to inspect sampled stacks and then manually relate the results to REA's binary analysis.

Use cases

  • Triage CPU hotspots from a production or CI recording without rerunning the target.
  • Identify frequently sampled functions and call paths in a native application.
  • Relate sampled module/build identities to static binary evidence while keeping unresolved symbols explicit.
  • Compare two recordings without claiming that sampling proves exact execution counts or causality.

Desired outcome

Provide a read-only CLI/MCP workflow for caller-supplied Linux perf.data recordings. Start with a documented, bounded profile of supported perf data formats and sample/callchain records; reuse existing native artifact identity and Evidence contracts.

Acceptance criteria

  • Imports a representative recording offline without launching the recorded process or executing target code.
  • Reports recording metadata, sample counts, timestamps where available, event types, module/build IDs, and sampled instruction/function locations when resolvable.
  • Preserves unresolved symbols, missing build IDs, lost samples, unsupported event types and truncated data as explicit limitations.
  • Does not present sample frequency as exact CPU time or execution count; documents sampling bias and missing-data caveats.
  • Handles malformed/truncated input with typed errors and bounded resource use.
  • Includes deterministic fixtures and CLI/MCP tests, plus documentation of supported perf versions/features.

Scope boundary

This request is for importing existing recordings, not launching perf record, configuring kernel permissions, installing debug symbols, or building a general profiler.

Originally created by @jayykernel on GitHub (Oct 30, 2026). Original GitHub issue: https://github.com/morluto/rea/issues/8143 ### Before submitting - [x] I searched the open and closed issues and pull requests for a related proposal. - [x] I understand the contribution scope must be reviewed before integration; open questions are welcome here. - [x] This request contains no credentials or private target data. ### Area Process capture or runtime observation ### Problem Linux performance investigations often produce a `perf.data` file from `perf record`. REA can inspect binaries and has other runtime-observation workflows, but I could not find a focused importer that turns an existing perf recording into structured, retained Evidence. Analysts currently need to use `perf report` or external scripts to inspect sampled stacks and then manually relate the results to REA's binary analysis. ### Use cases - Triage CPU hotspots from a production or CI recording without rerunning the target. - Identify frequently sampled functions and call paths in a native application. - Relate sampled module/build identities to static binary evidence while keeping unresolved symbols explicit. - Compare two recordings without claiming that sampling proves exact execution counts or causality. ### Desired outcome Provide a read-only CLI/MCP workflow for caller-supplied Linux `perf.data` recordings. Start with a documented, bounded profile of supported perf data formats and sample/callchain records; reuse existing native artifact identity and Evidence contracts. ### Acceptance criteria - Imports a representative recording offline without launching the recorded process or executing target code. - Reports recording metadata, sample counts, timestamps where available, event types, module/build IDs, and sampled instruction/function locations when resolvable. - Preserves unresolved symbols, missing build IDs, lost samples, unsupported event types and truncated data as explicit limitations. - Does not present sample frequency as exact CPU time or execution count; documents sampling bias and missing-data caveats. - Handles malformed/truncated input with typed errors and bounded resource use. - Includes deterministic fixtures and CLI/MCP tests, plus documentation of supported perf versions/features. ### Scope boundary This request is for importing existing recordings, not launching `perf record`, configuring kernel permissions, installing debug symbols, or building a general profiler.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
morluto/rea#4687
No description provided.