Compare commits

...

12 Commits

Author SHA1 Message Date
Aman Singh
66cccb3305 Merge pull request #46 from navi-ppl/TP-5555/optimise-logs
TP-5555 | symbolicator update
2025-01-09 16:17:05 +05:30
varnit goyal
43414057b5 TP-5555 | symbolicator update 2025-01-09 16:16:08 +05:30
Varnit Goyal
b8272edc40 Merge pull request #45 from navi-ppl/TP-5555/hotfix-release-id
TP-5555 | hotfix for error
2025-01-03 19:33:15 +05:30
varnit goyal
ad39fba64f TP-5555 | hotfix for error 2025-01-03 19:32:21 +05:30
varnit goyal
5b165bfc32 TP-5555 | hotfix for error 2025-01-03 19:30:59 +05:30
Podili Varshitha
b2cf9cab6b Merge pull request #44 from navi-ppl/TP-5555/cache-stack-trace
Tp 5555/cache stack trace
2025-01-02 13:24:26 +05:30
varnit goyal
bda373ca1f Merge branch 'master' of github.com:navi-ppl/cybertron-log-enricher into TP-5555/cache-stack-trace 2025-01-02 13:21:35 +05:30
varnit goyal
181c09916f TP-5555 | fix cache stack trace 2025-01-02 13:21:06 +05:30
Aman Singh
b0a512466d Merge pull request #43 from navi-ppl/TP-5555/cache-stack-trace
Tp 5555/cache stack trace
2024-12-24 13:18:33 +05:30
varnit goyal
0c22adf19a TP-5555 | cybertron log enricher 2024-12-24 13:16:15 +05:30
Varnit Goyal
bf5ddc917c Merge pull request #42 from navi-ppl/TP-5555/logs-limit
TP-5555 | service log limit
2024-12-19 15:41:34 +05:30
varnit goyal
cf4b0c1bbf TP-5555 | service log limit 2024-12-19 15:37:39 +05:30
5 changed files with 37 additions and 16 deletions

View File

@@ -77,8 +77,6 @@ func (el *ElasticSearchClient) SearchDocuments(searchRequest string, fields []st
}
}
log.Printf("%s", aggregations)
return results, aggregations, res.Hits.Total.Value, nil
}
@@ -99,8 +97,11 @@ func (el *ElasticSearchClient) GetStackTraceByErrorHash(errorHash string, projec
log.Printf("Error getting the response: %s", err)
}
filteredDoc := map[string]interface{}{}
stackFrame, ok := response[0]["stack_trace"].([]string)
if ok {
if len(response) > 0 {
stackFrame, ok := response[0]["stack_trace"]
if !ok {
log.Printf("Error getting the stack trace")
}
filteredDoc["stack_trace"] = stackFrame
}

View File

@@ -108,6 +108,21 @@ func getSignificantStack(trace symbolicator.SymbolicatedStackTrace) string {
return ""
}
func (ep *ErrorProcessor) getCacheStack(payload Exception, hash string) ([]symbolicator.SymbolicatedFrame, error) {
cachedStack, total, err := ep.elasticSearchClient.GetStackTraceByErrorHash(hash, payload.ProjectId)
var frames []symbolicator.SymbolicatedFrame
if total > 0 {
frameBytes, marshalErr := json.Marshal(cachedStack["stack_trace"])
if marshalErr != nil {
ep.logger.Error("unable to serilize cache frame", zap.Error(marshalErr))
} else {
err = json.Unmarshal(frameBytes, &frames)
}
}
return frames, err
}
func (ep *ErrorProcessor) ProcessError(error []byte) {
ep.logger.Info("processing error in consumer")
var payload Exception
@@ -127,7 +142,15 @@ func (ep *ErrorProcessor) ProcessError(error []byte) {
ep.logger.Error("error in unmarshalling exception", zap.Error(err))
return
}
extraMap := payload.Extra.(map[string]interface{})
if payload.Extra == nil {
ep.logger.Error("payload extra is nil")
return
}
extraMap, conversionOk := payload.Extra.(map[string]interface{})
if !conversionOk {
ep.logger.Error("error in unmarshalling exception")
return
}
releaseId, ok := extraMap["release_id"].(string)
if !ok {
ep.logger.Error("Release id is not found")
@@ -170,15 +193,12 @@ func (ep *ErrorProcessor) ProcessError(error []byte) {
//make md5 hash of error
hash := encoder.Md5Encode(string(frames) + payload.Value)
cachedStack, total, err := ep.elasticSearchClient.GetStackTraceByErrorHash(hash, payload.ProjectId)
var output symbolicator.SymbolicatedStackTrace
//cache stack processing
cachedStackTrace, err := ep.getCacheStack(payload, hash)
if total > 0 && err == nil {
frames, ok := cachedStack["stack_trace"].([]symbolicator.SymbolicatedFrame)
if ok {
output.Frames = frames
}
if len(cachedStackTrace) > 0 {
output.Frames = cachedStackTrace
} else {
command := &symbolicator.Command{
Cmd: symbolicatorCommand,

View File

@@ -41,8 +41,8 @@ func (sm *SourceMapService) downloadFromS3(key string, bucket string, filePath s
Key: &key,
})
if err != nil {
sm.logger.Error("printing key %s and bucket %s from s3 err: ", zap.String("key", key), zap.String("bucket", bucket), zap.String("filePath", filePath))
sm.logger.Info("Error downloading from S3:", zap.Error(err))
//sm.logger.Info("printing key %s and bucket %s from s3 err: ", zap.String("key", key), zap.String("bucket", bucket), zap.String("filePath", filePath))
//sm.logger.Info("Error downloading from S3:", zap.Error(err))
return err
}
//defer result.Body.Close()