Parent process runner
Parse recorder flags, launch another Node script with the same Node binary, preserve exit status, and keep target arguments separate from recorder options.
Build a local recorder that launches another Node program, observes the process boundary, injects a small probe when internal data is needed, and writes reports a developer can inspect after the run.
$ npm run flight -- fixtures/hello.jsProves the parent runner and child exit path.
$ npm run flight -- --sample-ms 100 fixtures/cpu-loop.jsCaptures the hot window without extra dependencies.
$ npm run flight -- --timeout-ms 1500 fixtures/hanging-server.jsTurns a stuck process into recorded evidence.
$ npm run flight -- --html reports/flight.html fixtures/mixed-load.jsWrites the reviewable run report.
$ npm run flight -- compare reports/copy.json reports/view.json --markdown reports/comparison.mdShows how two recordings diverge.
Parse recorder flags, launch another Node script with the same Node binary, preserve exit status, and keep target arguments separate from recorder options.
Forward stdout and stderr live, count bytes, keep bounded previews, forward SIGINT/SIGTERM, and record the signal path before the recorder exits.
Inject an ESM preload into the child process when internal runtime counters are needed: memory, CPU, event loop delay, active resources, warnings, rejections, and exceptions.
Write JSON timeline data, focused metric files, HTML and Markdown reports, then compare multiple runs from existing report files.
The build starts with command parsing and ends with multi-run comparison. Each phase ships one observable capability and one artifact to inspect.
Create the CLI shell that accepts a target script path, prints useful help, and rejects invalid recorder flags.
Run a target Node script from the recorder and preserve the child process result.
Stream child output through the recorder while keeping byte counts and timestamped previews.
Capture spawn time, exit time, signal, exit code, and elapsed duration in one lifecycle record.
Forward SIGINT and SIGTERM from the recorder to the child and record the shutdown path.
Inject an ESM preload into the child process and send probe events back to the parent.
Sample RSS, heap, external memory, and ArrayBuffer memory from inside the child.
Sample process CPU usage over time and identify the hottest window in the run.
Measure event loop delay with histogram statistics and sampling drift.
Report active resources that keep the child process alive.
Record runtime warnings and failure events while preserving the target program's failure behavior.
Pass env files, explicit environment values, NODE_OPTIONS, and extra Node flags into the child.
Combine lifecycle, stdio, memory, CPU, event loop delay, warnings, handles, and exit data into one ordered JSON report.
Render human-readable HTML and Markdown reports from the same JSON data.
Compare two or more recordings and write a Markdown comparison report.
Lab 01 treats reports as first-class artifacts: raw metric files, a combined timeline, readable HTML, Markdown for review notes, and a comparison report for multiple recordings.
stdio.jsonstdout/stderr byte totals and previewslifecycle.jsonspawn, close, signal, and elapsed datamemory.jsonRSS, heap, external, and ArrayBuffer samplescpu.jsonCPU time windows and hottest sampleevent-loop.jsondelay histogram and timer driftflight.jsonone ordered runtime timelineflight.htmlhuman-readable run reportcomparison.mdmulti-run memory and timing deltasSwitch between one-reader pricing and team licenses for up to 25 team members.
Volume I as EPUB, light/dark PDFs, slides, cheatsheets, and future updates.
All Labs plus the downloadable Volume I bundle in one purchase. Save $9.99 vs buying separately.
Seven long-form builds: recorder, binary store, stream workbench, resolver, watcher, task runtime, and protocol gateway.
Volume I files, slides, cheatsheets, and updates for a small engineering team.
Node Runtime Labs plus the downloadable Volume I bundle in one team license.
Seven long-form builds for onboarding, study groups, and internal training.
The bundle includes seven runtime projects covering process observation, binary storage, streams, module resolution, file watching, async orchestration, and custom protocols.