sentry

package module
v0.4.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 18, 2023 License: Apache-2.0 Imports: 9 Imported by: 0

README

Go Sentry Middleware tools

500 middlewares

Send a 500 response to Sentry.

  • gin Middleware (gin folder) MiddlewareSentry500, MiddlewareSentry500Opts
  • goa Middleware (goa folder) MiddlewareSentry500

Log sentry events that are not sent

Sentry does not provide a way to log information about what is not sent. This repo implements an http.RoundTripper that can recover and log the sentry.Event that failed to send. This is implemented in sentry.go as LogSentrySendFailures.RoundTrip

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func HubCustomFingerprint

func HubCustomFingerprint(hub *sentry.Hub) *sentry.Hub

func NormalizeUrlPathForSentry

func NormalizeUrlPathForSentry(_url string, placeholder string) (string, error)

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 SentryFingerprint

func SentryFingerprint(event *sentry.Event, hint *sentry.EventHint) *sentry.Event

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

Types

type LogSentrySendFailures

type LogSentrySendFailures struct {
	RT     http.RoundTripper
	Logger *zap.SugaredLogger
}

func (LogSentrySendFailures) RoundTrip

func (lsf LogSentrySendFailures) RoundTrip(req *http.Request) (*http.Response, error)

type SentryError500

type SentryError500 struct {
	Url  string
	Body string
}

func (SentryError500) Error

func (e500 SentryError500) Error() string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL