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
* Revert "feat: Remove def list syntax (#11238)"
This reverts commit 2dba05e.
* add support for definition list
* Revert "fix: Remove unsupported definition list syntax (#10739)"
This reverts commit a715187.
* fix build errors
Copy file name to clipboardExpand all lines: develop-docs/backend/outboxes.mdx
+5-4Lines changed: 5 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ title: Outboxes
5
5
Outboxes are database backed deferred units of work that drive a large portion of our system's eventual consistency workflows. They were designed with a couple of key features in mind:
6
6
7
7
-**Durability:** Outboxes are stored as database rows that are typically committed transactionally alongside associated model updates. They are retained until the processing code signals that work has been completed successfully.
8
-
-**Retriability:** If an outbox processor fails for whatever reason, it will be reprocessed indefinitely until it succeeds.
8
+
-**Retriability:** If an outbox processor fails for whatever reason, it will be reprocessed indefinitely until it succeeds.
9
9
-_Note:_ We do not support deadlettering, which means a head of line blocking outbox will continue to backlog work until the processing code is fixed.
10
10
11
11
## Outbox Properties
@@ -22,7 +22,8 @@ An outbox consists of the following parts:
22
22
23
23
`object_identifier`
24
24
25
-
: The ID of the impacted model object (if applicable). <br/><br/>*Note:* Not every outbox has an explicit model target, so this can be set to an arbitrary unique value if necessary. Just be aware that this identifier is used in tandem with the `shard_identifier` for coalescing purposes.
25
+
: The ID of the impacted model object (if applicable).
26
+
*Note:* Not every outbox has an explicit model target, so this can be set to an arbitrary unique value if necessary. Just be aware that this identifier is used in tandem with the `shard_identifier` for coalescing purposes.
26
27
27
28
`category`
28
29
@@ -107,9 +108,9 @@ Having both models aligned to the same database ensures that both the model chan
107
108
108
109
## Coalescing
109
110
110
-
Outboxes are coalesced in order to prevent backpressure from toppling our systems after a blocked outbox shard is cleared. We accomplish this by assuming the last message in a coalescing group is the source of truth, ignoring any preceding messages in the group.
111
+
Outboxes are coalesced in order to prevent backpressure from toppling our systems after a blocked outbox shard is cleared. We accomplish this by assuming the last message in a coalescing group is the source of truth, ignoring any preceding messages in the group.
111
112
112
-
An outbox’s coalescing group is determined by the combination of its sharding, `category`and`object_identifier` columns.
113
+
An outbox’s coalescing group is determined by the combination of its sharding, `category`and`object_identifier` columns.
113
114
114
115
This coalescing strategy means that any outbox payloads that are stateful and order dependent in the same coalescing group *will* result in data loss when the group is processed. If you want to bypass coalescing entirely, you can set an arbitrary *unique*object identifier to ensure messages are run individually andin order; however, this can cause severe bottlenecks so be cautious when doing so.
Before client reports were added there were no insights into the full number of events generated within applications instrumented with Sentry SDKs. It was always clear to track the number of events dropped on Sentry server side for any number of reason, but there was a gap in knowing just how many events were never sent from the SDKs at all. Are there patterns in different platforms? Are there problems we are not aware of? If a customer were to call Sentry and ask where there events are, we would have no answer, and no way to find out if there are truly missing events from their SDKs. Client reports removes some of this doubt. That being said we are not looking to perfectly measure every nuance and edge case of events being discarded in SDKs. It is more important to have a best effort and be able to gain insights to our SDKs and their host applications.
@@ -75,14 +75,11 @@ The following fields exist:
75
75
76
76
`timestamp`
77
77
78
-
_String | Number, optional_. The timestamp of when the client report was created.
79
-
Must be an ISO DateTime string or a UNIX timestamp. If not sent, the server
80
-
will assume the current UTC timestamp. In the data model, this is called
81
-
`received`.
78
+
: _String | Number, optional_. The timestamp of when the client report was created. Must be an ISO DateTime string or a UNIX timestamp. If not sent, the server will assume the current UTC timestamp. In the data model, this is called `received`.
82
79
83
80
`discarded_events`
84
81
85
-
_List of outcome objects_(`reason`, `category`, `quantity`)
82
+
: _List of outcome objects_\{`reason`, `category`, `quantity`\}
86
83
87
84
-`reason`: A string reason that defines why events were lost.
88
85
-`category`: The data category for which the discard reason applies. These are the same data categories used for [rate limits](/sdk/rate-limiting/#definitions).
@@ -111,7 +108,7 @@ that SDKs send these under normal operation:
*Also note that the `sent_at` header replaces the `sentry_timestamp` key previously set in authorization headers,
174
174
which has now been fully deprecated. You should only send `sent_at`, and not `sentry_timestamp`.*
@@ -184,13 +184,13 @@ There are two generic headers for every Item:
184
184
185
185
`type`
186
186
187
-
**String, required.** Specifies the type of this Item and its contents. Based
187
+
: **String, required.** Specifies the type of this Item and its contents. Based
188
188
on the Item type, more headers may be required. See [Data Model](#data-model) for a list
189
189
of all Item types.
190
190
191
191
`length`
192
192
193
-
**int, recommended.** The length of the payload in bytes. If no `length` is
193
+
: *int, recommended.* The length of the payload in bytes. If no `length` is
194
194
specified, the payload implicitly goes to the next newline. For payloads
195
195
containing newline characters, the `length` must be specified.
196
196
@@ -323,7 +323,7 @@ encoded in JSON.
323
323
324
324
`event_id`
325
325
326
-
**UUID String, required.** Corresponds to the `event_id` field of the event
326
+
: **UUID String, required.** Corresponds to the `event_id` field of the event
327
327
payload. Clients are required to generate an event identifier ahead of time
328
328
and set it at least in the Envelope headers. If the identifier mismatches
329
329
between the Envelope and payload, the Envelope header takes precedence.
@@ -346,7 +346,7 @@ in JSON.
346
346
347
347
`event_id`
348
348
349
-
**UUID String, required.** Corresponds to the `event_id` field of the
349
+
: **UUID String, required.** Corresponds to the `event_id` field of the
350
350
transaction payload. Clients are required to generate an event identifier
351
351
ahead of time and set it at least in the Envelope headers. If the identifier
352
352
mismatches between the Envelope and payload, the Envelope header takes
@@ -380,17 +380,17 @@ file. It is always associated to an event or transaction.
380
380
381
381
`event_id`
382
382
383
-
**UUID String, required.** The identifier of the event or transaction.
383
+
: **UUID String, required.** The identifier of the event or transaction.
384
384
385
385
**Additional Item Headers:**
386
386
387
387
`filename`
388
388
389
-
**String, required.** The name of the uploaded file without a path component.
389
+
: **String, required.** The name of the uploaded file without a path component.
390
390
391
391
`attachment_type`
392
392
393
-
**String, optional.** The special type of this attachment. Possible values are:
393
+
: *String, optional.* The special type of this attachment. Possible values are:
394
394
395
395
-**`event.attachment` (default)**: A standard attachment without special
396
396
meaning.
@@ -402,11 +402,11 @@ file. It is always associated to an event or transaction.
402
402
ingestion, event contexts and extra fields are extracted from this file.
403
403
-`unreal.logs`: A plain-text log file obtained from UE4 crashes. During
404
404
event ingestion, the last logs are extracted into event breadcrumbs.
405
-
-`event.view_hierarchy`: An JSON file with a predefined structure, see [RFC #33](https://github.com/getsentry/rfcs/blob/main/text/0033-view-hierarchy.md).
405
+
-`event.view_hierarchy`: An JSON file with a predefined structure, see [RFC #33](https://github.com/getsentry/rfcs/blob/main/text/0033-view-hierarchy.md).
406
406
407
407
`content_type`
408
408
409
-
**String, optional.** The content type of the attachment payload. Any [MIME type](https://www.iana.org/assignments/media-types/media-types.xhtml) may be used; the default is `application/octet-stream`.
409
+
: *String, optional.* The content type of the attachment payload. Any [MIME type](https://www.iana.org/assignments/media-types/media-types.xhtml) may be used; the default is `application/octet-stream`.
410
410
411
411
### Session
412
412
@@ -476,7 +476,7 @@ details.
476
476
477
477
### User Feedback
478
478
479
-
User Feedback was called User Report in the beginning. Therefore the envelope item type is `"user_report"`.
479
+
User Feedback was called User Report in the beginning. Therefore the envelope item type is `"user_report"`.
480
480
The item contains a user feedback / user report JSON payload:
0 commit comments