Unlimited services in the new APM plans! Monitor unlimited services with the new APM plans!

Jaeger Reporter #

Jaeger is a distributed tracing system. It was originally created at Uber. The kamon-jaeger module translates Kamon’s representation of Spans and sends them to Jaeger using HTTP (collector) or UDP (agent).

Installation #


libraryDependencies += "io.kamon" %% "kamon-jaeger" % "2.2.2"



    <dependency>
      <groupId>io.kamon</groupId>
      <artifactId>kamon-jaeger_2.13</artifactId>
      <version>2.2.2</version>
    </dependency>


implementation 'io.kamon:kamon-jaeger_2.13:2.2.2'

Once the reporter is on your classpath it will be automatically picked up by Kamon.

Configuration #

kamon {
  jaeger {

    # Define the host/port where the Jaeger Collector/Agent is listening.
    host = "localhost"
    port = 14268

    # Protocol used to send data to Jaeger. The available options are:
    #   - http: Sends spans using jaeger.thrift over HTTP (collector).
    #   - https: Sends spans using jaeger.thrift over HTTPS (collector).
    #   - udp: Sends spans using jaeger.thrift compact over UDP (agent).
    protocol = http

    # for http and https, this is the full url to be used
    http-url = ${kamon.jaeger.protocol}"://"${kamon.jaeger.host}":"${kamon.jaeger.port}"/api/traces"

    # Enable or disable including tags from kamon.environment as labels
    include-environment-tags = no
  }
}

Teasers #

These screenshots were taken by running the Elementary Akka Setup guide with the Jaeger reporter, head over there to learn more about how to get started with Monitoring Akka with Kamon!

Trace view in Jaeger:

Trace Details: