Skip to content

Add executor benchmarks, viz, and diagnostic tools#212

Open
sethconvex wants to merge 1 commit intoexecutor-perf-implfrom
executor-perf-benchmarks
Open

Add executor benchmarks, viz, and diagnostic tools#212
sethconvex wants to merge 1 commit intoexecutor-perf-implfrom
executor-perf-benchmarks

Conversation

@sethconvex
Copy link
Copy Markdown
Contributor

@sethconvex sethconvex commented Feb 26, 2026

Summary

Benchmark and diagnostic tooling for executor-mode workflows:

  • benchmark.ts: End-to-end benchmark with simulated and real Claude Haiku modes. Creates 10k-20k workflows with a 4-step pipeline (extract → analyze-a ∥ analyze-b → summarize), manages executor lifecycle, and provides cancel/cleanup operations.

  • http.ts: Interactive benchmark-viz HTML endpoint with timeline visualization showing per-workflow step progression, concurrent step area chart, and shard-sorted view.

  • priorityAnalysis: Verifies FIFO completion ordering by bucketing workflows into creation-time deciles and comparing median completion times.

  • diagnoseTail: Analyzes straggler workflows — computes queue wait, execution time, and inter-step gap percentiles for the slowest N workflows.

  • failAllPendingTasks: Iterates all 100 shards to force-fail every queued task for operational cleanup.

Test plan

  • 10k and 20k benchmarks run successfully with real Claude Haiku API calls
  • Viz renders timeline correctly with step-level color coding
  • priorityAnalysis confirms FIFO ordering

🤖 Generated with Claude Code

- benchmark.ts: 20k workflow benchmark with simulated and real Claude
  Haiku modes. Includes workflow creation, executor management,
  cancel/cleanup, priority analysis, and tail diagnostics.

- http.ts: benchmark-viz HTML endpoint with interactive timeline
  visualization showing per-workflow step progression, concurrent
  step counts, and shard-sorted views.

- failAllPendingTasks action for operational cleanup.
- priorityAnalysis action to verify FIFO completion ordering.
- diagnoseTail action for analyzing straggler workflows.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown
Contributor Author

sethconvex commented Feb 26, 2026

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

This stack of pull requests is managed by Graphite. Learn more about stacking.

@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new Bot commented Feb 26, 2026

Open in StackBlitz

npm i https://pkg.pr.new/get-convex/workflow/@convex-dev/workflow@212

commit: a1b3e98

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Feb 26, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch executor-perf-benchmarks

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

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