Skip to content

Conversation

@yusukebe
Copy link
Member

@yusukebe yusukebe commented Jun 15, 2025

Summary

  • Consolidate performance measurement comments from multiple separate comments into a single unified comment
  • Integrate HTTP speed benchmarking into the existing performance measurement system
  • Maintain backward compatibility for local development workflows

Changes

Performance Measurement Consolidation

  • Before: Multiple separate comments (Bundle size + tsc, Bundle size + typescript-go)
  • After: Single unified comment with 4 sections:
    1. Bundle size check
    2. HTTP Speed Check ✨ (new)
    3. Compiler Diagnostics (tsc)
    4. Compiler Diagnostics (typescript-go)

HTTP Speed Check Integration

  • Move benchmark.ts to scripts/ directory for consistency with other perf-measures
  • Add --ci flag for CI-optimized execution (silent mode, JSON output for octocov)
  • Automatic bombardier installation in CI
  • CI-optimized settings (shorter duration, lower concurrency)
  • Preserve detailed comparison mode for local development

Technical Implementation

  • Update GitHub Actions job names to reflect new capabilities
  • Create consolidated octocov configuration files
  • Use script file location for reliable path resolution in CI
  • Skip unnecessary build steps in CI mode

Test plan

  • Verify GitHub Actions run successfully on this PR
  • Confirm that only one performance measurement comment is posted instead of multiple
  • Check that the comment includes all 4 sections with proper ordering
  • Validate HTTP speed check measurements are accurate and comparable
  • Ensure local development workflow remains unchanged

🤖 Generated with Claude Code

Add performance benchmarking tool inspired by bun-http-framework-benchmark:
- Test ping/query/body endpoints
- Compare Git revisions
- Output results in table format

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@codecov
Copy link

codecov bot commented Jun 15, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 91.35%. Comparing base (c549d3e) to head (e7a02cb).
Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #4220   +/-   ##
=======================================
  Coverage   91.35%   91.35%           
=======================================
  Files         168      168           
  Lines       10707    10707           
  Branches     3099     3086   -13     
=======================================
  Hits         9781     9781           
  Misses        925      925           
  Partials        1        1           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Rename directory from perf-measures/http-benchmark to perf-measures/speed-check
for better naming consistency.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment was marked as duplicate.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

yusukebe and others added 9 commits June 16, 2025 05:37
Add HTTP performance benchmarking to the consolidated performance measurement system with --ci mode support.

- Move benchmark.ts to scripts/ directory for consistency
- Add --ci flag for CI-optimized execution (silent mode, JSON output)
- Integrate speed-check results into octocov configuration
- Install bombardier automatically in CI
- Preserve detailed comparison mode for local development

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
Update GitHub Actions job names to reflect the addition of HTTP speed checking alongside type checking and bundle size checking.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
Fix 404 error by updating to bombardier v2.0.1 and downloading the binary directly instead of using a tar.gz archive that no longer exists.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
- Skip buildVersion in CI mode and use existing dist folder directly
- Reorder metrics display: Bundle size -> Speed check -> Compiler diagnostics
- Eliminate unnecessary build steps that caused CI failures

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
- Fix cp command path from `/dist` to `${HONO_ROOT}/dist`
- Change log function parameter type from any[] to unknown[]
- Run format:fix and lint:fix to resolve style issues

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
Replace process.cwd() with import.meta.dirname to ensure paths are resolved relative to the script file location, not the execution directory. This fixes dist folder path issues in CI.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
@github-actions

This comment has been minimized.

@github-actions
Copy link

Bundle size check

main (c549d3e) #4220 (35fcbdb) +/-
Bundle Size (B) 19,027B 19,027B 0B
Bundle Size (KB) 18.58K 18.58K 0K

Compiler Diagnostics (tsc)

main (c549d3e) #4220 (35fcbdb) +/-
Files 261 261 0
Lines 116,441 116,441 0
Identifiers 114,443 114,443 0
Symbols 259,900 259,900 0
Types 162,567 162,567 0
Instantiations 3,039,293 3,039,293 0
Memory used 272,811K 276,095K 3,284K
I/O read 0.02s 0.04s 0.02s
I/O write 0s 0s 0s
Parse time 0.66s 0.83s 0.17s
Bind time 0.27s 0.32s 0.05s
Check time 3.72s 3.99s 0.27s
Emit time 0s 0s 0s
Total time 4.65s 5.14s 0.49s

Compiler Diagnostics (typescript-go)

main (c549d3e) #4220 (35fcbdb) +/-
Files 231 231 0
Lines 106,340 106,340 0
Identifiers 106,183 106,183 0
Symbols 371,551 371,551 0
Types 293,004 293,004 0
Instantiations 3,568,489 3,568,489 0
Memory used 229,662K 229,762K 100K
Memory allocs 10,003,726 10,003,601 -125
Parse time 0.068s 0.074s 0.006s
Bind time 0.016s 0.02s 0.004s
Check time 1.38s 1.518s 0.138s
Emit time 0s 0s 0s
Total time 1.476s 1.624s 0.148s

HTTP speed check

Ping (req/s) Query (req/s) Body (req/s) Average (req/s)
52,794.78req/s 36,333.17req/s 31,029.89req/s 40,052.613req/s

Reported by octocov

@yusukebe yusukebe changed the title chore: add HTTP benchmark tool ci: add HTTP speed check Jun 15, 2025
@yusukebe yusukebe merged commit c43c53f into main Jun 15, 2025
16 checks passed
@yusukebe yusukebe deleted the chore/http-benchmark-tool branch June 15, 2025 21:07
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.

2 participants