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/d4e9cc6b
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/d4e9cc6b
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/d4e9cc6b

Branch: refs/heads/master
Commit: d4e9cc6b0f56d831d7920a0053574f520195dd51
Parents: 5a92de6
Author: Claus Ibsen <davscl...@apache.org>
Authored: Tue Mar 29 11:19:19 2016 +0200
Committer: Claus Ibsen <davscl...@apache.org>
Committed: Tue Mar 29 14:41:54 2016 +0200

----------------------------------------------------------------------
 .../apache/camel/zipkin/ZipkinClientRequestAdapter.java  | 11 +++++++++--
 .../apache/camel/zipkin/ZipkinServerRequestAdapter.java  | 11 +++++++++--
 .../apache/camel/zipkin/ZipkinServerResponseAdapter.java |  2 +-
 .../camel/zipkin/scribe/ZipkinTimerRouteScribe.java      |  6 +++---
 .../camel-zipkin/src/test/resources/log4j.properties     |  2 +-
 5 files changed, 23 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/d4e9cc6b/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 e6e30477..b3c80b1 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
@@ -16,8 +16,8 @@
  */
 package org.apache.camel.zipkin;
 
+import java.util.Arrays;
 import java.util.Collection;
-import java.util.Collections;
 import java.util.Locale;
 
 import com.github.kristofa.brave.ClientRequestAdapter;
@@ -35,12 +35,14 @@ public final class ZipkinClientRequestAdapter implements 
ClientRequestAdapter {
     private final Exchange exchange;
     private final Endpoint endpoint;
     private final String spanName;
+    private final String url;
 
     public ZipkinClientRequestAdapter(String serviceName, Exchange exchange, 
Endpoint endpoint) {
         this.serviceName = serviceName;
         this.exchange = exchange;
         this.endpoint = endpoint;
         this.spanName = 
URISupport.sanitizeUri(endpoint.getEndpointKey()).toLowerCase(Locale.US);
+        this.url = URISupport.sanitizeUri(endpoint.getEndpointUri());
     }
 
     @Override
@@ -65,6 +67,11 @@ public final class ZipkinClientRequestAdapter implements 
ClientRequestAdapter {
     @Override
     public Collection<KeyValueAnnotation> requestAnnotations() {
         String id = exchange.getExchangeId();
-        return 
Collections.singletonList(KeyValueAnnotation.create("camel.exchange.id", id));
+        String mep = exchange.getPattern().name();
+
+        KeyValueAnnotation key1 = 
KeyValueAnnotation.create("camel.client.endpoint.url", url);
+        KeyValueAnnotation key2 = 
KeyValueAnnotation.create("camel.client.exchange.id", id);
+        KeyValueAnnotation key3 = 
KeyValueAnnotation.create("camel.client.exchange.pattern", mep);
+        return Arrays.asList(key1, key2, key3);
     }
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/d4e9cc6b/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 c5daef9..59c6b4f 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
@@ -16,8 +16,8 @@
  */
 package org.apache.camel.zipkin;
 
+import java.util.Arrays;
 import java.util.Collection;
-import java.util.Collections;
 import java.util.Locale;
 
 import com.github.kristofa.brave.KeyValueAnnotation;
@@ -35,11 +35,13 @@ public class ZipkinServerRequestAdapter implements 
ServerRequestAdapter {
     private final Exchange exchange;
     private final Endpoint endpoint;
     private final String spanName;
+    private final String url;
 
     public ZipkinServerRequestAdapter(Exchange exchange) {
         this.exchange = exchange;
         this.endpoint = exchange.getFromEndpoint();
         this.spanName = 
URISupport.sanitizeUri(endpoint.getEndpointKey()).toLowerCase(Locale.US);
+        this.url = URISupport.sanitizeUri(endpoint.getEndpointUri());
     }
 
     @Override
@@ -63,7 +65,12 @@ public class ZipkinServerRequestAdapter implements 
ServerRequestAdapter {
     @Override
     public Collection<KeyValueAnnotation> requestAnnotations() {
         String id = exchange.getExchangeId();
-        return 
Collections.singletonList(KeyValueAnnotation.create("camel.exchange.id", id));
+        String mep = exchange.getPattern().name();
+
+        KeyValueAnnotation key1 = 
KeyValueAnnotation.create("camel.server.endpoint.url", url);
+        KeyValueAnnotation key2 = 
KeyValueAnnotation.create("camel.server.exchange.id", id);
+        KeyValueAnnotation key3 = 
KeyValueAnnotation.create("camel.server.exchange.pattern", mep);
+        return Arrays.asList(key1, key2, key3);
     }
 
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/d4e9cc6b/components/camel-zipkin/src/main/java/org/apache/camel/zipkin/ZipkinServerResponseAdapter.java
----------------------------------------------------------------------
diff --git 
a/components/camel-zipkin/src/main/java/org/apache/camel/zipkin/ZipkinServerResponseAdapter.java
 
b/components/camel-zipkin/src/main/java/org/apache/camel/zipkin/ZipkinServerResponseAdapter.java
index 2ba8594..0a7035c 100644
--- 
a/components/camel-zipkin/src/main/java/org/apache/camel/zipkin/ZipkinServerResponseAdapter.java
+++ 
b/components/camel-zipkin/src/main/java/org/apache/camel/zipkin/ZipkinServerResponseAdapter.java
@@ -37,7 +37,7 @@ public class ZipkinServerResponseAdapter implements 
ServerResponseAdapter {
     @Override
     public Collection<KeyValueAnnotation> responseAnnotations() {
         if (exchange.getException() != null) {
-            return 
Collections.singletonList(KeyValueAnnotation.create("camel.failure", 
exchange.getException().getMessage()));
+            return 
Collections.singletonList(KeyValueAnnotation.create("camel.server.failure", 
exchange.getException().getMessage()));
         } else {
             return Collections.emptyList();
         }

http://git-wip-us.apache.org/repos/asf/camel/blob/d4e9cc6b/components/camel-zipkin/src/test/java/org/apache/camel/zipkin/scribe/ZipkinTimerRouteScribe.java
----------------------------------------------------------------------
diff --git 
a/components/camel-zipkin/src/test/java/org/apache/camel/zipkin/scribe/ZipkinTimerRouteScribe.java
 
b/components/camel-zipkin/src/test/java/org/apache/camel/zipkin/scribe/ZipkinTimerRouteScribe.java
index a822b08..017102c 100644
--- 
a/components/camel-zipkin/src/test/java/org/apache/camel/zipkin/scribe/ZipkinTimerRouteScribe.java
+++ 
b/components/camel-zipkin/src/test/java/org/apache/camel/zipkin/scribe/ZipkinTimerRouteScribe.java
@@ -41,8 +41,6 @@ public class ZipkinTimerRouteScribe extends CamelTestSupport {
     private String ip = "192.168.99.100";
     private ZipkinEventNotifier zipkin;
 
-    // TODO: producer template also (add a skip flag)
-
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext context = super.createCamelContext();
@@ -59,6 +57,8 @@ public class ZipkinTimerRouteScribe extends CamelTestSupport {
     public void testZipkinRoute() throws Exception {
         NotifyBuilder notify = new 
NotifyBuilder(context).from("seda:timer").whenDone(1).create();
 
+        template.sendBody("direct:start", "Hello Timer");
+
         assertTrue(notify.matches(30, TimeUnit.SECONDS));
     }
 
@@ -67,7 +67,7 @@ public class ZipkinTimerRouteScribe extends CamelTestSupport {
         return new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                from("timer:trigger?repeatCount=1").setBody().constant("Hello 
Cat").to(ExchangePattern.InOut, "seda:timer");
+                from("direct:start").to(ExchangePattern.InOut, "seda:timer");
 
                 from("seda:timer").routeId("timer")
                         .log("routing at ${routeId}")

http://git-wip-us.apache.org/repos/asf/camel/blob/d4e9cc6b/components/camel-zipkin/src/test/resources/log4j.properties
----------------------------------------------------------------------
diff --git a/components/camel-zipkin/src/test/resources/log4j.properties 
b/components/camel-zipkin/src/test/resources/log4j.properties
index 538c5bd..ab7b29f 100644
--- a/components/camel-zipkin/src/test/resources/log4j.properties
+++ b/components/camel-zipkin/src/test/resources/log4j.properties
@@ -18,7 +18,7 @@
 #
 # The logging properties used
 #
-log4j.rootLogger=INFO, out
+log4j.rootLogger=INFO, file
 
 #log4j.logger.org.apache.camel=DEBUG
 log4j.logger.org.apache.camel.zipkin=DEBUG

Reply via email to