From e61d0e139ae6f9430d2da203b6a67831491ed7fc Mon Sep 17 00:00:00 2001 From: buildmaster Date: Fri, 13 Dec 2019 10:54:41 +0000 Subject: [PATCH] Sync docs from master to gh-pages --- reference/html/index.html | 105 +++++++++++++----------- reference/html/spring-cloud-sleuth.html | 105 +++++++++++++----------- 2 files changed, 112 insertions(+), 98 deletions(-) diff --git a/reference/html/index.html b/reference/html/index.html index c03edd30b..a5ce34a50 100644 --- a/reference/html/index.html +++ b/reference/html/index.html @@ -172,18 +172,19 @@ $(addBlockSwitches);
  • 16. Configuration properties
  • @@ -2933,9 +2934,15 @@ Callable<String> traceCallableFromTracer = this.tracing.currentTraceContex
    -

    15.3. Hystrix

    +

    15.3. Spring Cloud CircuitBreaker

    +
    +

    If you have Spring Cloud CircuitBreaker on the classpath, we will wrap the passed command Supplier and the fallback Function in its trace representations. In order to disable this instrumentation set spring.sleuth.circuitbreaker.enabled to false.

    +
    +
    +
    +

    15.4. Hystrix

    -

    15.3.1. Custom Concurrency Strategy

    +

    15.4.1. Custom Concurrency Strategy

    We register a custom HystrixConcurrencyStrategy called TraceCallable that wraps all Callable instances in their Sleuth representative. The strategy either starts or continues a span, depending on whether tracing was already going on before the Hystrix command was called. @@ -2944,7 +2951,7 @@ To disable the custom Hystrix Concurrency Strategy, set the spring.sleuth.

    -

    15.3.2. Manual Command setting

    +

    15.4.2. Manual Command setting

    Assume that you have the following HystrixCommand:

    @@ -2975,7 +2982,7 @@ To disable the custom Hystrix Concurrency Strategy, set the spring.sleuth.
    -

    15.4. RxJava

    +

    15.5. RxJava

    We registering a custom RxJavaSchedulersHook that wraps all Action0 instances in their Sleuth representative, which is called TraceAction. The hook either starts or continues a span, depending on whether tracing was already going on before the Action was scheduled. @@ -3000,12 +3007,12 @@ the Reactor support.

    -

    15.5. HTTP integration

    +

    15.6. HTTP integration

    Features from this section can be disabled by setting the spring.sleuth.web.enabled property with value equal to false.

    -

    15.5.1. HTTP Filter

    +

    15.6.1. HTTP Filter

    Through the TracingFilter, all sampled incoming requests result in creation of a Span. That Span’s name is http: + the path to which the request was sent. @@ -3029,7 +3036,7 @@ to true.

    -

    15.5.2. HandlerInterceptor

    +

    15.6.2. HandlerInterceptor

    Since we want the span names to be precise, we use a TraceHandlerInterceptor that either wraps an existing HandlerInterceptor or is added directly to the list of existing HandlerInterceptors. The TraceHandlerInterceptor adds a special request attribute to the given HttpServletRequest. @@ -3039,13 +3046,13 @@ In that case, please file an issue in Spring Cloud Sleuth.

    -

    15.5.3. Async Servlet support

    +

    15.6.3. Async Servlet support

    If your controller returns a Callable or a WebAsyncTask, Spring Cloud Sleuth continues the existing span instead of creating a new one.

    -

    15.5.4. WebFlux support

    +

    15.6.4. WebFlux support

    Through TraceWebFilter, all sampled incoming requests result in creation of a Span. That Span’s name is http: + the path to which the request was sent. @@ -3060,7 +3067,7 @@ If you want to reuse Sleuth’s default skip patterns and append your own, p

    -

    15.5.5. Dubbo RPC support

    +

    15.6.5. Dubbo RPC support

    Via the integration with Brave, Spring Cloud Sleuth supports Dubbo. It’s enough to add the brave-instrumentation-dubbo dependency:

    @@ -3089,9 +3096,9 @@ An example of Spring Cloud Sleuth and Dubbo can be found -

    15.6. HTTP Client Integration

    +

    15.7. HTTP Client Integration

    -

    15.6.1. Synchronous Rest Template

    +

    15.7.1. Synchronous Rest Template

    We inject a RestTemplate interceptor to ensure that all the tracing information is passed to the requests. Each time a call is made, a new Span is created. @@ -3113,7 +3120,7 @@ If you create a RestTemplate instance with a new keywo

    -

    15.6.2. Asynchronous Rest Template

    +

    15.7.2. Asynchronous Rest Template

    @@ -3170,7 +3177,7 @@ static class Config {
    -

    15.6.3. WebClient

    +

    15.7.3. WebClient

    We inject a ExchangeFilterFunction implementation that creates a span and, through on-success and on-error callbacks, takes care of closing client-side spans.

    @@ -3192,7 +3199,7 @@ If you create a WebClient instance with a new keyword,
    -

    15.6.4. Traverson

    +

    15.7.4. Traverson

    If you use the Traverson library, you can inject a RestTemplate as a bean into your Traverson object. Since RestTemplate is already intercepted, you get full support for tracing in your client. The following pseudo code @@ -3209,7 +3216,7 @@ Traverson traverson = new Traverson(URI.create("https://some/address"),

    -

    15.6.5. Apache HttpClientBuilder and HttpAsyncClientBuilder

    +

    15.7.5. Apache HttpClientBuilder and HttpAsyncClientBuilder

    We instrument the HttpClientBuilder and HttpAsyncClientBuilder so that tracing context gets injected to the sent requests.

    @@ -3219,7 +3226,7 @@ tracing context gets injected to the sent requests.

    -

    15.6.6. Netty HttpClient

    +

    15.7.6. Netty HttpClient

    We instrument the Netty’s HttpClient.

    @@ -3241,7 +3248,7 @@ If you create a HttpClient instance with a new keyword
    -

    15.6.7. UserInfoRestTemplateCustomizer

    +

    15.7.7. UserInfoRestTemplateCustomizer

    We instrument the Spring Security’s UserInfoRestTemplateCustomizer.

    @@ -3251,7 +3258,7 @@ If you create a HttpClient instance with a new keyword
    -

    15.7. Feign

    +

    15.8. Feign

    By default, Spring Cloud Sleuth provides integration with Feign through TraceFeignClientAutoConfiguration. You can disable it entirely by setting spring.sleuth.feign.enabled to false. @@ -3265,12 +3272,12 @@ However, all the default instrumentation is still there.

    -

    15.8. gRPC

    +

    15.9. gRPC

    Spring Cloud Sleuth provides instrumentation for gRPC through TraceGrpcAutoConfiguration. You can disable it entirely by setting spring.sleuth.grpc.enabled to false.

    -

    15.8.1. Variant 1

    +

    15.9.1. Variant 1

    Dependencies
    @@ -3339,16 +3346,16 @@ Spring Cloud Sleuth provides a SpringAwareManagedChannelBuilder tha
    -

    15.8.2. Variant 2

    +

    15.9.2. Variant 2

    Grpc Spring Boot Starter automatically detects the presence of Spring Cloud Sleuth and brave’s instrumentation for gRPC and registers the necessary client and/or server tooling.

    -

    15.9. Asynchronous Communication

    +

    15.10. Asynchronous Communication

    -

    15.9.1. @Async Annotated methods

    +

    15.10.1. @Async Annotated methods

    In Spring Cloud Sleuth, we instrument async-related components so that the tracing information is passed between threads. You can disable this behavior by setting the value of spring.sleuth.async.enabled to false.

    @@ -3371,7 +3378,7 @@ You can disable this behavior by setting the value of spring.sleuth.async.
    -

    15.9.2. @Scheduled Annotated Methods

    +

    15.10.2. @Scheduled Annotated Methods

    In Spring Cloud Sleuth, we instrument scheduled method execution so that the tracing information is passed between threads. You can disable this behavior by setting the value of spring.sleuth.scheduled.enabled to false.

    @@ -3396,7 +3403,7 @@ This behavior may be annoying. That’s why, by default, spring.sleuth
    -

    15.9.3. Executor, ExecutorService, and ScheduledExecutorService

    +

    15.10.3. Executor, ExecutorService, and ScheduledExecutorService

    We provide LazyTraceExecutor, TraceableExecutorService, and TraceableScheduledExecutorService. Those implementations create spans each time a new task is submitted, invoked, or scheduled.

    @@ -3483,12 +3490,12 @@ to add the @Role(BeanDefinition.ROLE_INFRASTRUCTURE) on your
    -

    15.10. Messaging

    +

    15.11. Messaging

    Features from this section can be disabled by setting the spring.sleuth.messaging.enabled property with value equal to false.

    -

    15.10.1. Spring Integration and Spring Cloud Stream

    +

    15.11.1. Spring Integration and Spring Cloud Stream

    Spring Cloud Sleuth integrates with Spring Integration. It creates spans for publish and subscribe events. @@ -3527,7 +3534,7 @@ it’s enough for you to register beans of types:

    -

    15.10.2. Spring RabbitMq

    +

    15.11.2. Spring RabbitMq

    We instrument the RabbitTemplate so that tracing headers get injected into the message.

    @@ -3537,7 +3544,7 @@ into the message.

    -

    15.10.3. Spring Kafka

    +

    15.11.3. Spring Kafka

    We instrument the Spring Kafka’s ProducerFactory and ConsumerFactory so that tracing headers get injected into the created Spring Kafka’s @@ -3548,7 +3555,7 @@ so that tracing headers get injected into the created Spring Kafka’s

    -

    15.10.4. Spring Kafka Streams

    +

    15.11.4. Spring Kafka Streams

    We instrument the KafkaStreams KafkaClientSupplier so that tracing headers get injected into the Producer and Consumer`s. A `KafkaStreamsTracing bean @@ -3560,7 +3567,7 @@ allows for further instrumentation through additional TransformerSupplier<

    -

    15.10.5. Spring JMS

    +

    15.11.5. Spring JMS

    We instrument the JmsTemplate so that tracing headers get injected into the message. We also support @JmsListener annotated methods on the consumer side.

    @@ -3582,7 +3589,7 @@ We don’t support baggage propagation for JMS
    -

    15.10.6. Spring Cloud AWS Messaging SQS

    +

    15.11.6. Spring Cloud AWS Messaging SQS

    We instrument @SqsListener which is provided by org.springframework.cloud:spring-cloud-aws-messaging so that tracing headers get extracted from the message and a trace gets put into the context.

    @@ -3593,21 +3600,21 @@ so that tracing headers get extracted from the message and a trace gets put into
    -

    15.11. Zuul

    +

    15.12. Zuul

    We instrument the Zuul Ribbon integration by enriching the Ribbon requests with tracing information. To disable Zuul support, set the spring.sleuth.zuul.enabled property to false.

    -

    15.12. Redis

    +

    15.13. Redis

    We set tracing property to Lettcue ClientResources instance to enable Brave tracing built in Lettuce . To disable Redis support, set the spring.sleuth.redis.enabled property to false.

    -

    15.13. Quartz

    +

    15.14. Quartz

    We instrument quartz jobs by adding Job/Trigger listeners to the Quartz Scheduler.

    @@ -3616,7 +3623,7 @@ To disable Redis support, set the spring.sleuth.redis.enabled prope
    -

    15.14. Project Reactor

    +

    15.15. Project Reactor

    For projects depending on Project Reactor such as Spring Cloud Gateway, we suggest turning the spring.sleuth.reactor.decorate-on-each option to false. That way an increased performance gain should be observed in comparison to the standard instrumentation mechanism. What this option does is it will wrap decorate onLast operator instead of onEach which will result in creation of far fewer objects. The downside of this is that when Project Reactor will change threads, the trace propagation will continue without issues, however anything relying on the ThreadLocal such as e.g. MDC entries can be buggy.

    diff --git a/reference/html/spring-cloud-sleuth.html b/reference/html/spring-cloud-sleuth.html index c03edd30b..a5ce34a50 100644 --- a/reference/html/spring-cloud-sleuth.html +++ b/reference/html/spring-cloud-sleuth.html @@ -172,18 +172,19 @@ $(addBlockSwitches);
  • 16. Configuration properties
  • @@ -2933,9 +2934,15 @@ Callable<String> traceCallableFromTracer = this.tracing.currentTraceContex
    -

    15.3. Hystrix

    +

    15.3. Spring Cloud CircuitBreaker

    +
    +

    If you have Spring Cloud CircuitBreaker on the classpath, we will wrap the passed command Supplier and the fallback Function in its trace representations. In order to disable this instrumentation set spring.sleuth.circuitbreaker.enabled to false.

    +
    +
    +
    +

    15.4. Hystrix

    -

    15.3.1. Custom Concurrency Strategy

    +

    15.4.1. Custom Concurrency Strategy

    We register a custom HystrixConcurrencyStrategy called TraceCallable that wraps all Callable instances in their Sleuth representative. The strategy either starts or continues a span, depending on whether tracing was already going on before the Hystrix command was called. @@ -2944,7 +2951,7 @@ To disable the custom Hystrix Concurrency Strategy, set the spring.sleuth.

    -

    15.3.2. Manual Command setting

    +

    15.4.2. Manual Command setting

    Assume that you have the following HystrixCommand:

    @@ -2975,7 +2982,7 @@ To disable the custom Hystrix Concurrency Strategy, set the spring.sleuth.
    -

    15.4. RxJava

    +

    15.5. RxJava

    We registering a custom RxJavaSchedulersHook that wraps all Action0 instances in their Sleuth representative, which is called TraceAction. The hook either starts or continues a span, depending on whether tracing was already going on before the Action was scheduled. @@ -3000,12 +3007,12 @@ the Reactor support.

    -

    15.5. HTTP integration

    +

    15.6. HTTP integration

    Features from this section can be disabled by setting the spring.sleuth.web.enabled property with value equal to false.

    -

    15.5.1. HTTP Filter

    +

    15.6.1. HTTP Filter

    Through the TracingFilter, all sampled incoming requests result in creation of a Span. That Span’s name is http: + the path to which the request was sent. @@ -3029,7 +3036,7 @@ to true.

    -

    15.5.2. HandlerInterceptor

    +

    15.6.2. HandlerInterceptor

    Since we want the span names to be precise, we use a TraceHandlerInterceptor that either wraps an existing HandlerInterceptor or is added directly to the list of existing HandlerInterceptors. The TraceHandlerInterceptor adds a special request attribute to the given HttpServletRequest. @@ -3039,13 +3046,13 @@ In that case, please file an issue in Spring Cloud Sleuth.

    -

    15.5.3. Async Servlet support

    +

    15.6.3. Async Servlet support

    If your controller returns a Callable or a WebAsyncTask, Spring Cloud Sleuth continues the existing span instead of creating a new one.

    -

    15.5.4. WebFlux support

    +

    15.6.4. WebFlux support

    Through TraceWebFilter, all sampled incoming requests result in creation of a Span. That Span’s name is http: + the path to which the request was sent. @@ -3060,7 +3067,7 @@ If you want to reuse Sleuth’s default skip patterns and append your own, p

    -

    15.5.5. Dubbo RPC support

    +

    15.6.5. Dubbo RPC support

    Via the integration with Brave, Spring Cloud Sleuth supports Dubbo. It’s enough to add the brave-instrumentation-dubbo dependency:

    @@ -3089,9 +3096,9 @@ An example of Spring Cloud Sleuth and Dubbo can be found -

    15.6. HTTP Client Integration

    +

    15.7. HTTP Client Integration

    -

    15.6.1. Synchronous Rest Template

    +

    15.7.1. Synchronous Rest Template

    We inject a RestTemplate interceptor to ensure that all the tracing information is passed to the requests. Each time a call is made, a new Span is created. @@ -3113,7 +3120,7 @@ If you create a RestTemplate instance with a new keywo

    @@ -3170,7 +3177,7 @@ static class Config {
    -

    15.6.3. WebClient

    +

    15.7.3. WebClient

    We inject a ExchangeFilterFunction implementation that creates a span and, through on-success and on-error callbacks, takes care of closing client-side spans.

    @@ -3192,7 +3199,7 @@ If you create a WebClient instance with a new keyword,
    -

    15.6.4. Traverson

    +

    15.7.4. Traverson

    If you use the Traverson library, you can inject a RestTemplate as a bean into your Traverson object. Since RestTemplate is already intercepted, you get full support for tracing in your client. The following pseudo code @@ -3209,7 +3216,7 @@ Traverson traverson = new Traverson(URI.create("https://some/address"),

    -

    15.6.5. Apache HttpClientBuilder and HttpAsyncClientBuilder

    +

    15.7.5. Apache HttpClientBuilder and HttpAsyncClientBuilder

    We instrument the HttpClientBuilder and HttpAsyncClientBuilder so that tracing context gets injected to the sent requests.

    @@ -3219,7 +3226,7 @@ tracing context gets injected to the sent requests.

    -

    15.6.6. Netty HttpClient

    +

    15.7.6. Netty HttpClient

    We instrument the Netty’s HttpClient.

    @@ -3241,7 +3248,7 @@ If you create a HttpClient instance with a new keyword
    -

    15.6.7. UserInfoRestTemplateCustomizer

    +

    15.7.7. UserInfoRestTemplateCustomizer

    We instrument the Spring Security’s UserInfoRestTemplateCustomizer.

    @@ -3251,7 +3258,7 @@ If you create a HttpClient instance with a new keyword
    -

    15.7. Feign

    +

    15.8. Feign

    By default, Spring Cloud Sleuth provides integration with Feign through TraceFeignClientAutoConfiguration. You can disable it entirely by setting spring.sleuth.feign.enabled to false. @@ -3265,12 +3272,12 @@ However, all the default instrumentation is still there.

    -

    15.8. gRPC

    +

    15.9. gRPC

    Spring Cloud Sleuth provides instrumentation for gRPC through TraceGrpcAutoConfiguration. You can disable it entirely by setting spring.sleuth.grpc.enabled to false.

    -

    15.8.1. Variant 1

    +

    15.9.1. Variant 1

    Dependencies
    @@ -3339,16 +3346,16 @@ Spring Cloud Sleuth provides a SpringAwareManagedChannelBuilder tha
    -

    15.8.2. Variant 2

    +

    15.9.2. Variant 2

    Grpc Spring Boot Starter automatically detects the presence of Spring Cloud Sleuth and brave’s instrumentation for gRPC and registers the necessary client and/or server tooling.

    -

    15.9. Asynchronous Communication

    +

    15.10. Asynchronous Communication

    -

    15.9.1. @Async Annotated methods

    +

    15.10.1. @Async Annotated methods

    In Spring Cloud Sleuth, we instrument async-related components so that the tracing information is passed between threads. You can disable this behavior by setting the value of spring.sleuth.async.enabled to false.

    @@ -3371,7 +3378,7 @@ You can disable this behavior by setting the value of spring.sleuth.async.
    -

    15.9.2. @Scheduled Annotated Methods

    +

    15.10.2. @Scheduled Annotated Methods

    In Spring Cloud Sleuth, we instrument scheduled method execution so that the tracing information is passed between threads. You can disable this behavior by setting the value of spring.sleuth.scheduled.enabled to false.

    @@ -3396,7 +3403,7 @@ This behavior may be annoying. That’s why, by default, spring.sleuth
    -

    15.9.3. Executor, ExecutorService, and ScheduledExecutorService

    +

    15.10.3. Executor, ExecutorService, and ScheduledExecutorService

    We provide LazyTraceExecutor, TraceableExecutorService, and TraceableScheduledExecutorService. Those implementations create spans each time a new task is submitted, invoked, or scheduled.

    @@ -3483,12 +3490,12 @@ to add the @Role(BeanDefinition.ROLE_INFRASTRUCTURE) on your
    -

    15.10. Messaging

    +

    15.11. Messaging

    Features from this section can be disabled by setting the spring.sleuth.messaging.enabled property with value equal to false.

    -

    15.10.1. Spring Integration and Spring Cloud Stream

    +

    15.11.1. Spring Integration and Spring Cloud Stream

    Spring Cloud Sleuth integrates with Spring Integration. It creates spans for publish and subscribe events. @@ -3527,7 +3534,7 @@ it’s enough for you to register beans of types:

    -

    15.10.2. Spring RabbitMq

    +

    15.11.2. Spring RabbitMq

    We instrument the RabbitTemplate so that tracing headers get injected into the message.

    @@ -3537,7 +3544,7 @@ into the message.

    -

    15.10.3. Spring Kafka

    +

    15.11.3. Spring Kafka

    We instrument the Spring Kafka’s ProducerFactory and ConsumerFactory so that tracing headers get injected into the created Spring Kafka’s @@ -3548,7 +3555,7 @@ so that tracing headers get injected into the created Spring Kafka’s

    -

    15.10.4. Spring Kafka Streams

    +

    15.11.4. Spring Kafka Streams

    We instrument the KafkaStreams KafkaClientSupplier so that tracing headers get injected into the Producer and Consumer`s. A `KafkaStreamsTracing bean @@ -3560,7 +3567,7 @@ allows for further instrumentation through additional TransformerSupplier<

    -

    15.10.5. Spring JMS

    +

    15.11.5. Spring JMS

    We instrument the JmsTemplate so that tracing headers get injected into the message. We also support @JmsListener annotated methods on the consumer side.

    @@ -3582,7 +3589,7 @@ We don’t support baggage propagation for JMS
    -

    15.10.6. Spring Cloud AWS Messaging SQS

    +

    15.11.6. Spring Cloud AWS Messaging SQS

    We instrument @SqsListener which is provided by org.springframework.cloud:spring-cloud-aws-messaging so that tracing headers get extracted from the message and a trace gets put into the context.

    @@ -3593,21 +3600,21 @@ so that tracing headers get extracted from the message and a trace gets put into
    -

    15.11. Zuul

    +

    15.12. Zuul

    We instrument the Zuul Ribbon integration by enriching the Ribbon requests with tracing information. To disable Zuul support, set the spring.sleuth.zuul.enabled property to false.

    -

    15.12. Redis

    +

    15.13. Redis

    We set tracing property to Lettcue ClientResources instance to enable Brave tracing built in Lettuce . To disable Redis support, set the spring.sleuth.redis.enabled property to false.

    -

    15.13. Quartz

    +

    15.14. Quartz

    We instrument quartz jobs by adding Job/Trigger listeners to the Quartz Scheduler.

    @@ -3616,7 +3623,7 @@ To disable Redis support, set the spring.sleuth.redis.enabled prope
    -

    15.14. Project Reactor

    +

    15.15. Project Reactor

    For projects depending on Project Reactor such as Spring Cloud Gateway, we suggest turning the spring.sleuth.reactor.decorate-on-each option to false. That way an increased performance gain should be observed in comparison to the standard instrumentation mechanism. What this option does is it will wrap decorate onLast operator instead of onEach which will result in creation of far fewer objects. The downside of this is that when Project Reactor will change threads, the trace propagation will continue without issues, however anything relying on the ThreadLocal such as e.g. MDC entries can be buggy.