9

We are setting up microservice framework.

We use following stack for distributed tracing.

  • Spring boot
  • Kafka
  • Zipkin

Following is how the configuration is done

In gradle.build (or pom.xml) following starter dependencies added

compile 'org.springframework.cloud:spring-cloud-starter-sleuth'
compile 'org.springframework.cloud:spring-cloud-sleuth-zipkin'
compile 'org.springframework.cloud:spring-cloud-starter-bus-kafka'

Add one AlwaysSampler bean

@Bean
public Sampler defaultSampler() {
    return Sampler.ALWAYS_SAMPLE;
}

If we have kafka running, things work automatically.

But if kafka is not running, server does not start - this is mostly the case for development environment.

If I want to stop this, I have to comment out all the code mentioned here (as we use starter dependency with spring boot, it automatically configures as I understand).

Can we just make some changes in properties (or yaml) files so that I don't need to go and comment out all these code?

Or probably another way to disable this without doing some commenting, etc.

Akshay
  • 3,558
  • 4
  • 43
  • 77

2 Answers2

25

You can add the following setting on your properties key to disable zipkin, source.

spring.zipkin.enabled=false

Better yet, create separate development properties (like application-dev.properties) to avoid changing above setting everytime you want to run in your machine: https://stackoverflow.com/a/34846351/4504053

0

For Spring Boot 3, this would be:

management.tracing.enabled=false
Martin Ferrari
  • 186
  • 1
  • 7