Skip to content

feat: show what else is grouped in an incident - #593

Merged
abahmed merged 3 commits into
mainfrom
feat/grouping-trust
Nov 2, 2026
Merged

abahmed merged 3 commits into
mainfrom
feat/grouping-trust

Conversation

@abahmed

@abahmed abahmed commented Nov 2, 2026

Copy link
Copy Markdown
Owner

Makes grouping easier to trust: tests that unrelated failures stay apart, and a line that shows what else was grouped.

Tests (internal/scenarios/grouping_separation_test.go)

  • Two unrelated failures at the same time (same namespace, and different namespaces) stay in separate incidents.
  • A failure with its own cause (a bad release) landing during a namespace outage is not folded into the namespace message.
  • A bad release landing while a node outage settles is not merged into it.
  • A different node problem (disk pressure) during a node outage settle is not added to Merged.

What they found: all four passed on the current code. No grouping bug found, so no grouping code changed. Note that two incidents opening in the same second are delivered as one "found two new problems" summary message; the incidents themselves stay separate.

Summary line

Also grouped: 3 probe failures, 2 rollout stalls (wording in compose/grouped_line.go), counted from Incident.Members, excluding the root's main finding, advisories, and the root's own pods and containers of the same type. At most 4 types, then and N more types. Omitted when nothing else is grouped. Shown in Community and Pro, on its own line above the fix so the message still ends on the command. It does not touch the incident fingerprint, so it cannot cause a material change or an extra notification. A provider length cut drops it before the pinned fix (tested).

Many message goldens changed (scenario and compose) because the line now appears.

Docs

README Editions: grouping line in the Noise control row, and "No credit card required." The incidents.noise-control catalog description now says it groups related alerts into one incident; it stays Community.

CI must verify

make ci (including the licensetest run); the e2e label is set because message text changes at runtime.

Count the other findings grouped in an incident by type on one line,
in Community and Pro. State in the README and the feature catalog that
grouping related alerts is included in Community.
@abahmed abahmed added the e2e Run the real-cluster E2E suite on this pull request label Nov 2, 2026
Omit findings of the lead's own family and a lone symptom of the lead's
workload. Name missing references, failed pod creations, services
without endpoints, unavailable workloads and similar in words, and keep
acronyms whole in the fallback label.
@abahmed
abahmed merged commit 776eae2 into main Nov 2, 2026
24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

e2e Run the real-cluster E2E suite on this pull request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant