| 23 | var ExecutionID = newEventID() |
| 24 | |
| 25 | func initSentryClient(appName string) bool { |
| 26 | if appName == "" { |
| 27 | panic("telemetry.Start: app name is empty") |
| 28 | } |
| 29 | if build.SentryDSN == "" { |
| 30 | return false |
| 31 | } |
| 32 | |
| 33 | transport := sentry.NewHTTPTransport() |
| 34 | transport.Timeout = time.Second * 2 |
| 35 | environment := "production" |
| 36 | if build.IsDev { |
| 37 | environment = "development" |
| 38 | } |
| 39 | err := sentry.Init(sentry.ClientOptions{ |
| 40 | Dsn: build.SentryDSN, |
| 41 | Environment: environment, |
| 42 | Release: appName + "@" + build.Version, |
| 43 | Transport: transport, |
| 44 | TracesSampleRate: 1, |
| 45 | BeforeSend: func(event *sentry.Event, _ *sentry.EventHint) *sentry.Event { |
| 46 | // redact the hostname, which the SDK automatically adds |
| 47 | event.ServerName = "" |
| 48 | return event |
| 49 | }, |
| 50 | }) |
| 51 | return err == nil |
| 52 | } |
| 53 | |
| 54 | func newSentryException(errToLog error) []sentry.Exception { |
| 55 | errMsg := errToLog.Error() |