Documentation

Sending Spans to Zipkin

Zipkin is distributed tracing system. It was originally created at Twitter but currently is run as a completely independent open source project. Most people would recognize Zipkin as the distributed tracing platform since it has a really strong and active community and it is integrated with most major libraries and toolkits on the JVM.

The kamon-zipkin module translates Kamon’s representation of Spans and sends them to Zipkin’s v2 API.

Installation and Startup


libraryDependencies += "io.kamon" %% "kamon-zipkin" % "1.0.0"


    <dependency>
      <groupId>io.kamon</groupId>
      <artifactId>kamon-zipkin_2.12</artifactId>
      <version>1.0.0</version>
    </dependency>


implementation 'io.kamon:kamon-zipkin_2.12:1.0.0'

Once you have the dependency on your classpath, start the reporter:

import kamon.zipkin.ZipkinReporter

Kamon.addReporter(new ZipkinReporter())

That’s it. Go to the Zipkin UI and start browsing your traces.

Configuration

It couldn’t be simpler. All you need to provide is the host and port where Zipkin is listening.

kamon.zipkin {
  host = "localhost"
  port = 9411
}

Visualization and Fun

These are extracted from our Monitoring Akka Quickstart recipe, head over there to learn more about how to get started with Monitoring Akka with Kamon!

Tracer view in Zipkin:

Span details: