-
Notifications
You must be signed in to change notification settings - Fork 28
webserver's healthcheck monitors and diagnoses slow callbacks as unhealthy #1406
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
Conversation
Codecov Report
@@ Coverage Diff @@
## master #1406 +/- ##
==========================================
+ Coverage 69.76% 70.76% +0.99%
==========================================
Files 222 225 +3
Lines 8818 8913 +95
Branches 968 979 +11
==========================================
+ Hits 6152 6307 +155
+ Misses 2383 2324 -59
+ Partials 283 282 -1
Continue to review full report at Codecov.
|
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.
Yeah, no more every second day manual restarting!
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.
awesome! just an empty test to clean away
What do these changes do?
Introduces some diagnostics in webserver that monitors slow callbacks. Under certain conditions () the diagnose can determine that the service in unhealthy and swarm will automatically restart it.
servicelib.monitor_slow_callbacks
: hooks look event handler and registers an incident when there is a slow callbackwebserver
new diagnostics modules that keeps track of incidentswebserver
healthcheck now returns 503 when it is overloaded to long-delayed callbacks. Then swarm will restart the webserver.Related issue number
Platform Stability
Split from PR #1401
How to test
Manual Test: Artificially enforced slowdown and diagnostics flagged the service as unhealthy. Swarm reacted by restarting it

Checklist
make openapi-specs
,git commit ...
and thenmake version-*
)