-
Notifications
You must be signed in to change notification settings - Fork 40k
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
Scheduler metrics: binding rate limiter saturation rate #17673
Conversation
Can one of the admins verify that this patch is reasonable to test? (reply "ok to test", or if you trust the user, reply "add to whitelist") If this message is too spammy, please complain to ixdy. |
1 similar comment
Can one of the admins verify that this patch is reasonable to test? (reply "ok to test", or if you trust the user, reply "add to whitelist") If this message is too spammy, please complain to ixdy. |
138b381
to
1929a04
Compare
Labelling this PR as size/M |
1929a04
to
80cfde7
Compare
@@ -107,6 +107,13 @@ func New(c *Config) *Scheduler { | |||
|
|||
// Run begins watching and scheduling. It starts a goroutine and returns immediately. | |||
func (s *Scheduler) Run() { | |||
go func() { |
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.
can we move this to metrics.go and add a func called ReportRateLoop
or something like that?
Labelling this PR as size/S |
Labelling this PR as size/M |
2567f6a
to
84a5b0b
Compare
Made some wrong assumptions on rate limiter. |
Once juju/ratelimit#10 is merged, I should be able to continue on this work:
|
"github.com/prometheus/client_golang/prometheus" | ||
) | ||
|
||
const schedulerSubsystem = "scheduler" | ||
|
||
var BindingRateObserveInterval = 200 * time.Millisecond |
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.
make it const
@hongchaodeng - what's the status of it? Do you want to proceed with it? |
@wojtek-t |
@hongchaodeng I think we should push in the rate limiter saturation metrics anyway. |
Thanks - LGTM |
@k8s-bot ok to test |
GCE e2e test build/test passed for commit ee39839d8ec7ab3e2fd9d6061c4e6645c8911975. |
Test failure looks like a real thing:
|
How to reproduce that? |
It happened during the integration test, so |
ratelimiter could be nil. See: kubernetes/test/integration/extender_test.go Line 241 in 41ebe6f
We should add a caveat comment. |
Fixed and tested |
GCE e2e test build/test passed for commit c4fdb7a. |
@hongchaodeng - thanks! LGTM |
@k8s-bot test this [submit-queue is verifying that this PR is safe to merge] |
GCE e2e build/test failed for commit c4fdb7a. |
@k8s-bot test this |
GCE e2e test build/test passed for commit c4fdb7a. |
@k8s-bot test this [submit-queue is verifying that this PR is safe to merge] |
GCE e2e test build/test passed for commit c4fdb7a. |
Automatic merge from submit-queue |
Auto commit by PR queue bot
This PR exposes the pod binding rate. We are exposing it because there is a rate limiter. We want to measure and see how long before it becomes a bottleneck.