diff --git a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/context/TracerContext.java b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/context/TracerContext.java index a2a6c5b26..2485ee92d 100644 --- a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/context/TracerContext.java +++ b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/context/TracerContext.java @@ -125,9 +125,16 @@ public final class TracerContext { */ public void inject(ContextCarrier carrier) { carrier.setTraceSegmentId(this.segment.getTraceSegmentId()); - carrier.setSpanId(this.activeSpan().getSpanId()); + Span span = this.activeSpan(); + carrier.setSpanId(span.getSpanId()); carrier.setApplicationCode(Config.Agent.APPLICATION_CODE); - carrier.setPeerHost(Tags.PEER_HOST.get(activeSpan())); + String host = Tags.PEER_HOST.get(span); + if(host != null) { + Integer port = Tags.PEER_PORT.get(span); + carrier.setPeerHost(host + ":" + port); + }else{ + carrier.setPeerHost(Tags.PEERS.get(span)); + } carrier.setDistributedTraceIds(this.segment.getRelatedGlobalTraces()); carrier.setSampled(this.segment.isSampled()); } diff --git a/skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/context/TracerContextTestCase.java b/skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/context/TracerContextTestCase.java index 7fad516d8..3b62a2780 100644 --- a/skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/context/TracerContextTestCase.java +++ b/skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/context/TracerContextTestCase.java @@ -61,7 +61,8 @@ public class TracerContextTestCase { TracerContext context = new TracerContext(); Span serviceSpan = context.createSpan("/serviceA"); Span dbSpan = context.createSpan("db/preparedStatement/execute"); - Tags.PEER_HOST.set(dbSpan, "127.0.0.1:8080"); + Tags.PEER_HOST.set(dbSpan, "127.0.0.1"); + Tags.PEER_PORT.set(dbSpan, 8080); ContextCarrier carrier = new ContextCarrier(); context.inject(carrier);