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
Copy file name to clipboardExpand all lines: develop-docs/application/feedback-architecture.mdx
+31-15Lines changed: 31 additions & 15 deletions
Original file line number
Diff line number
Diff line change
@@ -4,10 +4,12 @@ title: User Feedback Architecture
4
4
5
5
**The goal of this doc is to give engineers an in-depth understanding of User Feedback's backend.**
6
6
It will:
7
+
7
8
1. describe the relevant ingestion pipelines, data models, and functions.
8
9
2. explain the difference between “feedback”, “user reports”, and “crash reports”, and why we built and need to support each.
9
10
10
11
## Creation sources
12
+
11
13
When broken down, there are **5** ways to create feedback in our system 😵💫.
12
14
(But 4 of them, related to user reports, are quite similar!) A good reference is the
13
15
`FeedbackCreationSource(Enum)` in [create_feedback.py](https://github.com/getsentry/sentry/blob/2b642e149c79b251e1c2f4339fc73d656347d74e/src/sentry/feedback/usecases/create_feedback.py#L33-L33).
@@ -21,15 +23,17 @@ release, url, etc.
21
23
`USER_REPORT_ENVELOPE`: [The older format](https://develop.sentry.dev/sdk/envelopes/#user-feedback) with name/email/comments, that requires
22
24
`event_id` to link a Sentry error event.
23
25
24
-
`USER_REPORT_DJANGO_ENDPOINT`: [The Web API](https://docs.sentry.io/api/projects/submit-user-feedback/)
26
+
`USER_REPORT_DJANGO_ENDPOINT`: [The deprecated Web API](https://docs.sentry.io/api/projects/submit-user-feedback/)
25
27
26
28
`CRASH_REPORT_EMBED_FORM`: The [crash report modal](https://docs.sentry.io/product/user-feedback/#crash-report-modal)
27
29
28
30
## How feedback is stored
31
+
29
32
On the backend, each feedback submission in Sentry's UI is **an un-grouped issue occurrence**,
30
33
saved via the [issues platform](https://develop.sentry.dev/issue-platform/).
31
34
The entrypoint is [**`create_feedback_issue()`**](https://github.com/getsentry/sentry/blob/2b642e149c79b251e1c2f4339fc73d656347d74e/src/sentry/feedback/usecases/create_feedback.py#L184-L184),
32
35
which
36
+
33
37
1. filters feedback with empty or spam messages. Note **anonymous feedbacks are not filtered** (missing name and/or email).
34
38
2. sends to issues pipeline in a standardized format. To make sure it is never grouped, we use a random UUID for the fingerprint.
- This doc refers to the payload format (`event` in the pseudo-code above) as a “**feedback event”**.
64
68
- The feedback [widget](https://docs.sentry.io/platforms/javascript/user-feedback/#user-feedback-widget), which is installed by default, sends these envelopes.
65
69
- API: for SDK v8.0.0+, we use the `sendFeedback` function.
Copy file name to clipboardExpand all lines: docs/platforms/android/user-feedback/index.mdx
-2Lines changed: 0 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -13,5 +13,3 @@ The user feedback API allows you to collect user feedback while utilizing your o
13
13
Sentry pairs the feedback with the original event, giving you additional insight into issues. Sentry needs the `eventId` to be able to associate the user feedback to the corresponding event. For example, to get the `eventId`, you can use <PlatformLinkto="/configuration/options/#before-send"><PlatformIdentifiername="before-send" /></PlatformLink> or the return value of the method capturing an event.
Copy file name to clipboardExpand all lines: docs/platforms/apple/common/user-feedback/index.mdx
-2Lines changed: 0 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -13,5 +13,3 @@ The user feedback API allows you to collect user feedback while utilizing your o
13
13
Sentry pairs the feedback with the original event, giving you additional insight into issues. Sentry needs the `eventId` to be able to associate the user feedback to the corresponding event. For example, to get the `eventId`, you can use <PlatformLinkto="/configuration/options/#before-send"><PlatformIdentifiername="before-send" /></PlatformLink> or the return value of the method capturing an event.
Copy file name to clipboardExpand all lines: docs/platforms/dart/user-feedback/index.mdx
+1-2Lines changed: 1 addition & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -11,10 +11,9 @@ When a user experiences an error, Sentry provides the ability to collect additio
11
11
The user feedback API allows you to collect user feedback while utilizing your own UI. You can use the same programming language you have in your app to send user feedback. In this case, the SDK creates the HTTP request so you don't have to deal with posting data via HTTP.
12
12
13
13
Sentry pairs the feedback with the original event, giving you additional insight into issues. Sentry needs the `eventId` to be able to associate the user feedback to the corresponding event. There are several ways to get the `eventId`:
14
+
14
15
- use {<PlatformLinkto="/configuration/options/#before-send"><PlatformIdentifiername="before-send" /></PlatformLink>}
15
16
- use the return value of any method capturing an event.
16
17
- use `Sentry.lastEventId` to get the ID of the last event sent.
Copy file name to clipboardExpand all lines: docs/platforms/dotnet/common/user-feedback/index.mdx
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -14,7 +14,7 @@ User Feedback for **[ASP.NET](/platforms/dotnet/guides/aspnet/user-feedback/#int
14
14
15
15
</Note>
16
16
17
-
You can create a form to collect the user input in your preferred framework, and use the SDK's API to send the information to Sentry. You can also use the widget, as described below. If you'd prefer an alternative to the widget or do not have a JavaScript frontend, you can use this API or a [Web API](/api/projects/submit-user-feedback/).
17
+
You can create a form to collect the user input in your preferred framework, and use the SDK's API to send the information to Sentry. You can also use the widget, as described below. If you'd prefer an alternative to the widget or do not have a JavaScript frontend, you can use this API:
Copy file name to clipboardExpand all lines: docs/platforms/flutter/user-feedback/index.mdx
+1-2Lines changed: 1 addition & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -11,10 +11,9 @@ When a user experiences an error, Sentry provides the ability to collect additio
11
11
The user feedback API allows you to collect user feedback while utilizing your own UI. You can use the same programming language you have in your app to send user feedback. In this case, the SDK creates the HTTP request so you don't have to deal with posting data via HTTP.
12
12
13
13
Sentry pairs the feedback with the original event, giving you additional insight into issues. Sentry needs the `eventId` to be able to associate the user feedback to the corresponding event. There are several ways to get the `eventId`:
14
+
14
15
- use {<PlatformLinkto="/configuration/options/#before-send"><PlatformIdentifiername="before-send" /></PlatformLink>}
15
16
- use the return value of any method capturing an event.
16
17
- use `Sentry.lastEventId` to get the ID of the last event sent.
Copy file name to clipboardExpand all lines: docs/platforms/java/common/user-feedback/index.mdx
-2Lines changed: 0 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -13,5 +13,3 @@ The user feedback API allows you to collect user feedback while utilizing your o
13
13
Sentry pairs the feedback with the original event, giving you additional insight into issues. Sentry needs the `eventId` to be able to associate the user feedback to the corresponding event. For example, to get the `eventId`, you can use <PlatformLinkto="/configuration/options/#before-send"><PlatformIdentifiername="before-send" /></PlatformLink> or the return value of the method capturing an event.
Copy file name to clipboardExpand all lines: docs/platforms/kotlin-multiplatform/user-feedback/index.mdx
-2Lines changed: 0 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -11,5 +11,3 @@ When a user experiences an error, Sentry provides the ability to collect additio
11
11
The user feedback API allows you to collect user feedback while utilizing your own UI. You can use the same programming language you have in your app to send user feedback. In this case, the SDK creates the HTTP request so you don't have to deal with posting data via HTTP.
Copy file name to clipboardExpand all lines: docs/platforms/native/user-feedback/index.mdx
-2Lines changed: 0 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -13,5 +13,3 @@ The user feedback API allows you to collect user feedback using your own UI. You
13
13
Sentry pairs the feedback with the original event, giving you additional insight into issues. In order to do this, Sentry needs the `eventId`. For example, to get the `eventId`, you can use <PlatformLinkto="/configuration/options/#before-send"><PlatformIdentifiername="before-send" /></PlatformLink> or the return value of the method capturing an event.
Copy file name to clipboardExpand all lines: docs/platforms/react-native/user-feedback/index.mdx
-2Lines changed: 0 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -11,5 +11,3 @@ The user feedback API allows you to collect user feedback while utilizing your o
11
11
Sentry pairs the feedback with the original event, giving you additional insight into issues. Sentry needs the `eventId` to be able to associate the user feedback to the corresponding event. For example, to get the `eventId`, you can use <PlatformLinkto="/configuration/options/#before-send"><PlatformIdentifiername="before-send" /></PlatformLink> or the return value of the method capturing an event.
0 commit comments