From df928e2f6ec7a01026ca2769a252e4b04987536d Mon Sep 17 00:00:00 2001 From: Junwei Zhao Date: Thu, 21 Oct 2021 17:43:40 +1100 Subject: [PATCH] Add more db tracers --- handlers/badges.go | 10 ++++++++++ handlers/stats.go | 3 +++ 2 files changed, 13 insertions(+) diff --git a/handlers/badges.go b/handlers/badges.go index 1b09c9a..ffd2afe 100644 --- a/handlers/badges.go +++ b/handlers/badges.go @@ -23,6 +23,7 @@ import ( "github.com/sirupsen/logrus" "github.com/wahyd4/badger/models" "github.com/wahyd4/badger/utils" + "gopkg.in/DataDog/dd-trace-go.v1/ddtrace/tracer" ) var ( @@ -311,6 +312,9 @@ func (handler *BadgesHandler) generateSVG(c *gin.Context, colorScheme ColorSchem } func (handler *BadgesHandler) queryBadgeFromDB(queryName string) (*models.Badge, error) { + span := tracer.StartSpan("db.queryBadge") + defer span.Finish() + var badge models.Badge err := handler.DB.Find(&badge, "ulid = ?", queryName).Error if err != nil { @@ -427,6 +431,9 @@ func (handler *BadgesHandler) queryMetric(badge *models.Badge, internalRequest b } func (handler *BadgesHandler) fetchBadgeValueFromDB(badge *models.Badge) (*models.BadgeAPIValue, error) { + span := tracer.StartSpan("db.fetchBadgeValue") + defer span.Finish() + var badgeValue models.BadgeAPIValue err := handler.DB.Order("id DESC").First(&badgeValue, "ulid = ?", badge.ULID).Error if err != nil { @@ -439,6 +446,9 @@ func (handler *BadgesHandler) fetchBadgeValueFromDB(badge *models.Badge) (*model } func (handler *BadgesHandler) fetchViewCountFromDB(badge *models.Badge) (*models.BadgeViewCount, error) { + span := tracer.StartSpan("db.fetchViewCount") + defer span.Finish() + var viewCount models.BadgeViewCount err := handler.DB.Find(&viewCount, "ulid = ?", badge.ULID).Error if err != nil { diff --git a/handlers/stats.go b/handlers/stats.go index 846870f..061561b 100644 --- a/handlers/stats.go +++ b/handlers/stats.go @@ -38,6 +38,9 @@ func (handler *StatsHandler) GetStats(c *gin.Context) { } func (handler *StatsHandler) badgeStats(badge *models.Badge) ([]*StatsResult, error) { + span := tracer.StartSpan("db.badgeStats") + defer span.Finish() + var result = make([]*StatsResult, 0) err := handler.DB.Raw(`select date_trunc('day', created_at AT TIME ZONE 'Australia/Melbourne') as date, -- or hour, day, week, month, year