ref(grouping): Use better descriptions in Grouping Info section #38
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In the grouping info section of the issue details page, there are a number of problems with the way we describe grouping methods. In some cases, the description is incomplete (just
app
or justsystem
, rather thanapp _____
orsystem _____
). In some cases, it's not very descriptive (modified _____
to indicate a hybrid fingerprint, when we could be a lot more specific about what "modified" means). In some cases, it's unclear (exception
andexception stacktrace
are different, but it's easy to get them confused). And in some cases there's no method listed at all, and it just shows up asdefault
.The root of all of these problems is that the
description
property only looks at contributing components, and only "major" components at that. It's also directly reflective of the particular implementation of our grouping system, which works great for computation purposes, but less well for human understanding purposes.To fix these issues, this PR instead bases the description on a variant's key, which produces a different value for each possible grouping method, and which takes into account not only which components end up contributing to the final hash, but which components would contribute if each variant were looked at individually. It also provides a human-readable translation for each key rather than just concatenating component names together.
Because grouphash metadata uses the
description
property in its computations, its implementation has been left alone for now. Instead, the new description is looked up only when creating the JSON for the grouping info section.Examples of before and after heading values (not an exhaustive list):
Copied from getsentry#101042
Original PR: getsentry#101042