You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
description: "Learn more about the grouping algorithm and using the Grouping tab in Issue Details."
6
+
---
7
+
8
+
<Note>
9
+
10
+
This feature is currently only available to a few select organizations. If you have any feedback, please mail [[email protected]](mailto:[email protected]).
1.JoinourEarlyAdopterprogrambynavigatingto**Settings > General Settings**.
35
+
36
+
1.[Upgrade to the latest grouping algorithm](/product/data-management-settings/event-grouping#grouping-algorithms).
37
+
38
+
<Alertlevel="warning"title="Changing the grouping algorithm">
39
+
40
+
Upgrading the grouping algorithm cannot be undone.
41
+
42
+
</Alert>
43
+
-->
44
+
45
+
## Use the Updated Grouping Breakdown
46
+
47
+
After enabling the updated grouping algorithm, the grouping breakdown allows you to navigate subgroups of an issue, to see what events would group together if a larger part of the stack trace were to be considered.
48
+
49
+
For example, if you have a crashing function called from multiple locations in your code ("intermediate function" "1" and "2"), when you move the slider all the way to the left, only the crashing frame is considered for grouping, and
50
+
all events are sorted into the same issue regardless of the calling location:
51
+
52
+

53
+
54
+
When you move the slider to the right, you can see what groups would be created
55
+
if the calling frame were also to be considered:
56
+
57
+

58
+
59
+
You can add another level by moving the slider all the way to the right. However, this does not add any new subgroups, as both calling functions are themselves called from the same location (`main`):
60
+
61
+

62
+
63
+
## Sentinel & Prefix Frames
64
+
65
+
With Grouping Breakdown enabled, Sentry groups events by identifying the most
66
+
interesting group of frames it can find in a stack trace.
67
+
68
+
To mark frames as interesting, use the `+sentinel` and `+prefix` actions in [Stack Trace Rules](/product/data-management-settings/event-grouping/stack-trace-rules). For the first level, our algorithm looks for the first frame `X` which is marked as sentinel. The fingerprint of this frame is added to the level. If `X` is also a prefix frame, the next frame `Y` is also added. If `Y` is again a prefix frame, the next frame `Z` is added, and so on.
69
+
70
+
If no sentinel frame is found, every frame that contributes to grouping according to the usual
71
+
stack trace rules (for example, `+group`) constitutes its own level of detail.
72
+
73
+
#### Example
74
+
75
+
Consider a stack trace with functions `a`, `b`, `c`, `d`, `e`, `f`, `g`, `h`, with `a` being the crashing frame
76
+
and `h` being the thread base. Imagine you have the following stack trace rules defined:
77
+
78
+
```discover {tabTitle:Sentinel & Prefix Rules}
79
+
function:b +sentinel +prefix
80
+
function:c +prefix
81
+
function:f +sentinel
82
+
```
83
+
84
+
In this case
85
+
86
+
-`b` is used for grouping because it is the first sentinel frame,
87
+
-`c` is used for grouping because `b` is a prefix frame,
88
+
-`d` is used for grouping because `c` is a prefix frame.
89
+
90
+
This becomes visible in the [Breakdown tab](/product/data-management-settings/event-grouping/grouping-breakdown):
91
+
92
+

93
+
94
+
Increasing the level adds the second sentinel:
95
+
96
+

97
+
98
+
Finally, the deepest level contains the entire stack trace, ignoring sentinel and prefix frames:
99
+
100
+

The syntax follows the syntax from [Discover queries](/product/discover-queries/). If you want to negate the match, you can prefix the expression with an exclamation mark (`!`).
19
+
The syntax is the same as the syntax used for [Discover queries](/product/discover-queries/). If you want to negate the match, prefix the expression with an exclamation mark (`!`). If a line is prefixed with a hash (`#`), it's ignored and treated as a comment.
20
20
21
21
The following is a practical example of how this looks:
22
22
@@ -44,9 +44,11 @@ Matches on the general platform family, which currently includes `javascript`, `
-`max-frames`: sets the total number of frames to be considered for grouping. The default is `0`, which means "all frames." If set to `3`, only the top three frames are considered.
170
+
###VariableActions
123
171
124
-
If a line is prefixed with a hash (`#`), it's a comment and ignored.
Copy file name to clipboardExpand all lines: src/docs/product/sentry-basics/guides/grouping-and-fingerprints/index.mdx
+5-5Lines changed: 5 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -34,7 +34,7 @@ Fortunately you can change the default grouping behavior to make certain issue t
34
34
35
35
</Note>
36
36
37
-
# Solutions
37
+
##Solutions
38
38
39
39
There are three different approaches for updating how events group into issues. The first approach is for merging together historical issues already created. We'll call this **Merging Similar Issues**. The second is for setting rules so next incoming issues will get grouped together. We'll call this **Fingerprint Rules**. The third is **SDK Side Fingerprinting**. The difference between SDK side and Server side is the data elements on the exception and stack traces which you can use for matching issues.
40
40
@@ -44,7 +44,7 @@ In **Fingerprint Rules** we'll see how to set rules for new incoming issues of o
44
44
45
45
More on **SDK Side Fingerprinting**[here](/platform-redirect/?next=/usage/sdk-fingerprinting/).
46
46
47
-
## Merging Similar Issues
47
+
###Merging Similar Issues
48
48
49
49
This is for merging similar issues and will not auto merge the next occurrence of this issue coming in.
50
50
@@ -59,14 +59,14 @@ You can also do this from inside a single issue. Click the Similar Issues tab
59
59
60
60
**Warning:** Future issues will get added to the merged set only if they match one of the stack traces in the merged set.
61
61
62
-
## Fingerprint Rules
62
+
###Fingerprint Rules
63
63
64
64
Here's an overview of what we'll do using **Fingerprint Rules**
65
65
66
66
1. Identify the match logic for grouping issues together. We'll use either the error's **type** or **message**
67
67
2. Set the match logic and its fingerprint for it, in your Project's Settings.
68
68
69
-
### 1. Identify Match Logic
69
+
####1. Identify Match Logic
70
70
71
71
Let's say you want the following 2 issues to group together:
72
72

@@ -79,7 +79,7 @@ Or you can do it based on the **message** as in any value after the word host:
0 commit comments