Skip to content

Commit abf66e6

Browse files
authored
Merge pull request #130 from codex-team/move-timestamp-out-of-payload
imp(collector): move timestamp to event level
2 parents 73d6f95 + 76b230d commit abf66e6

File tree

4 files changed

+7
-11
lines changed

4 files changed

+7
-11
lines changed

.github/workflows/build-and-push-docker-image.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ env:
77

88
jobs:
99
build:
10-
runs-on: ubuntu-20.04
10+
runs-on: ubuntu-22.04
1111
steps:
1212
- name: Checkout repository
1313
uses: actions/checkout@v4

pkg/server/errorshandler/handler.go

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ import (
1212
"github.com/prometheus/client_golang/prometheus"
1313
log "github.com/sirupsen/logrus"
1414
"github.com/tidwall/gjson"
15-
"github.com/tidwall/sjson"
1615
)
1716

1817
const DefaultQueueName = "errors/default"
@@ -87,18 +86,13 @@ func (handler *Handler) process(body []byte) ResponseMessage {
8786
}
8887

8988
// Validate if message is a valid JSON
90-
stringMessage := string(message.Payload)
91-
if !gjson.Valid(stringMessage) {
89+
stringPayload := string(message.Payload)
90+
if !gjson.Valid(stringPayload) {
9291
return ResponseMessage{400, true, "Invalid payload JSON format"}
9392
}
9493

95-
modifiedMessage, err := sjson.Set(stringMessage, "timestamp", time.Now().Unix())
96-
if err != nil {
97-
return ResponseMessage{400, true, fmt.Sprintf("%s", err)}
98-
}
99-
10094
// convert message to JSON format
101-
messageToSend := BrokerMessage{ProjectId: projectId, Payload: []byte(modifiedMessage), CatcherType: message.CatcherType}
95+
messageToSend := BrokerMessage{Timestamp: time.Now().Unix(), ProjectId: projectId, Payload: []byte(stringPayload), CatcherType: message.CatcherType}
10296
rawMessage, err := json.Marshal(messageToSend)
10397
if err != nil {
10498
log.Errorf("Message marshalling error: %v", err)

pkg/server/errorshandler/handler_sentry.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package errorshandler
33
import (
44
"encoding/json"
55
"fmt"
6+
"time"
67

78
"github.com/codex-team/hawk.collector/pkg/broker"
89
log "github.com/sirupsen/logrus"
@@ -102,7 +103,7 @@ func (handler *Handler) HandleSentry(ctx *fasthttp.RequestCtx) {
102103
sendAnswerHTTP(ctx, ResponseMessage{400, true, "Cannot serialize envelope"})
103104
}
104105

105-
messageToSend := BrokerMessage{ProjectId: projectId, Payload: json.RawMessage(jsonMessage), CatcherType: CatcherType}
106+
messageToSend := BrokerMessage{Timestamp: time.Now().Unix(), ProjectId: projectId, Payload: json.RawMessage(jsonMessage), CatcherType: CatcherType}
106107
payloadToSend, err := json.Marshal(messageToSend)
107108
if err != nil {
108109
log.Errorf("Message marshalling error: %v", err)

pkg/server/errorshandler/messages.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ type BrokerMessage struct {
2323
ProjectId string `json:"projectId"`
2424
Payload json.RawMessage `json:"payload"`
2525
CatcherType string `json:"catcherType"`
26+
Timestamp int64 `json:"timestamp"`
2627
}
2728

2829
type RawSentryMessage struct {

0 commit comments

Comments
 (0)