From ee26cf13e51c360c6454e16527f685a43fab2d3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20Pa=C3=9F?= <22845248+mpass99@users.noreply.github.com> Date: Fri, 14 Jul 2023 18:19:27 +0200 Subject: [PATCH] Sentry: Make runner and environment searchable by converting it into a Sentry Tag. Also, replace the unstructured Extra attribute by using a Sentry Context. --- pkg/logging/sentry_hook.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pkg/logging/sentry_hook.go b/pkg/logging/sentry_hook.go index bb3d656..f0afc4d 100644 --- a/pkg/logging/sentry_hook.go +++ b/pkg/logging/sentry_hook.go @@ -24,7 +24,6 @@ func (hook *SentryHook) Fire(entry *logrus.Entry) error { event.Timestamp = entry.Time event.Level = sentry.Level(entry.Level.String()) event.Message = entry.Message - event.Extra = entry.Data var hub *sentry.Hub if entry.Context != nil { @@ -36,6 +35,15 @@ func (hook *SentryHook) Fire(entry *logrus.Entry) error { if hub == nil { hub = sentry.CurrentHub() } + + hub.Scope().SetContext("Poseidon Details", entry.Data) + if runnerID, ok := entry.Data[dto.KeyRunnerID].(string); ok { + hub.Scope().SetTag(dto.KeyRunnerID, runnerID) + } + if environmentID, ok := entry.Data[dto.KeyEnvironmentID].(string); ok { + hub.Scope().SetTag(dto.KeyEnvironmentID, environmentID) + } + hub.CaptureEvent(event) return nil }