-
Notifications
You must be signed in to change notification settings - Fork 85
Add adaptive circuit breaker #760
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
| attr_reader :name, :pid_controller, :ping_thread | ||
|
|
||
| def initialize(name:, kp: 1.0, ki: 0.1, kd: 0.0, | ||
| window_size: 10, history_duration: 3600, |
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.
Regarding the calculation of online mean, Welford's algorithm was discussed as a solution to use constant space
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.
Also, do we want to allow developers to configure the interval of integration? (history_duration)?
4c9eb68 to
550a46f
Compare
69ab5b7 to
550a46f
Compare
Update variable names Fill sliding window with 1 hr worth data Add comment Update experiemnt resource to be deterministic Change deterministic default value to false Cleanup Remove unused variable Make initial seed error rate more customizable Add seed_error_rate as a property
* Prefilling added * Change initial duration to 900 s
* testing different circuit breaking scenarios * adding concurrency * adds more puts to get further information during phases * Fixing concurrency, unprotected ping, extras * update classic sustained test * cleaning up outdated tests, and testing without ping rate * modify ki instead of dividing by window size --------- Co-authored-by: Abdulrahman Alhamali <[email protected]>
d52fa4d to
56ed006
Compare
notify on state transitions and on controller updates
add vertical reference lines on classic CB state changes and more helper flex
Remove dependency injection
Fix integral windup
…reads Different Semians between different threads
* Set up automated test for PID controller Reset Update experiment graphs Delete existing image Done Update experiment graphs Update experiment graphs Refactor experiments folder and CI Update scope of commit Update experiment graphs Update experiment graphs Update Gemfile Update experiment graphs Move windup file into test folder Update experiment graphs CI should only commit main graphs Update experiment graphs New bot Fail fast Test Delete comment Update experiment graphs test Revert test Add the commit Test Test * Rework CI check Done Final
* allow max threads, and introduce slow query experiment * fix my experiment, and run all other experiments
* add tables, and fix bug in helper * remove useless check * replace with csv tables for better display
Note: this implementation is currently 100% vibe-coded, the plan is to close this PR and create a new, clean one