aspect-build / aspect-build/rules_js
Make it easier to get a Node.js profile from an action spawn
- Dominant language
- Starlark
- Stars
- 378
- Forks
- 183
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 32
Description
When looking at a Bazel profile, the subprocesses are big black boxes.
When you spend 30s running an `ngc` action, you really want to know what's taking the time in there.
This could be something like `bazel build --action_env=JS__DUMP_NODE_TRACE=//that:binary` (along with making sure that action isn't a cache hit) to find out why that binary is slow.
Note: for `tsc` we have a great facility because they have `--diagnostics` and `--extendedDiagnostics`. Some bundlers have profilers built-in too, like @samccone did for Webpack).
Contributor guide
Research direction
No file, test, or entry point is named. Start by reproducing a slow ngc action with a Bazel profile and trace how Node.js tools are spawned; done means an action can request a Node.js profile and avoid a cache hit so the subprocess work can be inspected.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, node.js, typescript
- Domain
- build-system, performance, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100