mapbox / mapbox/node-cpp-skel

Make default release mode build a "profiling" build

Open
#117 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
74
Forks
9
PR merge metrics
No merged PRs in 30d

Description

For the ability to profile our code with perf (and to generate the most readable flamegraphs) it is important to:

  • Compile with -fno-omit-frame-pointer (unless the compiler already defaults to using this flag?)
  • Compile with some debug symbols (unless you don't need detailed stack traces of your node module)

Doing this would move node-cpp-skel to doing a "profiling" build by default: https://github.com/mapbox/cpp/blob/master/glossary.md#profiling-build.

We can accomplish this by applying something like https://github.com/mapnik/node-mapnik/pull/804 to node-cpp-skel.

refs https://twitter.com/brendangregg/status/472869470675795968

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Inspect the repository's default release-build configuration, then compare the requested approach with node-mapnik PR #804. Confirm that the default build uses -fno-omit-frame-pointer and includes debug symbols, and verify the resulting Node module remains buildable and suitable for perf flamegraphs.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, node.js
Domain
build-system, performance
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.