aspect-build / aspect-build/rules_js

Make it easier to get a Node.js profile from an action spawn

Open
#287 4 comments 0 reactions 0 assignees View on GitHub
enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.