diff --git a/pkg/server/errorshandler/handler.go b/pkg/server/errorshandler/handler.go index b3320ba..3454a89 100644 --- a/pkg/server/errorshandler/handler.go +++ b/pkg/server/errorshandler/handler.go @@ -73,6 +73,7 @@ func (handler *Handler) process(body []byte) ResponseMessage { if handler.RedisClient.IsBlocked(projectId) { handler.ErrorsBlockedByLimit.Inc() + handler.recordProjectMetrics(projectId, "events-rate-limited") return ResponseMessage{402, true, "Project has exceeded the events limit"} } @@ -82,6 +83,7 @@ func (handler *Handler) process(body []byte) ResponseMessage { return ResponseMessage{402, true, "Failed to update rate limit"} } if !rateWithinLimit { + handler.recordProjectMetrics(projectId, "events-rate-limited") return ResponseMessage{402, true, "Rate limit exceeded"} } diff --git a/pkg/server/errorshandler/handler_sentry.go b/pkg/server/errorshandler/handler_sentry.go index 3d25043..16e9c58 100644 --- a/pkg/server/errorshandler/handler_sentry.go +++ b/pkg/server/errorshandler/handler_sentry.go @@ -102,6 +102,7 @@ func (handler *Handler) HandleSentry(ctx *fasthttp.RequestCtx) { if handler.RedisClient.IsBlocked(projectId) { handler.ErrorsBlockedByLimit.Inc() + handler.recordProjectMetrics(projectId, "events-rate-limited") sendAnswerHTTP(ctx, ResponseMessage{402, true, "Project has exceeded the events limit"}) return } @@ -114,6 +115,7 @@ func (handler *Handler) HandleSentry(ctx *fasthttp.RequestCtx) { } if !rateWithinLimit { + handler.recordProjectMetrics(projectId, "events-rate-limited") sendAnswerHTTP(ctx, ResponseMessage{402, true, "Rate limit exceeded"}) return } @@ -141,5 +143,8 @@ func (handler *Handler) HandleSentry(ctx *fasthttp.RequestCtx) { // increment processed errors counter handler.ErrorsProcessed.Inc() + // record project metrics + handler.recordProjectMetrics(projectId, "events-accepted") + sendAnswerHTTP(ctx, ResponseMessage{200, false, "OK"}) }