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
ref(grouping): Small tweaks to fingerprint rules doc (#14176)
This is a small cleanup of the fingerprinting rules docs, pulled out of an upcoming PR in order to make it easier to review.
- Update GH link to fingerprinting grammar.
- Alphabetize non-utility fingerprinting variables.
- Add introductory sentence identifying utility matchers.
Copy file name to clipboardExpand all lines: docs/concepts/data-management/event-grouping/fingerprint-rules.mdx
+62-60Lines changed: 62 additions & 60 deletions
Original file line number
Diff line number
Diff line change
@@ -6,14 +6,14 @@ description: "Learn about fingerprint rules, matchers for fingerprinting, how to
6
6
7
7
<Includename="only-error-issues-note.mdx" />
8
8
9
-
Fingerprint rules (previously known as _server-side fingerprinting_) are also configured with a config similar to [stack trace rules](../stack-trace-rules/), but the syntax is slightly different. The matchers are the same, but instead of flipping flags, a fingerprint is assigned and it overrides the default grouping entirely. Assigning a fingerprint can also refine the default grouping rather than overriding it, if the fingerprint includes the value `{{ default }}`.
9
+
Fingerprint rules (previously known as _server-side fingerprinting_) are configured with a config similar to [stack trace rules](../stack-trace-rules/), but the syntax is slightly different. The matchers are the same, but instead of flipping flags, a fingerprint is assigned and it overrides the default grouping entirely. Assigning a fingerprint can also refine the default grouping rather than overriding it, if the fingerprint includes the value `{{ default }}`.
10
10
11
11
These rules can be configured on a per-project basis in **[Project] > Settings > Issue Grouping > Fingerprint Rules**. This setting has input fields where you can write custom fingerprinting rules. To update a rule:
12
12
13
13
1. Identify the match logic for grouping issues together.
14
14
1. Set the match logic and the fingerprint for it.
15
15
16
-
The syntax for fingerprint rules is similar to syntax in [**Discover** queries](/concepts/search/#syntax). To negate a match, add an exclamation mark (`!`) at the beginning of the expression. See the full grammar [here](https://github.com/getsentry/sentry/blob/c5b84a393365a833348dd7fd9378d34c353ca6ca/src/sentry/grouping/fingerprinting.py#L17-L55).
16
+
The syntax for fingerprint rules is similar to syntax in [**Discover** queries](/concepts/search/#syntax). To negate a match, add an exclamation mark (`!`) at the beginning of the expression. See the full grammar [here](https://github.com/getsentry/sentry/blob/90f5cdfa9ebaf0bfdea63852812a6efc90f13691/src/sentry/grouping/fingerprinting/__init__.py#L36-L73).
17
17
18
18
Sentry attempts to match against all values that are configured in the fingerprint. In the case of stack traces, all frames are considered. If the event data matches all the values in a line for a matcher and expression, then the fingerprint is applied. When there are multiple rules that match the event, the first matching rule in the list is applied.
error.value:"could not connect (*)" -> connection-error
68
68
```
69
69
70
-
### `message`
70
+
### `level`
71
71
72
-
Matches on a log message. It will also automatically check for the additional exception value as they can be hard to keep apart. The matching is case insensitive.
72
+
Matches on the log level. The match is case insensitive.
73
73
74
74
```bash {tabTitle:Fingerprinting Config}
75
-
message:"system encountered a fatal problem: *" ->fatal-log
Matches on the value of the tag `tag_name`. This can be useful to filter down certain types of events. For instance, you can separate events caused by a specific server:
88
+
Matches on a log message. It will also automatically check for the additional exception value as they can be hard to keep apart. The matching is case insensitive.
Similar to `stack.abs_path` but matches on the module name instead. The match is case-sensitive and regular globbing rules apply (`*` also matches slashes).
108
+
Checks if any of the functions in the stack trace match the glob. The match is case-sensitive:
Checks if any of the functions in the stack trace match the glob. The match is case-sensitive:
118
+
Similar to `stack.abs_path` but matches on the module name instead. The match is case-sensitive and regular globbing rules apply (`*` also matches slashes).
Used to "scope" down the matcher. The following families exist: `javascript` for any type of JavaScript event, `native` for any type of Native event. Any other platform is called `other`.
137
+
Matches on the value of the tag `tag_name`. This can be useful to filter down certain types of events. For instance, you can separate events caused by a specific server:
Additionally, the folowing utility matchers are available:
144
+
151
145
### `app`
152
146
153
147
Checks if the frame is in-app or not. It is particularly useful when combined with another matcher. Possible values are `yes` and `no`:
@@ -156,6 +150,14 @@ Checks if the frame is in-app or not. It is particularly useful when combined wi
156
150
app:yes stack.function:"assert" -> assert
157
151
```
158
152
153
+
### `family`
154
+
155
+
Used to "scope" down the matcher. The following families exist: `javascript` for any type of JavaScript event, `native` for any type of Native event. Any other platform is called `other`.
0 commit comments