TP-5555 | ignore pattern module

This commit is contained in:
varnit goyal
2024-11-19 11:10:35 +05:30
parent 697b105fe1
commit 383204605a
2 changed files with 20 additions and 0 deletions

View File

@@ -1,7 +1,14 @@
package constants package constants
import "regexp"
const ( const (
SESSION_HEADER_NAME = "x-session-token" SESSION_HEADER_NAME = "x-session-token"
EMAIL_HEADER_NAME = "x-user-email" EMAIL_HEADER_NAME = "x-user-email"
ISSUE_ID_HEADER_NAME = "x-issue-id" ISSUE_ID_HEADER_NAME = "x-issue-id"
) )
var IgnorePatterns = []*regexp.Regexp{
regexp.MustCompile(`\[mobx-state-tree\]`),
regexp.MustCompile(`Object captured as exception with keys: code, message`),
}

View File

@@ -3,6 +3,7 @@ package service
import ( import (
"bufio" "bufio"
"cybertron/configs" "cybertron/configs"
"cybertron/constants"
"cybertron/models/db" "cybertron/models/db"
"cybertron/models/instrumentation" "cybertron/models/instrumentation"
inPodCache "cybertron/pkg/cache" inPodCache "cybertron/pkg/cache"
@@ -59,6 +60,15 @@ type Payload struct {
Extra interface{} `json:"extra"` Extra interface{} `json:"extra"`
} }
func isIgnored(value string) bool {
for _, pattern := range constants.IgnorePatterns {
if pattern.MatchString(value) {
return true
}
}
return false
}
func NewExceptionService(logger *log.Logger, dbClient *gorm.DB, kafkaProducer producer.KProducer, cache *inPodCache.Cache, kafkaConfig configs.KafkaConfig) *ExceptionService { func NewExceptionService(logger *log.Logger, dbClient *gorm.DB, kafkaProducer producer.KProducer, cache *inPodCache.Cache, kafkaConfig configs.KafkaConfig) *ExceptionService {
return &ExceptionService{ return &ExceptionService{
logger: logger, logger: logger,
@@ -110,6 +120,9 @@ func (exceptionService *ExceptionService) CatchErrors(c *gin.Context) {
metrics.PublishErrorConsumptionMetric(instrumentation.ErrorConsumptionMetric{ProjectId: projectID}) metrics.PublishErrorConsumptionMetric(instrumentation.ErrorConsumptionMetric{ProjectId: projectID})
for _, errorItem := range jsonData.Exception.Values { for _, errorItem := range jsonData.Exception.Values {
if isIgnored(errorItem.Value) {
continue
}
errorItem.ProjectId = projectID errorItem.ProjectId = projectID
errorItem.Breadcrumbs = jsonData.Breadcrumbs errorItem.Breadcrumbs = jsonData.Breadcrumbs
errorItem.Extra = jsonData.Extra errorItem.Extra = jsonData.Extra