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

Reply via email to