From 135bff5f53ff832bcdac48585e5cedbcf7c59dc7 Mon Sep 17 00:00:00 2001 From: Travis Keep Date: Tue, 9 Aug 2022 09:40:24 -0700 Subject: [PATCH] Send span lines with span logs. --- senders/client.go | 2 +- senders/direct.go | 2 +- senders/formatter.go | 3 ++- senders/proxy.go | 2 +- senders/types.go | 1 + 5 files changed, 6 insertions(+), 4 deletions(-) diff --git a/senders/client.go b/senders/client.go index d7c3ba9..4818c8e 100644 --- a/senders/client.go +++ b/senders/client.go @@ -135,7 +135,7 @@ func (sender *wavefrontSender) SendSpan(name string, startMillis, durationMillis } if len(spanLogs) > 0 { - logs, err := SpanLogJSON(traceId, spanId, spanLogs) + logs, err := SpanLogJSON(traceId, spanId, spanLogs, line) if err != nil { sender.spanLogsInvalid.Inc() return err diff --git a/senders/direct.go b/senders/direct.go index 41efc80..5062647 100755 --- a/senders/direct.go +++ b/senders/direct.go @@ -192,7 +192,7 @@ func (sender *directSender) SendSpan(name string, startMillis, durationMillis in } if len(spanLogs) > 0 { - logs, err := SpanLogJSON(traceId, spanId, spanLogs) + logs, err := SpanLogJSON(traceId, spanId, spanLogs, line) if err != nil { sender.spanLogsInvalid.Inc() return err diff --git a/senders/formatter.go b/senders/formatter.go index d619998..ef41968 100644 --- a/senders/formatter.go +++ b/senders/formatter.go @@ -195,11 +195,12 @@ func SpanLine(name string, startMillis, durationMillis int64, source, traceId, s } // SpanLogJSON is for internal use only. -func SpanLogJSON(traceId, spanId string, spanLogs []SpanLog) (string, error) { +func SpanLogJSON(traceId, spanId string, spanLogs []SpanLog, span string) (string, error) { l := SpanLogs{ TraceId: traceId, SpanId: spanId, Logs: spanLogs, + Span: span, } out, err := json.Marshal(l) if err != nil { diff --git a/senders/proxy.go b/senders/proxy.go index 77c7090..0c02b1c 100755 --- a/senders/proxy.go +++ b/senders/proxy.go @@ -255,7 +255,7 @@ func (sender *proxySender) SendSpan(name string, startMillis, durationMillis int } if len(spanLogs) > 0 { - logs, err := SpanLogJSON(traceId, spanId, spanLogs) + logs, err := SpanLogJSON(traceId, spanId, spanLogs, line) if err != nil { sender.spanLogsInvalid.Inc() return err diff --git a/senders/types.go b/senders/types.go index 777ab76..a6edf32 100644 --- a/senders/types.go +++ b/senders/types.go @@ -20,6 +20,7 @@ type SpanLogs struct { TraceId string `json:"traceId"` SpanId string `json:"spanId"` Logs []SpanLog `json:"logs"` + Span string `json:"span"` } // MetricSender Interface for sending metrics to Wavefront