Documentation ¶
Index ¶
- func DefaultFingerprintErrorHandler(err error)
- func HubCustomFingerprint(hub *sentry.Hub, fingerprintErrHandler func(err error)) *sentry.Hub
- func NormalizeUrlPathForSentry(url *url.URL, placeholder string) string
- func RedactDSN(body []byte) []byte
- func SentryBeforeSendUnwrapAndFilterErrorType(conf UnwrapAndFilterErrorTypeConfig) func(event *sentry.Event, hint *sentry.EventHint) *sentry.Event
- func SentryFingerprint(event *sentry.Event, hint *sentry.EventHint) error
- func SlogErrHandler(ctx context.Context, err ErrSentryRoundTrip)
- type ErrSentryRoundTrip
- type LogSentrySendFailures
- type SentryError500
- type UnwrapAndFilterErrorTypeConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DefaultFingerprintErrorHandler ¶ added in v0.5.0
func DefaultFingerprintErrorHandler(err error)
func HubCustomFingerprint ¶
func HubCustomFingerprint(hub *sentry.Hub, fingerprintErrHandler func(err error)) *sentry.Hub
func NormalizeUrlPathForSentry ¶
NormalizeUrlPathForSentry takes a url path string and replaces any path part that contains a number with a standard placeholder value. This allows for better error grouping at Sentry for urls that may contain dynamic values (UUID for example) but are basically the same URL in general
func SentryBeforeSendUnwrapAndFilterErrorType ¶ added in v0.6.0
func SentryBeforeSendUnwrapAndFilterErrorType(conf UnwrapAndFilterErrorTypeConfig) func(event *sentry.Event, hint *sentry.EventHint) *sentry.Event
Golang error types tend to be generic wrappers Unwrap known generic error types until we find an unrecognized error type That error type is assumed to be useful Otherwise just strip the "*errors." or "errors." prefix which adds noise
func SentryFingerprint ¶
func SentryFingerprint(event *sentry.Event, hint *sentry.EventHint) error
group on the url and the beginning of the body. The same url can have different errors: thus looking at the response body. the longer the body is, the more likely it is to contain variable So for now try looking at a beginning snippet of the body. The URL is normalized so that any path part with a number is replaced by a placeholder value
func SlogErrHandler ¶ added in v0.5.0
func SlogErrHandler(ctx context.Context, err ErrSentryRoundTrip)
Types ¶
type ErrSentryRoundTrip ¶ added in v0.5.0
type ErrSentryRoundTrip struct { Msg string Err error Status int Request []byte Exception []sentry.Exception Response []byte }
func (ErrSentryRoundTrip) Error ¶ added in v0.5.0
func (esrt ErrSentryRoundTrip) Error() string
type LogSentrySendFailures ¶
type LogSentrySendFailures struct { RT http.RoundTripper ErrorHandler func(context.Context, ErrSentryRoundTrip) }
func NewLogSentrySendFailures ¶ added in v0.5.0
func NewLogSentrySendFailures(rt http.RoundTripper) LogSentrySendFailures
type SentryError500 ¶
func (SentryError500) Error ¶
func (e500 SentryError500) Error() string
type UnwrapAndFilterErrorTypeConfig ¶ added in v0.6.0
type UnwrapAndFilterErrorTypeConfig struct {
FilterErrorTypes []string
}