You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by ni...@apache.org on 2018/01/09 07:39:52 UTC

[incubator-servicecomb-java-chassis] branch master updated (3a21eb3 -> 9c4416d)

This is an automated email from the ASF dual-hosted git repository.

ningjiang pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-java-chassis.git.


    from 3a21eb3  [JAV-587] fix CI error
     new cd643cd  SCB-172 upgrade to zipkin2
     new 1132c4b  SCB-172 fix tests for upgrading to zipkin2
     new ecdd337  SCB-172 fix integration test for upgradeing to zipkin2
     new 9c4416d  SCB-172 support both zipkin v1/v2 http API

The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../common/base/ServiceCombConstants.java          |  8 ++++-
 handlers/handler-tracing-zipkin/pom.xml            |  9 +++++-
 .../tracing/zipkin/ConsumerInvocationAdapter.java  |  2 +-
 .../tracing/zipkin/ProviderInvocationAdapter.java  |  2 +-
 .../tracing/zipkin/TracingConfiguration.java       | 35 +++++++++++++++++-----
 integration-tests/pom.xml                          |  7 ++++-
 integration-tests/test-common/pom.xml              |  4 +++
 .../servicecomb/tests/tracing/TracingTestBase.java | 27 ++++++++++-------
 java-chassis-dependencies/pom.xml                  | 13 ++++++--
 tracing/tracing-zipkin/pom.xml                     |  2 +-
 .../tracing/zipkin/ZipkinSpanAspectTest.java       | 22 +++++++-------
 .../tracing/zipkin/ZipkinTracingAdviserTest.java   | 34 ++++++++++-----------
 12 files changed, 110 insertions(+), 55 deletions(-)

-- 
To stop receiving notification emails like this one, please contact
['"commits@servicecomb.apache.org" <co...@servicecomb.apache.org>'].

[incubator-servicecomb-java-chassis] 04/04: SCB-172 support both zipkin v1/v2 http API

Posted by ni...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ningjiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-java-chassis.git

commit 9c4416d69c8ba8db146806ca1ced3876b3a0c411
Author: Yang, Bo <ya...@huawei.com>
AuthorDate: Mon Jan 8 18:16:01 2018 +0800

    SCB-172 support both zipkin v1/v2 http API
    
    Add an option "apiVersion" under tracing.collector to allow user to
    specify the version of the zipkin http API. Possible values are
    "v1" and "v2". The default is "v2". Default value will be used if the
    user set option is invalid.
---
 .../common/base/ServiceCombConstants.java          |  8 +++++++-
 .../tracing/zipkin/TracingConfiguration.java       | 22 +++++++++++++++++++++-
 .../servicecomb/tests/tracing/TracingTestBase.java |  6 ++----
 3 files changed, 30 insertions(+), 6 deletions(-)

diff --git a/foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/base/ServiceCombConstants.java b/foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/base/ServiceCombConstants.java
index 00c2cbd..372da96 100644
--- a/foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/base/ServiceCombConstants.java
+++ b/foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/base/ServiceCombConstants.java
@@ -39,9 +39,15 @@ public interface ServiceCombConstants {
 
   String CONFIG_TRACING_COLLECTOR_ADDRESS = "servicecomb.tracing.collector.address";
 
+  String CONFIG_TRACING_COLLECTOR_API_V1 = "v1";
+
+  String CONFIG_TRACING_COLLECTOR_API_V2 = "v2";
+
+  String CONFIG_TRACING_COLLECTOR_API_VERSION = "servicecomb.tracing.collector.apiVersion";
+
   String CONFIG_TRACING_ENABLED_KEY = "servicecomb.tracing.enabled";
 
-  String CONFIG_TRACING_COLLECTOR_PATH = "/api/v2/spans";
+  String CONFIG_TRACING_COLLECTOR_PATH = "/api/{0}/spans";
 
   String DEFAULT_TRACING_COLLECTOR_ADDRESS = "http://127.0.0.1:9411";
 
diff --git a/handlers/handler-tracing-zipkin/src/main/java/io/servicecomb/tracing/zipkin/TracingConfiguration.java b/handlers/handler-tracing-zipkin/src/main/java/io/servicecomb/tracing/zipkin/TracingConfiguration.java
index 000d5aa..57ed67d 100644
--- a/handlers/handler-tracing-zipkin/src/main/java/io/servicecomb/tracing/zipkin/TracingConfiguration.java
+++ b/handlers/handler-tracing-zipkin/src/main/java/io/servicecomb/tracing/zipkin/TracingConfiguration.java
@@ -19,19 +19,26 @@ package io.servicecomb.tracing.zipkin;
 
 import static io.servicecomb.foundation.common.base.ServiceCombConstants.CONFIG_QUALIFIED_MICROSERVICE_NAME_KEY;
 import static io.servicecomb.foundation.common.base.ServiceCombConstants.CONFIG_TRACING_COLLECTOR_ADDRESS;
+import static io.servicecomb.foundation.common.base.ServiceCombConstants.CONFIG_TRACING_COLLECTOR_API_VERSION;
 import static io.servicecomb.foundation.common.base.ServiceCombConstants.CONFIG_TRACING_COLLECTOR_PATH;
+import static io.servicecomb.foundation.common.base.ServiceCombConstants.CONFIG_TRACING_COLLECTOR_API_V1;
+import static io.servicecomb.foundation.common.base.ServiceCombConstants.CONFIG_TRACING_COLLECTOR_API_V2;
 import static io.servicecomb.foundation.common.base.ServiceCombConstants.DEFAULT_MICROSERVICE_NAME;
 import static io.servicecomb.foundation.common.base.ServiceCombConstants.DEFAULT_TRACING_COLLECTOR_ADDRESS;
 
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 
+import java.text.MessageFormat;
+
 import brave.Tracing;
 import brave.context.log4j12.MDCCurrentTraceContext;
 import brave.http.HttpTracing;
 import brave.propagation.CurrentTraceContext;
 import io.servicecomb.config.DynamicProperties;
+
 import zipkin2.Span;
+import zipkin2.codec.SpanBytesEncoder;
 import zipkin2.reporter.AsyncReporter;
 import zipkin2.reporter.Reporter;
 import zipkin2.reporter.Sender;
@@ -39,20 +46,33 @@ import zipkin2.reporter.okhttp3.OkHttpSender;
 
 @Configuration
 class TracingConfiguration {
+  private String apiVersion = CONFIG_TRACING_COLLECTOR_API_V2;
 
   @Bean
   Sender sender(DynamicProperties dynamicProperties) {
+    apiVersion = dynamicProperties.getStringProperty(CONFIG_TRACING_COLLECTOR_API_VERSION,
+        CONFIG_TRACING_COLLECTOR_API_V2).toLowerCase();
+    // use default value if the user set value is invalid
+    if (apiVersion.compareTo(CONFIG_TRACING_COLLECTOR_API_V1) != 0){
+      apiVersion = CONFIG_TRACING_COLLECTOR_API_V2;
+    }
+
+    String path = MessageFormat.format(CONFIG_TRACING_COLLECTOR_PATH, apiVersion);
     return OkHttpSender.create(
         dynamicProperties.getStringProperty(
             CONFIG_TRACING_COLLECTOR_ADDRESS,
             DEFAULT_TRACING_COLLECTOR_ADDRESS)
             .trim()
             .replaceAll("/+$", "")
-            .concat(CONFIG_TRACING_COLLECTOR_PATH));
+            .concat(path));
   }
 
   @Bean
   Reporter<Span> zipkinReporter(Sender sender) {
+    if (apiVersion.compareTo(CONFIG_TRACING_COLLECTOR_API_V1) == 0){
+      return AsyncReporter.builder(sender).build(SpanBytesEncoder.JSON_V1);
+    }
+
     return AsyncReporter.builder(sender).build();
   }
 
diff --git a/integration-tests/test-common/src/test/java/io/servicecomb/tests/tracing/TracingTestBase.java b/integration-tests/test-common/src/test/java/io/servicecomb/tests/tracing/TracingTestBase.java
index a5350cd..7a29363 100644
--- a/integration-tests/test-common/src/test/java/io/servicecomb/tests/tracing/TracingTestBase.java
+++ b/integration-tests/test-common/src/test/java/io/servicecomb/tests/tracing/TracingTestBase.java
@@ -96,10 +96,8 @@ public class TracingTestBase {
         .filter(span -> span.tags() != null)
         .map(span -> span.tags().entrySet())
         .flatMap(Collection::stream)
-        .filter(span -> "call.path".equals(span.getKey()) || "http.path".equals(span.getKey()) || "http.status_code"
-            .equals
-            (span
-        .getKey()))
+        .filter(span -> "call.path".equals(span.getKey()) || "http.path".equals(span.getKey())
+            || "http.status_code".equals(span.getKey()))
         .filter(span -> span.getValue() != null)
         .map(annotation -> new String(annotation.getValue()))
         .distinct()

-- 
To stop receiving notification emails like this one, please contact
"commits@servicecomb.apache.org" <co...@servicecomb.apache.org>.

[incubator-servicecomb-java-chassis] 02/04: SCB-172 fix tests for upgrading to zipkin2

Posted by ni...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ningjiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-java-chassis.git

commit 1132c4b8d3985b57888b12cde551c648fa469b1e
Author: Yang, Bo <ya...@huawei.com>
AuthorDate: Fri Jan 5 15:18:08 2018 +0800

    SCB-172 fix tests for upgrading to zipkin2
    
    The name, traceId, id members are refactored to methods in zipkin2. And the
    binaryAnnotations member is refactored to method tags() which returns a map.
    The dependency on io.zipkin.java artivacts are not needed anymore. But the
    mocking in tests requires zipkin.Endpoint so we kept it for test scope.
---
 handlers/handler-tracing-zipkin/pom.xml            |  7 +++++
 java-chassis-dependencies/pom.xml                  |  7 +++++
 .../tracing/zipkin/ZipkinSpanAspectTest.java       | 22 +++++++-------
 .../tracing/zipkin/ZipkinTracingAdviserTest.java   | 34 +++++++++++-----------
 4 files changed, 42 insertions(+), 28 deletions(-)

diff --git a/handlers/handler-tracing-zipkin/pom.xml b/handlers/handler-tracing-zipkin/pom.xml
index 134f3b3..f7454d5 100644
--- a/handlers/handler-tracing-zipkin/pom.xml
+++ b/handlers/handler-tracing-zipkin/pom.xml
@@ -58,6 +58,13 @@
       <artifactId>brave-context-log4j12</artifactId>
     </dependency>
     <dependency>
+      <!-- only needed in test phase for mocking brave -->
+      <groupId>io.zipkin.java</groupId>
+      <artifactId>zipkin</artifactId>
+      <scope>test</scope>
+    </dependency>
+
+    <dependency>
       <groupId>com.google.code.findbugs</groupId>
       <artifactId>jsr305</artifactId>
     </dependency>
diff --git a/java-chassis-dependencies/pom.xml b/java-chassis-dependencies/pom.xml
index ae6efaf..7c7f351 100644
--- a/java-chassis-dependencies/pom.xml
+++ b/java-chassis-dependencies/pom.xml
@@ -651,6 +651,13 @@
         <version>${zipkin.version}</version>
       </dependency>
       <dependency>
+        <!-- only needed in test phase for mocking brave -->
+        <groupId>io.zipkin.java</groupId>
+        <artifactId>zipkin</artifactId>
+        <version>${zipkin.version}</version>
+        <scope>test</scope>
+      </dependency>
+      <dependency>
         <groupId>io.zipkin.brave</groupId>
         <artifactId>brave</artifactId>
         <version>${brave.version}</version>
diff --git a/tracing/tracing-zipkin/src/test/java/io/servicecomb/tracing/zipkin/ZipkinSpanAspectTest.java b/tracing/tracing-zipkin/src/test/java/io/servicecomb/tracing/zipkin/ZipkinSpanAspectTest.java
index a05cf1f..72ddbb6 100644
--- a/tracing/tracing-zipkin/src/test/java/io/servicecomb/tracing/zipkin/ZipkinSpanAspectTest.java
+++ b/tracing/tracing-zipkin/src/test/java/io/servicecomb/tracing/zipkin/ZipkinSpanAspectTest.java
@@ -45,7 +45,7 @@ import io.servicecomb.tracing.zipkin.ZipkinSpanAspectTest.TracingConfig;
 import io.servicecomb.tracing.zipkin.app.ZipkinSpanTestApplication;
 import io.servicecomb.tracing.zipkin.app.ZipkinSpanTestApplication.CustomSpanTask;
 import io.servicecomb.tracing.zipkin.app.ZipkinSpanTestApplication.SomeSlowTask;
-import zipkin.Span;
+import zipkin2.Span;
 
 @RunWith(SpringRunner.class)
 @SpringBootTest(classes = {ZipkinSpanTestApplication.class, TracingConfig.class})
@@ -74,8 +74,8 @@ public class ZipkinSpanAspectTest {
 
     await().atMost(2, SECONDS).until(() -> !spans.isEmpty());
 
-    zipkin.Span span = spans.poll();
-    assertThat(span.name, is("crawl"));
+    zipkin2.Span span = spans.poll();
+    assertThat(span.name(), is("crawl"));
     assertThat(tracedValues(span), contains(SomeSlowTask.class.getMethod("crawl").toString()));
   }
   
@@ -84,17 +84,17 @@ public class ZipkinSpanAspectTest {
     customSpanTask.invoke();
     await().atMost(2, SECONDS).until(() -> !spans.isEmpty());
   
-    zipkin.Span span = spans.poll();
-    assertThat(span.name, is("transaction1"));
+    zipkin2.Span span = spans.poll();
+    assertThat(span.name(), is("transaction1"));
     assertThat(tracedValues(span), contains("startA"));
     
   }
 
-  private List<String> tracedValues(zipkin.Span spans) {
-    return spans.binaryAnnotations.stream()
-        .filter(span -> CALL_PATH.equals(span.key) || "error".equals(span.key))
-        .filter(span -> span.value != null)
-        .map(annotation -> new String(annotation.value))
+  private List<String> tracedValues(zipkin2.Span spans) {
+    return spans.tags().entrySet().stream()
+        .filter(span -> CALL_PATH.equals(span.getKey()) || "error".equals(span.getKey()))
+        .filter(span -> span.getValue() != null)
+        .map(annotation -> new String(annotation.getValue()))
         .distinct()
         .collect(Collectors.toList());
   }
@@ -110,7 +110,7 @@ public class ZipkinSpanAspectTest {
     Tracing tracing(Queue<Span> spans) {
       return Tracing.newBuilder()
           .currentTraceContext(new StrictCurrentTraceContext())
-          .reporter(spans::add)
+          .spanReporter(spans::add)
           .build();
     }
   }
diff --git a/tracing/tracing-zipkin/src/test/java/io/servicecomb/tracing/zipkin/ZipkinTracingAdviserTest.java b/tracing/tracing-zipkin/src/test/java/io/servicecomb/tracing/zipkin/ZipkinTracingAdviserTest.java
index 0040b81..cb49748 100644
--- a/tracing/tracing-zipkin/src/test/java/io/servicecomb/tracing/zipkin/ZipkinTracingAdviserTest.java
+++ b/tracing/tracing-zipkin/src/test/java/io/servicecomb/tracing/zipkin/ZipkinTracingAdviserTest.java
@@ -60,11 +60,11 @@ public class ZipkinTracingAdviserTest {
 
   private final ThrowableSupplier<String> supplier = () -> expected;
 
-  private final Map<Long, Queue<zipkin.Span>> traces = new ConcurrentHashMap<>();
+  private final Map<String, Queue<zipkin2.Span>> traces = new ConcurrentHashMap<>();
 
   private final Tracing tracing = Tracing.newBuilder()
       .currentTraceContext(new StrictCurrentTraceContext())
-      .reporter(e -> traces.computeIfAbsent(e.traceId, id -> new ConcurrentLinkedDeque<>()).add(e))
+      .spanReporter(e -> traces.computeIfAbsent(e.traceId(), id -> new ConcurrentLinkedDeque<>()).add(e))
       .build();
 
   private final ZipkinTracingAdviser tracingAdviser = new ZipkinTracingAdviser(tracing.tracer());
@@ -81,8 +81,8 @@ public class ZipkinTracingAdviserTest {
     assertThat(result, is(expected));
     await().atMost(2, SECONDS).until(() -> !traces.isEmpty());
 
-    zipkin.Span span = traces.values().iterator().next().poll();
-    assertThat(span.name, is(spanName));
+    zipkin2.Span span = traces.values().iterator().next().poll();
+    assertThat(span.name(), is(spanName));
     assertThat(tracedValues(span), contains(this.getClass().getCanonicalName()));
   }
 
@@ -99,8 +99,8 @@ public class ZipkinTracingAdviserTest {
 
     await().atMost(2, SECONDS).until(() -> !traces.isEmpty());
 
-    zipkin.Span span = traces.values().iterator().next().poll();
-    assertThat(span.name, is(spanName));
+    zipkin2.Span span = traces.values().iterator().next().poll();
+    assertThat(span.name(), is(spanName));
     assertThat(tracedValues(span), containsInAnyOrder(this.getClass().getCanonicalName(), "RuntimeException: oops"));
   }
 
@@ -129,13 +129,13 @@ public class ZipkinTracingAdviserTest {
 
     assertThat(traces.size(), is(nThreads));
 
-    for (Queue<zipkin.Span> queue : traces.values()) {
-      zipkin.Span child = queue.poll();
-      assertThat(child.name, is(spanName));
+    for (Queue<zipkin2.Span> queue : traces.values()) {
+      zipkin2.Span child = queue.poll();
+      assertThat(child.name(), is(spanName));
 
-      zipkin.Span parent = queue.poll();
-      assertThat(child.parentId, is(parent.id));
-      assertThat(child.traceId, is(parent.traceId));
+      zipkin2.Span parent = queue.poll();
+      assertThat(child.parentId(), is(parent.id()));
+      assertThat(child.traceId(), is(parent.traceId()));
       assertThat(tracedValues(child), contains(this.getClass().getCanonicalName()));
     }
   }
@@ -148,11 +148,11 @@ public class ZipkinTracingAdviserTest {
     }
   }
 
-  private List<String> tracedValues(zipkin.Span spans) {
-    return spans.binaryAnnotations.stream()
-        .filter(span -> CALL_PATH.equals(span.key) || "error".equals(span.key))
-        .filter(span -> span.value != null)
-        .map(annotation -> new String(annotation.value))
+  private List<String> tracedValues(zipkin2.Span spans) {
+    return spans.tags().entrySet().stream()
+        .filter(span -> CALL_PATH.equals(span.getKey()) || "error".equals(span.getKey()))
+        .filter(span -> span.getValue() != null)
+        .map(annotation -> new String(annotation.getValue()))
         .distinct()
         .collect(Collectors.toList());
   }

-- 
To stop receiving notification emails like this one, please contact
"commits@servicecomb.apache.org" <co...@servicecomb.apache.org>.

[incubator-servicecomb-java-chassis] 03/04: SCB-172 fix integration test for upgradeing to zipkin2

Posted by ni...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ningjiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-java-chassis.git

commit ecdd337f01dad400c7df75785b619e3cf5ce082a
Author: Yang, Bo <ya...@huawei.com>
AuthorDate: Fri Jan 5 18:30:50 2018 +0800

    SCB-172 fix integration test for upgradeing to zipkin2
    
    Use V2 http api to fetch tracing data.
    Use containsInAnyOrder for comparing results because json data doesn't
    ensure order on marshaling/unmarshaling, and we don't care the order here.
---
 integration-tests/pom.xml                          |  7 +++++-
 integration-tests/test-common/pom.xml              |  4 +++
 .../servicecomb/tests/tracing/TracingTestBase.java | 29 ++++++++++++++--------
 3 files changed, 28 insertions(+), 12 deletions(-)

diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml
index 3d021ac..e9f3d4f 100644
--- a/integration-tests/pom.xml
+++ b/integration-tests/pom.xml
@@ -55,9 +55,14 @@
         <type>test-jar</type>
       </dependency>
       <dependency>
+        <groupId>io.zipkin.zipkin2</groupId>
+        <artifactId>zipkin</artifactId>
+        <version>2.4.2</version>
+      </dependency>
+      <dependency>
         <groupId>io.zipkin.java</groupId>
         <artifactId>zipkin-junit</artifactId>
-        <version>1.24.0</version>
+        <version>2.4.2</version>
         <scope>test</scope>
       </dependency>
       <dependency>
diff --git a/integration-tests/test-common/pom.xml b/integration-tests/test-common/pom.xml
index 9161ca8..47ca056 100644
--- a/integration-tests/test-common/pom.xml
+++ b/integration-tests/test-common/pom.xml
@@ -51,6 +51,10 @@
       <artifactId>zipkin-junit</artifactId>
     </dependency>
     <dependency>
+      <groupId>io.zipkin.zipkin2</groupId>
+      <artifactId>zipkin</artifactId>
+    </dependency>
+    <dependency>
       <groupId>com.squareup.okhttp3</groupId>
       <artifactId>okhttp</artifactId>
       <scope>test</scope>
diff --git a/integration-tests/test-common/src/test/java/io/servicecomb/tests/tracing/TracingTestBase.java b/integration-tests/test-common/src/test/java/io/servicecomb/tests/tracing/TracingTestBase.java
index 52b511d..a5350cd 100644
--- a/integration-tests/test-common/src/test/java/io/servicecomb/tests/tracing/TracingTestBase.java
+++ b/integration-tests/test-common/src/test/java/io/servicecomb/tests/tracing/TracingTestBase.java
@@ -19,7 +19,7 @@ package io.servicecomb.tests.tracing;
 
 import static io.servicecomb.foundation.common.base.ServiceCombConstants.CONFIG_TRACING_COLLECTOR_ADDRESS;
 import static io.servicecomb.serviceregistry.client.LocalServiceRegistryClientImpl.LOCAL_REGISTRY_FILE_KEY;
-import static org.hamcrest.collection.IsIterableContainingInOrder.contains;
+import static org.hamcrest.collection.IsIterableContainingInAnyOrder.containsInAnyOrder;
 import static org.hamcrest.core.Is.is;
 import static org.junit.Assert.assertThat;
 import static org.springframework.http.HttpStatus.OK;
@@ -28,6 +28,7 @@ import java.lang.invoke.MethodHandles;
 import java.net.URL;
 import java.util.Collection;
 import java.util.List;
+import java.util.ArrayList;
 import java.util.stream.Collectors;
 
 import org.junit.BeforeClass;
@@ -39,8 +40,8 @@ import org.springframework.web.client.RestTemplate;
 
 import io.servicecomb.tests.EmbeddedAppender;
 import io.servicecomb.tests.Log4jConfig;
-import zipkin.Codec;
-import zipkin.Span;
+import zipkin2.codec.SpanBytesDecoder;
+import zipkin2.Span;
 import zipkin.junit.ZipkinRule;
 
 public class TracingTestBase {
@@ -74,27 +75,33 @@ public class TracingTestBase {
         .map(this::extractIds)
         .collect(Collectors.toList());
 
-    String url = zipkin.httpUrl() + "/api/v1/trace/{traceId}";
+    String url = zipkin.httpUrl() + "/api/v2/trace/{traceId}";
+    log.info("rest url:" + url);
     ResponseEntity<String> responseEntity = restTemplate.getForEntity(url, String.class, traceId(loggedIds));
 
     assertThat(responseEntity.getStatusCode(), is(OK));
     String body = responseEntity.getBody();
     log.info("Received trace json: {}", body);
-    List<Span> spans = Codec.JSON.readSpans(body.getBytes());
+    List<Span> spans = new ArrayList<Span>();
+    SpanBytesDecoder.JSON_V2.decodeList(body.getBytes(), spans);
 
     List<String> tracedValues = tracedValues(spans);
     tracedValues.forEach(value -> log.info("Received value {}", value));
-    assertThat(tracedValues, contains(values));
+    log.info("values: " + String.join(",",values));
+    assertThat(tracedValues, containsInAnyOrder(values));
   }
 
   private List<String> tracedValues(List<Span> spans) {
     return spans.stream()
-        .filter(span -> span.binaryAnnotations != null)
-        .map(span -> span.binaryAnnotations)
+        .filter(span -> span.tags() != null)
+        .map(span -> span.tags().entrySet())
         .flatMap(Collection::stream)
-        .filter(span -> "call.path".equals(span.key) || "http.path".equals(span.key) || "http.status_code".equals(span.key))
-        .filter(span -> span.value != null)
-        .map(annotation -> new String(annotation.value))
+        .filter(span -> "call.path".equals(span.getKey()) || "http.path".equals(span.getKey()) || "http.status_code"
+            .equals
+            (span
+        .getKey()))
+        .filter(span -> span.getValue() != null)
+        .map(annotation -> new String(annotation.getValue()))
         .distinct()
         .collect(Collectors.toList());
   }

-- 
To stop receiving notification emails like this one, please contact
"commits@servicecomb.apache.org" <co...@servicecomb.apache.org>.

[incubator-servicecomb-java-chassis] 01/04: SCB-172 upgrade to zipkin2

Posted by ni...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ningjiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-java-chassis.git

commit cd643cd8e91504f9dc982c3564718ff0e9a0997a
Author: Yang, Bo <ya...@huawei.com>
AuthorDate: Fri Jan 5 11:51:39 2018 +0800

    SCB-172 upgrade to zipkin2
    
    Upgrade zipkin to v2.4.2 and reporter to v2.2.
---
 .../foundation/common/base/ServiceCombConstants.java        |  2 +-
 handlers/handler-tracing-zipkin/pom.xml                     |  2 +-
 .../tracing/zipkin/ConsumerInvocationAdapter.java           |  2 +-
 .../tracing/zipkin/ProviderInvocationAdapter.java           |  2 +-
 .../io/servicecomb/tracing/zipkin/TracingConfiguration.java | 13 +++++++------
 java-chassis-dependencies/pom.xml                           |  8 ++++----
 tracing/tracing-zipkin/pom.xml                              |  2 +-
 7 files changed, 16 insertions(+), 15 deletions(-)

diff --git a/foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/base/ServiceCombConstants.java b/foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/base/ServiceCombConstants.java
index de09bad..00c2cbd 100644
--- a/foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/base/ServiceCombConstants.java
+++ b/foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/base/ServiceCombConstants.java
@@ -41,7 +41,7 @@ public interface ServiceCombConstants {
 
   String CONFIG_TRACING_ENABLED_KEY = "servicecomb.tracing.enabled";
 
-  String CONFIG_TRACING_COLLECTOR_PATH = "/api/v1/spans";
+  String CONFIG_TRACING_COLLECTOR_PATH = "/api/v2/spans";
 
   String DEFAULT_TRACING_COLLECTOR_ADDRESS = "http://127.0.0.1:9411";
 
diff --git a/handlers/handler-tracing-zipkin/pom.xml b/handlers/handler-tracing-zipkin/pom.xml
index d8d95b4..134f3b3 100644
--- a/handlers/handler-tracing-zipkin/pom.xml
+++ b/handlers/handler-tracing-zipkin/pom.xml
@@ -50,7 +50,7 @@
       <artifactId>brave</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.zipkin.reporter</groupId>
+      <groupId>io.zipkin.reporter2</groupId>
       <artifactId>zipkin-sender-okhttp3</artifactId>
     </dependency>
     <dependency>
diff --git a/handlers/handler-tracing-zipkin/src/main/java/io/servicecomb/tracing/zipkin/ConsumerInvocationAdapter.java b/handlers/handler-tracing-zipkin/src/main/java/io/servicecomb/tracing/zipkin/ConsumerInvocationAdapter.java
index e42d68c..7f7f79b 100644
--- a/handlers/handler-tracing-zipkin/src/main/java/io/servicecomb/tracing/zipkin/ConsumerInvocationAdapter.java
+++ b/handlers/handler-tracing-zipkin/src/main/java/io/servicecomb/tracing/zipkin/ConsumerInvocationAdapter.java
@@ -22,7 +22,7 @@ import javax.annotation.Nonnull;
 import brave.http.HttpClientAdapter;
 import io.servicecomb.core.Invocation;
 import io.servicecomb.swagger.invocation.Response;
-import zipkin.internal.Nullable;
+import zipkin2.internal.Nullable;
 
 class ConsumerInvocationAdapter extends HttpClientAdapter<Invocation, Response> {
 
diff --git a/handlers/handler-tracing-zipkin/src/main/java/io/servicecomb/tracing/zipkin/ProviderInvocationAdapter.java b/handlers/handler-tracing-zipkin/src/main/java/io/servicecomb/tracing/zipkin/ProviderInvocationAdapter.java
index a514ea5..6082b19 100644
--- a/handlers/handler-tracing-zipkin/src/main/java/io/servicecomb/tracing/zipkin/ProviderInvocationAdapter.java
+++ b/handlers/handler-tracing-zipkin/src/main/java/io/servicecomb/tracing/zipkin/ProviderInvocationAdapter.java
@@ -22,7 +22,7 @@ import javax.annotation.Nonnull;
 import brave.http.HttpServerAdapter;
 import io.servicecomb.core.Invocation;
 import io.servicecomb.swagger.invocation.Response;
-import zipkin.internal.Nullable;
+import zipkin2.internal.Nullable;
 
 class ProviderInvocationAdapter extends HttpServerAdapter<Invocation, Response> {
 
diff --git a/handlers/handler-tracing-zipkin/src/main/java/io/servicecomb/tracing/zipkin/TracingConfiguration.java b/handlers/handler-tracing-zipkin/src/main/java/io/servicecomb/tracing/zipkin/TracingConfiguration.java
index 30c1204..000d5aa 100644
--- a/handlers/handler-tracing-zipkin/src/main/java/io/servicecomb/tracing/zipkin/TracingConfiguration.java
+++ b/handlers/handler-tracing-zipkin/src/main/java/io/servicecomb/tracing/zipkin/TracingConfiguration.java
@@ -31,11 +31,11 @@ import brave.context.log4j12.MDCCurrentTraceContext;
 import brave.http.HttpTracing;
 import brave.propagation.CurrentTraceContext;
 import io.servicecomb.config.DynamicProperties;
-import zipkin.Span;
-import zipkin.reporter.AsyncReporter;
-import zipkin.reporter.Reporter;
-import zipkin.reporter.Sender;
-import zipkin.reporter.okhttp3.OkHttpSender;
+import zipkin2.Span;
+import zipkin2.reporter.AsyncReporter;
+import zipkin2.reporter.Reporter;
+import zipkin2.reporter.Sender;
+import zipkin2.reporter.okhttp3.OkHttpSender;
 
 @Configuration
 class TracingConfiguration {
@@ -56,6 +56,7 @@ class TracingConfiguration {
     return AsyncReporter.builder(sender).build();
   }
 
+
   @Bean
   Tracing tracing(Reporter<Span> reporter, DynamicProperties dynamicProperties,
       CurrentTraceContext currentTraceContext) {
@@ -63,7 +64,7 @@ class TracingConfiguration {
         .localServiceName(dynamicProperties.getStringProperty(CONFIG_QUALIFIED_MICROSERVICE_NAME_KEY,
             DEFAULT_MICROSERVICE_NAME))
         .currentTraceContext(currentTraceContext) // puts trace IDs into logs
-        .reporter(reporter)
+        .spanReporter(reporter)
         .build();
   }
 
diff --git a/java-chassis-dependencies/pom.xml b/java-chassis-dependencies/pom.xml
index 36adaa3..ae6efaf 100644
--- a/java-chassis-dependencies/pom.xml
+++ b/java-chassis-dependencies/pom.xml
@@ -50,8 +50,8 @@
     <cxf.version>3.1.6</cxf.version>
     <logback.version>1.1.7</logback.version>
     <brave.version>4.13.1</brave.version>
-    <zipkin.version>1.24.0</zipkin.version>
-    <zipkin-reporter.version>0.10.0</zipkin-reporter.version>
+    <zipkin.version>2.4.2</zipkin.version>
+    <zipkin-reporter.version>2.2.2</zipkin-reporter.version>
   </properties>
 
   <dependencyManagement>
@@ -646,7 +646,7 @@
 
       <!-- zipkin dependencies -->
       <dependency>
-        <groupId>io.zipkin.java</groupId>
+        <groupId>io.zipkin.zipkin2</groupId>
         <artifactId>zipkin</artifactId>
         <version>${zipkin.version}</version>
       </dependency>
@@ -661,7 +661,7 @@
         <version>${brave.version}</version>
       </dependency>
       <dependency>
-        <groupId>io.zipkin.reporter</groupId>
+        <groupId>io.zipkin.reporter2</groupId>
         <artifactId>zipkin-sender-okhttp3</artifactId>
         <version>${zipkin-reporter.version}</version>
       </dependency>
diff --git a/tracing/tracing-zipkin/pom.xml b/tracing/tracing-zipkin/pom.xml
index 005d8c2..4d707c7 100644
--- a/tracing/tracing-zipkin/pom.xml
+++ b/tracing/tracing-zipkin/pom.xml
@@ -42,7 +42,7 @@
       <artifactId>brave</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.zipkin.reporter</groupId>
+      <groupId>io.zipkin.reporter2</groupId>
       <artifactId>zipkin-sender-okhttp3</artifactId>
     </dependency>
     <dependency>

-- 
To stop receiving notification emails like this one, please contact
"commits@servicecomb.apache.org" <co...@servicecomb.apache.org>.