Repository: camel Updated Branches: refs/heads/master 61eca42a6 -> b5173ca93
CAMEL-9759: camel-zipkin - Instrument Camel. Work in progress. Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/b5173ca9 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/b5173ca9 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/b5173ca9 Branch: refs/heads/master Commit: b5173ca93b7ab789c0e0d8e0368c26b2ef416bbe Parents: 61eca42 Author: Claus Ibsen <[email protected]> Authored: Tue Mar 29 17:52:43 2016 +0200 Committer: Claus Ibsen <[email protected]> Committed: Tue Mar 29 17:52:43 2016 +0200 ---------------------------------------------------------------------- .../camel/zipkin/ZipkinClientRequestAdapter.java | 13 +++++++++---- .../camel/zipkin/ZipkinServerRequestAdapter.java | 18 +++++++++++------- 2 files changed, 20 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/b5173ca9/components/camel-zipkin/src/main/java/org/apache/camel/zipkin/ZipkinClientRequestAdapter.java ---------------------------------------------------------------------- diff --git a/components/camel-zipkin/src/main/java/org/apache/camel/zipkin/ZipkinClientRequestAdapter.java b/components/camel-zipkin/src/main/java/org/apache/camel/zipkin/ZipkinClientRequestAdapter.java index 1d54e85..3060f18 100644 --- a/components/camel-zipkin/src/main/java/org/apache/camel/zipkin/ZipkinClientRequestAdapter.java +++ b/components/camel-zipkin/src/main/java/org/apache/camel/zipkin/ZipkinClientRequestAdapter.java @@ -56,10 +56,15 @@ public final class ZipkinClientRequestAdapter implements ClientRequestAdapter { @Override public void addSpanIdToRequest(@Nullable SpanId spanId) { - exchange.getIn().setHeader(ZipkinConstants.TRACE_ID, IdConversion.convertToString(spanId.getTraceId())); - exchange.getIn().setHeader(ZipkinConstants.SPAN_ID, IdConversion.convertToString(spanId.getSpanId())); - if (spanId.getParentSpanId() != null) { - exchange.getIn().setHeader(ZipkinConstants.PARENT_SPAN_ID, IdConversion.convertToString(spanId.getParentSpanId())); + if (spanId == null) { + exchange.getIn().setHeader(ZipkinConstants.SAMPLED, "0"); + } else { + exchange.getIn().setHeader(ZipkinConstants.SAMPLED, "1"); + exchange.getIn().setHeader(ZipkinConstants.TRACE_ID, IdConversion.convertToString(spanId.getTraceId())); + exchange.getIn().setHeader(ZipkinConstants.SPAN_ID, IdConversion.convertToString(spanId.getSpanId())); + if (spanId.getParentSpanId() != null) { + exchange.getIn().setHeader(ZipkinConstants.PARENT_SPAN_ID, IdConversion.convertToString(spanId.getParentSpanId())); + } } } http://git-wip-us.apache.org/repos/asf/camel/blob/b5173ca9/components/camel-zipkin/src/main/java/org/apache/camel/zipkin/ZipkinServerRequestAdapter.java ---------------------------------------------------------------------- diff --git a/components/camel-zipkin/src/main/java/org/apache/camel/zipkin/ZipkinServerRequestAdapter.java b/components/camel-zipkin/src/main/java/org/apache/camel/zipkin/ZipkinServerRequestAdapter.java index c65243c..8a6b787 100644 --- a/components/camel-zipkin/src/main/java/org/apache/camel/zipkin/ZipkinServerRequestAdapter.java +++ b/components/camel-zipkin/src/main/java/org/apache/camel/zipkin/ZipkinServerRequestAdapter.java @@ -50,15 +50,19 @@ public class ZipkinServerRequestAdapter implements ServerRequestAdapter { @Override public TraceData getTraceData() { - String traceId = exchange.getIn().getHeader(ZipkinConstants.TRACE_ID, String.class); - String spanId = exchange.getIn().getHeader(ZipkinConstants.SPAN_ID, String.class); - String parentSpanId = exchange.getIn().getHeader(ZipkinConstants.PARENT_SPAN_ID, String.class); - if (traceId != null && spanId != null) { - SpanId span = getSpanId(traceId, spanId, parentSpanId); - return TraceData.builder().sample(true).spanId(span).build(); + String sampled = exchange.getIn().getHeader(ZipkinConstants.SAMPLED, String.class); + if (sampled.equals("0") || sampled.toLowerCase().equals("false")) { + return TraceData.builder().sample(false).build(); } else { - return TraceData.builder().build(); + String traceId = exchange.getIn().getHeader(ZipkinConstants.TRACE_ID, String.class); + String spanId = exchange.getIn().getHeader(ZipkinConstants.SPAN_ID, String.class); + String parentSpanId = exchange.getIn().getHeader(ZipkinConstants.PARENT_SPAN_ID, String.class); + if (traceId != null && spanId != null) { + SpanId span = getSpanId(traceId, spanId, parentSpanId); + return TraceData.builder().sample(true).spanId(span).build(); + } } + return TraceData.builder().build(); } @Override
