39 lines
1.7 KiB
Go
39 lines
1.7 KiB
Go
package report
|
|
|
|
// DiscardReason represents why an item was discarded.
|
|
type DiscardReason string
|
|
|
|
const (
|
|
// ReasonQueueOverflow indicates the transport queue was full.
|
|
ReasonQueueOverflow DiscardReason = "queue_overflow"
|
|
|
|
// ReasonBufferOverflow indicates that an internal buffer was full.
|
|
ReasonBufferOverflow DiscardReason = "buffer_overflow"
|
|
|
|
// ReasonRateLimitBackoff indicates the item was dropped due to rate limiting.
|
|
ReasonRateLimitBackoff DiscardReason = "ratelimit_backoff"
|
|
|
|
// ReasonBeforeSend indicates the item was dropped due to a BeforeSend callback.
|
|
ReasonBeforeSend DiscardReason = "before_send"
|
|
|
|
// ReasonEventProcessor indicates the item was dropped due to an event processor callback.
|
|
ReasonEventProcessor DiscardReason = "event_processor"
|
|
|
|
// ReasonSampleRate indicates the item was dropped due to sampling.
|
|
ReasonSampleRate DiscardReason = "sample_rate"
|
|
|
|
// ReasonNetworkError indicates an HTTP request failed (connection error).
|
|
ReasonNetworkError DiscardReason = "network_error"
|
|
|
|
// ReasonSendError indicates HTTP returned an error status (4xx, 5xx).
|
|
//
|
|
// The party that drops an envelope is responsible for counting the event (we skip outcomes that the server records
|
|
// `http.StatusTooManyRequests` 429). However, relay does not always record an outcome for oversized envelopes, so
|
|
// we accept the trade-off of double counting `http.StatusRequestEntityTooLarge` (413) codes, to record all events.
|
|
// For more details https://develop.sentry.dev/sdk/expected-features/#dealing-with-network-failures
|
|
ReasonSendError DiscardReason = "send_error"
|
|
|
|
// ReasonInternalError indicates an internal SDK error.
|
|
ReasonInternalError DiscardReason = "internal_sdk_error"
|
|
)
|