diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/Span.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/Span.java index e41936cd1..d05898791 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/Span.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/Span.java @@ -27,6 +27,9 @@ import java.util.Map; import org.springframework.util.Assert; import org.springframework.util.StringUtils; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; + /** * Class for gathering and reporting statistics about a block of execution. *
@@ -63,6 +66,7 @@ import org.springframework.util.StringUtils;
* like scoped tracers. Sleuth spans are DTOs, whose sole responsibility is the current
* span in the trace tree.
*/
+@JsonInclude(JsonInclude.Include.NON_DEFAULT)
public class Span {
public static final String SAMPLED_NAME = "X-B3-Sampled";
@@ -129,6 +133,11 @@ public class Span {
private final List
* Might be null
*/
+ @JsonIgnore
public Span getSavedSpan() {
return this.savedSpan;
}
diff --git a/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/Host.java b/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/Host.java
index 630829e9e..0665e4031 100644
--- a/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/Host.java
+++ b/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/Host.java
@@ -20,6 +20,7 @@ import java.net.InetAddress;
import java.net.UnknownHostException;
import java.nio.ByteBuffer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
/**
@@ -36,12 +37,17 @@ public class Host {
private String address;
private Integer port;
+ @SuppressWarnings("unused")
+ private Host() {
+ }
+
public Host(String serviceName, String address, Integer port) {
this.serviceName = serviceName;
this.address = address;
this.port = port;
}
+ @JsonIgnore
public int getIpv4() {
InetAddress inetAddress = null;
try {
diff --git a/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/SleuthStreamAutoConfiguration.java b/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/SleuthStreamAutoConfiguration.java
index 227f9c6fb..0d9832d55 100644
--- a/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/SleuthStreamAutoConfiguration.java
+++ b/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/SleuthStreamAutoConfiguration.java
@@ -72,9 +72,9 @@ public class SleuthStreamAutoConfiguration {
}
@Bean
- public StreamSpanListener sleuthStreamSpanListener(HostLocator endpointLocator,
+ public StreamSpanReporter sleuthStreamSpanReporter(HostLocator endpointLocator,
SpanMetricReporter spanMetricReporter) {
- return new StreamSpanListener(endpointLocator, spanMetricReporter);
+ return new StreamSpanReporter(endpointLocator, spanMetricReporter);
}
@Configuration
diff --git a/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/Spans.java b/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/Spans.java
index a2c0b0fd9..eada91626 100644
--- a/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/Spans.java
+++ b/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/Spans.java
@@ -35,6 +35,10 @@ public class Spans {
private Host host;
private List spans = Collections.emptyList();
+
+ @SuppressWarnings("unused")
+ private Spans() {
+ }
public Spans(Host host, List spans) {
this.host = host;
diff --git a/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/StreamEnvironmentPostProcessor.java b/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/StreamEnvironmentPostProcessor.java
index 9ddd19ddc..729d6e912 100644
--- a/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/StreamEnvironmentPostProcessor.java
+++ b/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/StreamEnvironmentPostProcessor.java
@@ -76,6 +76,8 @@ public class StreamEnvironmentPostProcessor implements EnvironmentPostProcessor
// compete with each other and only one gets each message.
map.put("spring.cloud.stream.bindings." + SleuthSink.INPUT + ".group",
environment.getProperty("spring.sleuth.stream.group", SleuthSink.INPUT));
+ map.put("spring.cloud.stream.bindings." + SleuthSink.INPUT + ".content-type",
+ environment.getProperty("spring.sleuth.stream.content-type", "application/json"));
addOrReplace(environment.getPropertySources(), map);
}
diff --git a/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/StreamSpanListener.java b/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/StreamSpanReporter.java
similarity index 95%
rename from spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/StreamSpanListener.java
rename to spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/StreamSpanReporter.java
index 79ded708d..330ca951b 100644
--- a/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/StreamSpanListener.java
+++ b/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/StreamSpanReporter.java
@@ -37,13 +37,13 @@ import org.springframework.integration.annotation.MessageEndpoint;
* @since 1.0.0
*/
@MessageEndpoint
-public class StreamSpanListener implements SpanReporter {
+public class StreamSpanReporter implements SpanReporter {
private Collection queue = new ConcurrentLinkedQueue<>();
private final HostLocator endpointLocator;
private final SpanMetricReporter spanMetricReporter;
- public StreamSpanListener(HostLocator endpointLocator, SpanMetricReporter spanMetricReporter) {
+ public StreamSpanReporter(HostLocator endpointLocator, SpanMetricReporter spanMetricReporter) {
this.endpointLocator = endpointLocator;
this.spanMetricReporter = spanMetricReporter;
}
diff --git a/spring-cloud-sleuth-stream/src/test/java/org/springframework/cloud/sleuth/stream/StreamSpanListenerTests.java b/spring-cloud-sleuth-stream/src/test/java/org/springframework/cloud/sleuth/stream/StreamSpanListenerTests.java
index 3e9b241bd..87f1d8f01 100644
--- a/spring-cloud-sleuth-stream/src/test/java/org/springframework/cloud/sleuth/stream/StreamSpanListenerTests.java
+++ b/spring-cloud-sleuth-stream/src/test/java/org/springframework/cloud/sleuth/stream/StreamSpanListenerTests.java
@@ -65,7 +65,7 @@ public class StreamSpanListenerTests {
@Autowired Tracer tracer;
@Autowired ApplicationContext application;
@Autowired ZipkinTestConfiguration test;
- @Autowired StreamSpanListener listener;
+ @Autowired StreamSpanReporter listener;
@Autowired CounterService counterService;
@Autowired SpanReporter spanReporter;
@@ -139,7 +139,7 @@ public class StreamSpanListenerTests {
private List spans = new ArrayList<>();
@Autowired
- StreamSpanListener listener;
+ StreamSpanReporter listener;
@ServiceActivator(inputChannel=SleuthSource.OUTPUT)
public void handle(Message> msg) {
diff --git a/spring-cloud-sleuth-zipkin-stream/src/main/java/org/springframework/cloud/sleuth/zipkin/stream/StreamEnvironmentPostProcessor.java b/spring-cloud-sleuth-zipkin-stream/src/main/java/org/springframework/cloud/sleuth/zipkin/stream/StreamEnvironmentPostProcessor.java
new file mode 100644
index 000000000..17f28cf29
--- /dev/null
+++ b/spring-cloud-sleuth-zipkin-stream/src/main/java/org/springframework/cloud/sleuth/zipkin/stream/StreamEnvironmentPostProcessor.java
@@ -0,0 +1,73 @@
+/*
+ * Copyright 2015 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.springframework.cloud.sleuth.zipkin.stream;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.env.EnvironmentPostProcessor;
+import org.springframework.cloud.sleuth.stream.SleuthSink;
+import org.springframework.cloud.sleuth.stream.Spans;
+import org.springframework.core.env.ConfigurableEnvironment;
+import org.springframework.core.env.MapPropertySource;
+import org.springframework.core.env.MutablePropertySources;
+import org.springframework.core.env.PropertySource;
+
+/**
+ * {@link EnvironmentPostProcessor} that sets the default properties for Sleuth Zipkin
+ * Stream.
+ *
+ * @author Dave Syer
+ *
+ * @since 1.0.0
+ */
+public class StreamEnvironmentPostProcessor implements EnvironmentPostProcessor {
+
+ private static final String PROPERTY_SOURCE_NAME = "defaultProperties";
+
+ @Override
+ public void postProcessEnvironment(ConfigurableEnvironment environment,
+ SpringApplication application) {
+ Map