The budget counter and its alert still describe every hit as "deferred until the next cycle." That is only true for one of the two events.
attune_budget_exhausted_total increments in recordBudgetBlock (internal/controller/resize.go) for both:
BudgetExhausted: this increase fits the configured cap, but not the budget left in this cycle. A later cycle can run it.
IncreaseExceedsBudget: one container's increase is larger than maxCpuIncreasePerMinute, maxMemoryIncreasePerMinute, maxTotalCpuIncrease, or maxTotalMemoryIncrease. Waiting does not help. Raise that cap or lower the target.
Stale text today:
docs/reference/metrics.md, section attune_budget_exhausted_total, mentions only the per-cycle cap and says the resize was deferred.
charts/attune/templates/prometheusrule.yaml, alert AttuneBudgetExhausted, says the per-cycle budget was exhausted, that resizes are being deferred, and names only maxTotalCPUIncrease / maxTotalMemoryIncrease.
docs/guides/prometheus-setup.md table row says "Resize budget exhausted for 30m".
This issue is reserved for a first-time contributor. Please leave the ready label off.
Done when
Pull request
Use a title like docs: describe both budget cap events on the alert. The subject after docs: must start with a lowercase letter. Commit with git commit -s.
The budget counter and its alert still describe every hit as "deferred until the next cycle." That is only true for one of the two events.
attune_budget_exhausted_totalincrements inrecordBudgetBlock(internal/controller/resize.go) for both:BudgetExhausted: this increase fits the configured cap, but not the budget left in this cycle. A later cycle can run it.IncreaseExceedsBudget: one container's increase is larger thanmaxCpuIncreasePerMinute,maxMemoryIncreasePerMinute,maxTotalCpuIncrease, ormaxTotalMemoryIncrease. Waiting does not help. Raise that cap or lower the target.Stale text today:
docs/reference/metrics.md, sectionattune_budget_exhausted_total, mentions only the per-cycle cap and says the resize was deferred.charts/attune/templates/prometheusrule.yaml, alertAttuneBudgetExhausted, says the per-cycle budget was exhausted, that resizes are being deferred, and names onlymaxTotalCPUIncrease/maxTotalMemoryIncrease.docs/guides/prometheus-setup.mdtable row says "Resize budget exhausted for 30m".This issue is reserved for a first-time contributor. Please leave the
readylabel off.Done when
docs/reference/metrics.mdsays the counter covers both events, including the per-minute caps.AttuneBudgetExhaustedannotation tells the reader to check the policy event (BudgetExhaustedvsIncreaseExceedsBudget) and names the per-minute fields as well as the per-cycle fields.charts/attune/tests/prometheusrule_test.yamlhas a case, with the rule enabled, that asserts theAttuneBudgetExhaustedannotation mentionsIncreaseExceedsBudgetandmaxCpuIncreasePerMinute. Follow the existing default-alert cases in that file (matchRegexon the rendered rule). With every rule enabled, this alert isspec.groups[0].rules[5].make helm-unittestpasses.Pull request
Use a title like
docs: describe both budget cap events on the alert. The subject afterdocs:must start with a lowercase letter. Commit withgit commit -s.