From b8b6f3c3d01c9fa8f2c85aa5ce823607c27b7d8c Mon Sep 17 00:00:00 2001 From: "lilong.129" Date: Thu, 20 Jul 2023 22:02:53 +0800 Subject: [PATCH] refactor: relocate sentry sdk --- hrp/internal/sdk/ga4.go | 16 ++++++++++------ hrp/internal/sdk/init.go | 35 +---------------------------------- hrp/internal/sdk/sentry.go | 37 +++++++++++++++++++++++++++++++++++++ 3 files changed, 48 insertions(+), 40 deletions(-) create mode 100644 hrp/internal/sdk/sentry.go diff --git a/hrp/internal/sdk/ga4.go b/hrp/internal/sdk/ga4.go index 68718614..b7adee79 100644 --- a/hrp/internal/sdk/ga4.go +++ b/hrp/internal/sdk/ga4.go @@ -28,9 +28,18 @@ const ( ga4MeasurementID = "G-9KHR3VC2LN" ) -var ga4Client *GA4Client +var ( + ga4Client *GA4Client + userID string +) func init() { + var err error + userID, err = machineid.ProtectedID("hrp") + if err != nil { + userID = uuid.NewV1().String() + } + // init GA4 client ga4Client = NewGA4Client(ga4MeasurementID, ga4APISecret) } @@ -50,11 +59,6 @@ func NewGA4Client(measurementID, apiSecret string, debug ...bool) *GA4Client { dbg = debug[0] } - userID, err := machineid.ProtectedID("hrp") - if err != nil { - userID = uuid.NewV1().String() - } - return &GA4Client{ measurementID: measurementID, apiSecret: apiSecret, diff --git a/hrp/internal/sdk/init.go b/hrp/internal/sdk/init.go index 24fa7ae6..6c6c23a4 100644 --- a/hrp/internal/sdk/init.go +++ b/hrp/internal/sdk/init.go @@ -1,51 +1,18 @@ package sdk import ( - "fmt" - - "github.com/denisbrodbeck/machineid" - "github.com/getsentry/sentry-go" - "github.com/rs/zerolog/log" - uuid "github.com/satori/go.uuid" - "github.com/httprunner/httprunner/v4/hrp/internal/env" - "github.com/httprunner/httprunner/v4/hrp/internal/version" ) const ( trackingID = "UA-114587036-1" // Tracking ID for Google Analytics - sentryDSN = "https://cff5efc69b1a4325a4cf873f1e70c13a@o334324.ingest.sentry.io/6070292" ) var gaClient *GAClient func init() { // init GA client - clientID, err := machineid.ProtectedID("hrp") - if err != nil { - clientID = uuid.NewV1().String() - } - gaClient = NewGAClient(trackingID, clientID) - - // init sentry sdk - if env.DISABLE_SENTRY == "true" { - return - } - err = sentry.Init(sentry.ClientOptions{ - Dsn: sentryDSN, - Release: fmt.Sprintf("httprunner@%s", version.VERSION), - AttachStacktrace: true, - }) - if err != nil { - log.Error().Err(err).Msg("init sentry sdk failed!") - return - } - sentry.ConfigureScope(func(scope *sentry.Scope) { - scope.SetLevel(sentry.LevelError) - scope.SetUser(sentry.User{ - ID: clientID, - }) - }) + gaClient = NewGAClient(trackingID, userID) } func SendEvent(e IEvent) error { diff --git a/hrp/internal/sdk/sentry.go b/hrp/internal/sdk/sentry.go new file mode 100644 index 00000000..ba30dbf9 --- /dev/null +++ b/hrp/internal/sdk/sentry.go @@ -0,0 +1,37 @@ +package sdk + +import ( + "fmt" + + "github.com/getsentry/sentry-go" + "github.com/rs/zerolog/log" + + "github.com/httprunner/httprunner/v4/hrp/internal/env" + "github.com/httprunner/httprunner/v4/hrp/internal/version" +) + +const ( + sentryDSN = "https://cff5efc69b1a4325a4cf873f1e70c13a@o334324.ingest.sentry.io/6070292" +) + +func init() { + // init sentry sdk + if env.DISABLE_SENTRY == "true" { + return + } + err := sentry.Init(sentry.ClientOptions{ + Dsn: sentryDSN, + Release: fmt.Sprintf("httprunner@%s", version.VERSION), + AttachStacktrace: true, + }) + if err != nil { + log.Error().Err(err).Msg("init sentry sdk failed!") + return + } + sentry.ConfigureScope(func(scope *sentry.Scope) { + scope.SetLevel(sentry.LevelError) + scope.SetUser(sentry.User{ + ID: userID, + }) + }) +}