This commit is contained in:
Trask Stalnaker 2019-10-03 18:26:23 -07:00
parent e32bf1816a
commit 8c558fa00e
25 changed files with 75 additions and 74 deletions

View File

@ -23,5 +23,4 @@ public class EchoServiceImpl implements EchoService {
public List<String> tracedMethod() {
return java.util.Arrays.asList("msg1", "msg2", "msg3");
}
}

View File

@ -20,11 +20,11 @@ public class TracingIterable implements Iterable<ConsumerRecord> {
@Override
public Iterator<ConsumerRecord> iterator() {
Iterator<ConsumerRecord> it;
final Iterator<ConsumerRecord> it;
// We should only return one iterator with tracing.
// However, this is not thread-safe, but usually the first (hopefully only) traversal of
// ConsumerRecords is performed in the same thread that called poll()
if (this.firstIterator) {
if (firstIterator) {
it = new TracingIterator(delegate.iterator(), operationName, decorator);
firstIterator = false;
} else {

View File

@ -16,10 +16,13 @@ public class DefaultWebClientAdvice {
@Advice.Return(readOnly = false) Mono<ClientResponse> mono) {
if (throwable == null
&& mono != null
// The response of the org.springframework.web.reactive.function.client.ExchangeFunction.exchange method is
// The response of the
// org.springframework.web.reactive.function.client.ExchangeFunction.exchange method is
// replaced by a decorator that in turn also calls the
// org.springframework.web.reactive.function.client.ExchangeFunction.exchange method. If the original return value
// is already decorated (we detect this if the "x-datadog-trace-id" is added), the result is not decorated again
// org.springframework.web.reactive.function.client.ExchangeFunction.exchange method. If the
// original return value
// is already decorated (we detect this if the "x-datadog-trace-id" is added), the result is
// not decorated again
// to avoid StackOverflowErrors.
&& !clientRequest.headers().keySet().contains("x-datadog-trace-id")) {
mono = new TracingClientResponseMono(clientRequest, exchangeFunction);

View File

@ -1,4 +1,3 @@
muzzle {
pass {
group = "org.apache.tomcat"

View File

@ -6,7 +6,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class SpringbootApplication {
public static void main(String[] args) {
public static void main(final String[] args) {
SpringApplication.run(SpringbootApplication.class, args);
}
}