-
Notifications
You must be signed in to change notification settings - Fork 397
refactor(loadtest): remove goose
#11204
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR removes the goose load testing framework and replaces it with a lightweight custom HTTP load testing implementation. The refactor aims to simplify dependencies and provide more direct control over the load testing logic, but introduces several critical functional regressions.
Key Changes
- Removed
gooseandgumdropdependencies, replacing Goose-based load testing with a custom tokio-based implementation - Simplified HTTP test configuration from duration/user-based to connection-based model
- Removed metrics collection and reporting functionality that previously provided quantitative test results
Reviewed changes
Copilot reviewed 6 out of 7 changed files in this pull request and generated 10 comments.
Show a summary per file
| File | Description |
|---|---|
| rust/tests/loadtest/src/http.rs | Complete rewrite of HTTP load testing: removed goose integration, implemented custom connection-based testing with reqwest, eliminated metrics collection |
| rust/tests/loadtest/src/main.rs | Updated TestSelector::resolve_http to use simplified connection-based config instead of duration/users |
| rust/tests/loadtest/src/config.rs | Changed HttpConfig from users/run_time ranges to single max_connections value |
| rust/tests/loadtest/loadtest.example.toml | Updated example config to reflect new connection-based parameters |
| rust/tests/loadtest/Cargo.toml | Removed goose and gumdrop dependencies |
| rust/Cargo.lock | Removed transitive dependencies from goose/gumdrop, updated reqwest to 0.12.26 |
| rust/deny.toml | Cleaned up version skips that were only needed for goose dependency conflicts |
59d9e68 to
76f4e56
Compare
Instead of pulling in all of
goose, we can instead make HTTP calls ourselves usingreqwest. In later iterations, we can then extend this by e.g. crawling the host further if the response istext/html. For now, a single request per host is enough.Resolves: #11130