Documentation
Sponsored by Kamino

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

Add the kamon-zipkin dependency to your build:

  • Group ID: io.kamon
  • Package ID: kamon-zipkin
  • Scala Versions: 2.10 / 2.11 / 2.12
  • Latest Version: kamon-zipkin

Adding the dependency to SBT would look like this:

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

And then 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: