Skip to content

bugsnag: chain-aware grouping key and chain title in error list#262

Merged
morgan-wowk merged 1 commit into
masterfrom
bugsnag-error-chain
Jun 13, 2026
Merged

bugsnag: chain-aware grouping key and chain title in error list#262
morgan-wowk merged 1 commit into
masterfrom
bugsnag-error-chain

Conversation

@morgan-wowk

@morgan-wowk morgan-wowk commented May 28, 2026

Copy link
Copy Markdown
Collaborator

normalize_error_chain walks __cause__/__context__ and joins each level's normalized string with " <- ". This replaces the single-exception normalize_error_message call used for the grouping key so that "LauncherError <- TimeoutError" and "LauncherError <- ApiException" land in separate, stable groups rather than collapsing into one group per root cause.

build_chain_title does the same walk but truncates each level to 80 chars and returns None for single exceptions. _before_notify uses it to override the root-cause errorClass that Bugsnag displays in the error list, giving reviewers the full raise path at a glance without needing to open the stacktrace.

morgan-wowk commented May 28, 2026

Copy link
Copy Markdown
Collaborator Author

@morgan-wowk morgan-wowk force-pushed the bugsnag-error-chain branch from 6787d59 to afad13f Compare May 28, 2026 18:49
@morgan-wowk morgan-wowk marked this pull request as ready for review May 28, 2026 18:55
@morgan-wowk morgan-wowk changed the base branch from bugsnag-grouping-strip-json to graphite-base/262 May 28, 2026 22:42
@morgan-wowk morgan-wowk force-pushed the bugsnag-error-chain branch from afad13f to 563c451 Compare June 3, 2026 19:22
@morgan-wowk morgan-wowk changed the base branch from graphite-base/262 to bugsnag-grouping-strip-json June 3, 2026 19:22
@morgan-wowk morgan-wowk changed the base branch from bugsnag-grouping-strip-json to graphite-base/262 June 3, 2026 19:33
Comment thread cloud_pipelines_backend/instrumentation/error_normalization.py Outdated
Comment thread cloud_pipelines_backend/instrumentation/error_normalization.py Outdated
Comment thread cloud_pipelines_backend/instrumentation/bugsnag_instrumentation.py Outdated
@morgan-wowk morgan-wowk force-pushed the bugsnag-error-chain branch from 563c451 to 035ad1f Compare June 10, 2026 20:52
@morgan-wowk morgan-wowk changed the base branch from graphite-base/262 to bugsnag-grouping-strip-json June 10, 2026 20:52

morgan-wowk commented Jun 13, 2026

Copy link
Copy Markdown
Collaborator Author

Merge activity

  • Jun 13, 12:04 AM UTC: A user started a stack merge that includes this pull request via Graphite.
  • Jun 13, 12:06 AM UTC: Graphite rebased this pull request as part of a merge.
  • Jun 13, 12:06 AM UTC: @morgan-wowk merged this pull request with Graphite.

@morgan-wowk morgan-wowk changed the base branch from bugsnag-grouping-strip-json to graphite-base/262 June 13, 2026 00:04
@morgan-wowk morgan-wowk changed the base branch from graphite-base/262 to master June 13, 2026 00:04
normalize_error_chain walks __cause__/__context__ and joins each
level's normalized string with " <- ".  This replaces the single-
exception normalize_error_message call used for the grouping key so
that "LauncherError <- TimeoutError" and "LauncherError <- ApiException"
land in separate, stable groups rather than one per root cause.

build_chain_title does the same walk but truncates each level to 80
chars and returns None for single exceptions.  _before_notify uses it
to override the root-cause errorClass shown in the Bugsnag error list,
giving reviewers the full raise path at a glance.
@morgan-wowk morgan-wowk force-pushed the bugsnag-error-chain branch from 035ad1f to f66a067 Compare June 13, 2026 00:05
@morgan-wowk morgan-wowk merged commit 82e8720 into master Jun 13, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants