Skip to content

Preserve Python and Node symbols in memory flamegraphs - #556

Draft
not-matthias wants to merge 1 commit into
mainfrom
cod-3654-support-memory-flamegraphs-for-pythonnode
Draft

not-matthias wants to merge 1 commit into
mainfrom
cod-3654-support-memory-flamegraphs-for-pythonnode

Conversation

@not-matthias

Copy link
Copy Markdown
Member

Summary

  • Capture per-process perf maps and Python JIT unwind data alongside native memory artifacts.
  • Enable V8 perf maps for memory runs while preserving existing NODE_OPTIONS.
  • Document native-allocation coverage and runtime limitations.

Verification

  • cargo test --release --bin codspeed writes_keyed_artifacts_and_metadata_for_a_streamed_mapping
  • cargo fmt --all --check
  • Local Python 3.12 perf-trampoline and Node 22 memory runs produced perf maps and resolved language frames when parsed offline.

Harvest per-process perf maps and Python JIT dumps before saving memtrack metadata, using the same artifact pipeline as walltime. Enable V8 perf-map output for memory benchmarks through NODE_OPTIONS while preserving existing options. Without these side artifacts, offline allocation stacks lose their runtime frames.
@codspeed

codspeed Bot commented Sep 29, 2026

Copy link
Copy Markdown

Merging this PR will not alter performance

⚠️ Unknown Walltime execution environment detected

Using the Walltime instrument on standard Hosted Runners will lead to inconsistent data.

For the most accurate results, we recommend using CodSpeed Macro Runners: bare-metal machines fine-tuned for performance measurement consistency.

✅ 33 untouched benchmarks
⏩ 4 skipped benchmarks1


Comparing cod-3654-support-memory-flamegraphs-for-pythonnode (98a1d37) with main (080ed5f)

Open in CodSpeed

Footnotes

  1. 4 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant