Skip to content

traceperf run: start, load, explain; known-slow example apps - #7

Merged
thelastbackspace merged 3 commits into
mainfrom
feat/run
Nov 6, 2026
Merged

thelastbackspace merged 3 commits into
mainfrom
feat/run

Conversation

@thelastbackspace

Copy link
Copy Markdown
Owner

traceperf run and known-slow example apps

New

  • traceperf run <app.js> --path /x [--path /y]: starts the app with traceperf/auto, detects its port, sends warm-up requests, then concurrent traffic (-c, -d/-n, --method), and prints stats plus explain findings. Without --path, use the app and press Ctrl-C. -- npm start runs any command via NODE_OPTIONS. --html, --output, --json.
  • examples/slow-apps/: five apps with one planted cause each (blocking, sequential awaits, N+1, slow dependency, errors). run.test.ts runs each and fails if explain misses the cause.

explain fixes found by the example apps

  • N+1 no longer also reported as sequential awaits.
  • Sequential awaits in one parent grouped into one finding (JSON lines now carry sub-ms startMs; ms-rounded ISO starts split runs).
  • Errors listed first; no more "GET /report in GET /report".
  • Warm-up requests keep cold-start work from being reported as blocking.

Testing

  • 211 tests (3 skipped) pass; coverage above threshold; lint, types, typedoc, 11/11 package checks.
  • Verified from a packed tarball against an ESM app outside the repo.

@thelastbackspace
thelastbackspace merged commit a6f0a7c into main Nov 6, 2026
14 checks passed
@thelastbackspace
thelastbackspace deleted the feat/run branch November 6, 2026 11:20
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