Skip to content

Commit

Permalink
[receiver/skywalking] Add skywalking attributes into tracedata
Browse files Browse the repository at this point in the history
  • Loading branch information
taloric committed Jul 11, 2022
1 parent 395196e commit d9c014e
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 5 deletions.
13 changes: 10 additions & 3 deletions receiver/skywalkingreceiver/skywalkingproto_to_traces.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,9 @@ const (
AttributeParentService = "parent.service"
AttributeParentInstance = "parent.service.instance"
AttributeParentEndpoint = "parent.endpoint"
AttributeSkywalkingSpanID = "sw8.span_id"
AttributeSkywalkingTraceID = "sw8.trace_id"
AttributeSkywalkingSegmentID = "sw8.segment_id"
AttributeNetworkAddressUsedAtPeer = "network.AddressUsedAtPeer"
)

Expand All @@ -56,12 +59,15 @@ func SkywalkingToTraces(segment *agentV3.SegmentObject) ptrace.Traces {

resourceSpan := traceData.ResourceSpans().AppendEmpty()
rs := resourceSpan.Resource()

for _, span := range swSpans {
swTagsToInternalResource(span, rs)
rs.Attributes().Insert(conventions.AttributeServiceName, pcommon.NewValueString(segment.GetService()))
rs.Attributes().Insert(conventions.AttributeServiceInstanceID, pcommon.NewValueString(segment.GetServiceInstance()))
}

rs.Attributes().Insert(conventions.AttributeServiceName, pcommon.NewValueString(segment.GetService()))
rs.Attributes().Insert(conventions.AttributeServiceInstanceID, pcommon.NewValueString(segment.GetServiceInstance()))
rs.Attributes().Insert(AttributeSkywalkingTraceID, pcommon.NewValueString(segment.GetTraceId()))

il := resourceSpan.ScopeSpans().AppendEmpty()
swSpansToSpanSlice(segment.GetTraceId(), segment.GetTraceSegmentId(), swSpans, il.Spans())

Expand Down Expand Up @@ -125,7 +131,8 @@ func swSpanToSpan(traceID string, segmentID string, span *agentV3.SpanObject, de
if attrs.Len() == 0 {
attrs.Clear()
}

attrs.InsertInt(AttributeSkywalkingSpanID, int64(span.GetSpanId()))
attrs.InsertString(AttributeSkywalkingSegmentID, segmentID)
setInternalSpanStatus(span, dest.Status())

switch {
Expand Down
2 changes: 1 addition & 1 deletion receiver/skywalkingreceiver/trace_receiver.go
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,7 @@ func (sr *swReceiver) httpHandler(rsp http.ResponseWriter, r *http.Request) {
}

for _, segment := range data {
err = consumeTraces(context.Background(), segment, sr.nextConsumer)
err = consumeTraces(r.Context(), segment, sr.nextConsumer)
if err != nil {
fmt.Printf("cannot consume traces, %v", err)
}
Expand Down
2 changes: 1 addition & 1 deletion receiver/skywalkingreceiver/tracing_report_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ func (s *traceSegmentReportService) Collect(stream agent.TraceSegmentReportServi
return err
}

err = consumeTraces(context.Background(), segmentObject, s.sr.nextConsumer)
err = consumeTraces(stream.Context(), segmentObject, s.sr.nextConsumer)
if err != nil {
return stream.SendAndClose(&common.Commands{})
}
Expand Down
4 changes: 4 additions & 0 deletions unreleased/skywalkingreceiver-fix.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
change_type: bug_fix
component: skywalkingreceiver
note: Fix skywalking traceid and spanid convertion
issues: [11562]

0 comments on commit d9c014e

Please sign in to comment.