Skip to content

Commit 02ab0ae

Browse files
committed
refactor event data handling to align with OTel standards and update .gitignore
1 parent 7c8d139 commit 02ab0ae

File tree

3 files changed

+18
-25
lines changed

3 files changed

+18
-25
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
/telemetry-forwarder
33
/.env
44
/dist
5-
/coverage.out
5+
/coverage.out

internal/forwarder/forwarder.go

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -55,49 +55,48 @@ func forwardToHoneycomb(config *config.Config, event OTelEvent) {
5555
return
5656
}
5757

58+
// Initialize with standard OTel fields
5859
eventData := map[string]interface{}{
59-
"event_name": event.Name,
60+
"name": event.Name, // OTel standard field
61+
"time": time.Unix(0, event.TimeUnixNano).UTC().Format(time.RFC3339Nano), // Standard timestamp format
6062
}
6163

62-
if event.Attributes != nil {
63-
for k, v := range event.Attributes {
64+
// Standard OTel Resource attributes
65+
if event.Resource != nil {
66+
for k, v := range event.Resource {
67+
// Keep original resource attributes without prefix
6468
eventData[k] = v
6569
}
6670
}
6771

68-
if event.Resource != nil {
69-
for k, v := range event.Resource {
70-
eventData["resource."+k] = v
72+
// Standard OTel Attributes
73+
if event.Attributes != nil {
74+
for k, v := range event.Attributes {
75+
eventData[k] = v
7176
}
7277
}
7378

79+
// Standard OTel fields with proper naming
7480
if event.Body != nil {
7581
eventData["body"] = event.Body
7682
}
7783
if event.SeverityText != "" {
78-
eventData["severity_text"] = event.SeverityText
84+
eventData["severity.text"] = event.SeverityText
7985
}
8086
if event.SeverityNumber != 0 {
81-
eventData["severity_number"] = event.SeverityNumber
87+
eventData["severity.number"] = event.SeverityNumber
8288
}
8389
if event.TraceID != "" {
84-
eventData["trace.trace_id"] = event.TraceID
90+
eventData["trace_id"] = event.TraceID // Standard OTel naming
8591
}
8692
if event.SpanID != "" {
87-
eventData["trace.span_id"] = event.SpanID
93+
eventData["span_id"] = event.SpanID // Standard OTel naming
8894
}
8995
if event.DroppedAttributesCount > 0 {
9096
eventData["dropped_attributes_count"] = event.DroppedAttributesCount
9197
}
9298

93-
timestamp := time.Unix(0, event.TimeUnixNano).UTC().Format(time.RFC3339Nano)
94-
95-
honeycombEvent := HoneycombEvent{
96-
Data: eventData,
97-
Timestamp: timestamp,
98-
}
99-
100-
payload, err := json.Marshal(honeycombEvent)
99+
payload, err := json.Marshal(eventData)
101100
if err != nil {
102101
log.Printf("Failed to marshal Honeycomb event: %v", err)
103102
return

internal/forwarder/types.go

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,3 @@ type OTelEvent struct {
1313
DroppedAttributesCount int `json:"droppedAttributesCount,omitempty"`
1414
Resource map[string]interface{} `json:"resource,omitempty"`
1515
}
16-
17-
// HoneycombEvent represents the structure expected by Honeycomb API
18-
type HoneycombEvent struct {
19-
Data map[string]interface{} `json:"data"`
20-
Timestamp string `json:"timestamp,omitempty"`
21-
}

0 commit comments

Comments
 (0)