title: Tracing of spring boot microservice application
body: <p>what are the best practices in tracing of spring boot 2 microservice applications? I found some 2 years old tutorials where tracing server was as another spring boot application with following dependencies:</p>
  
  <pre><code>    &lt;dependency&gt;
          &lt;groupId&gt;io.zipkin.java&lt;/groupId&gt;
          &lt;artifactId&gt;zipkin-server&lt;/artifactId&gt;
      &lt;/dependency&gt;
      &lt;dependency&gt;
          &lt;groupId&gt;io.zipkin.java&lt;/groupId&gt;
          &lt;artifactId&gt;zipkin-autoconfigure-ui&lt;/artifactId&gt;
          &lt;scope&gt;runtime&lt;/scope&gt;
      &lt;/dependency&gt;
  </code></pre>
  
  <p>and push traces with following configuration:</p>
  
  <pre><code>&lt;dependency&gt;
      &lt;groupId&gt;org.springframework.cloud&lt;/groupId&gt;
      &lt;artifactId&gt;spring-cloud-starter-zipkin&lt;/artifactId&gt;
  &lt;/dependency&gt;
  </code></pre>
  
  <p>and</p>
  
  <pre><code>spring.zipkin.base-url=http://localhost:9411/
  spring.sleuth.sampler.probability=1
  </code></pre>
  
  <p>Is this solution still actual and suitable for production or should we configure standalone docker image of zipkin instead of spring boot app and connect it to ELK stack with logs? What do you recommended? It will be great if you can provide some example what is recommended approach to handle it in. Thank you in advice.</p>