Compare commits
12 Commits
d633789438
...
66cccb3305
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
66cccb3305 | ||
|
|
43414057b5 | ||
|
|
b8272edc40 | ||
|
|
ad39fba64f | ||
|
|
5b165bfc32 | ||
|
|
b2cf9cab6b | ||
|
|
bda373ca1f | ||
|
|
181c09916f | ||
|
|
b0a512466d | ||
|
|
0c22adf19a | ||
|
|
bf5ddc917c | ||
|
|
cf4b0c1bbf |
Submodule cybertron-symbolicator updated: 75a0c91942...de97308949
Submodule cybertron-symbolicator-react-native updated: 3b8d60db23...ca4bdfe8af
@@ -77,8 +77,6 @@ func (el *ElasticSearchClient) SearchDocuments(searchRequest string, fields []st
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
log.Printf("%s", aggregations)
|
|
||||||
|
|
||||||
return results, aggregations, res.Hits.Total.Value, nil
|
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)
|
log.Printf("Error getting the response: %s", err)
|
||||||
}
|
}
|
||||||
filteredDoc := map[string]interface{}{}
|
filteredDoc := map[string]interface{}{}
|
||||||
stackFrame, ok := response[0]["stack_trace"].([]string)
|
if len(response) > 0 {
|
||||||
if ok {
|
stackFrame, ok := response[0]["stack_trace"]
|
||||||
|
if !ok {
|
||||||
|
log.Printf("Error getting the stack trace")
|
||||||
|
}
|
||||||
filteredDoc["stack_trace"] = stackFrame
|
filteredDoc["stack_trace"] = stackFrame
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -108,6 +108,21 @@ func getSignificantStack(trace symbolicator.SymbolicatedStackTrace) string {
|
|||||||
return ""
|
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) {
|
func (ep *ErrorProcessor) ProcessError(error []byte) {
|
||||||
ep.logger.Info("processing error in consumer")
|
ep.logger.Info("processing error in consumer")
|
||||||
var payload Exception
|
var payload Exception
|
||||||
@@ -127,7 +142,15 @@ func (ep *ErrorProcessor) ProcessError(error []byte) {
|
|||||||
ep.logger.Error("error in unmarshalling exception", zap.Error(err))
|
ep.logger.Error("error in unmarshalling exception", zap.Error(err))
|
||||||
return
|
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)
|
releaseId, ok := extraMap["release_id"].(string)
|
||||||
if !ok {
|
if !ok {
|
||||||
ep.logger.Error("Release id is not found")
|
ep.logger.Error("Release id is not found")
|
||||||
@@ -170,15 +193,12 @@ func (ep *ErrorProcessor) ProcessError(error []byte) {
|
|||||||
|
|
||||||
//make md5 hash of error
|
//make md5 hash of error
|
||||||
hash := encoder.Md5Encode(string(frames) + payload.Value)
|
hash := encoder.Md5Encode(string(frames) + payload.Value)
|
||||||
|
|
||||||
cachedStack, total, err := ep.elasticSearchClient.GetStackTraceByErrorHash(hash, payload.ProjectId)
|
|
||||||
var output symbolicator.SymbolicatedStackTrace
|
var output symbolicator.SymbolicatedStackTrace
|
||||||
|
//cache stack processing
|
||||||
|
cachedStackTrace, err := ep.getCacheStack(payload, hash)
|
||||||
|
|
||||||
if total > 0 && err == nil {
|
if len(cachedStackTrace) > 0 {
|
||||||
frames, ok := cachedStack["stack_trace"].([]symbolicator.SymbolicatedFrame)
|
output.Frames = cachedStackTrace
|
||||||
if ok {
|
|
||||||
output.Frames = frames
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
command := &symbolicator.Command{
|
command := &symbolicator.Command{
|
||||||
Cmd: symbolicatorCommand,
|
Cmd: symbolicatorCommand,
|
||||||
|
|||||||
@@ -41,8 +41,8 @@ func (sm *SourceMapService) downloadFromS3(key string, bucket string, filePath s
|
|||||||
Key: &key,
|
Key: &key,
|
||||||
})
|
})
|
||||||
if err != nil {
|
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("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("Error downloading from S3:", zap.Error(err))
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
//defer result.Body.Close()
|
//defer result.Body.Close()
|
||||||
|
|||||||
Reference in New Issue
Block a user