New to Observability? Let's fix that! New to Observability? Let's fix that right away!
Reporters/Spans Only

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.5.4"


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

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.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:

On this article
Kamon APM Logo
Get Application-level Observability with Kamon APM
  • Correlated metrics and traces
  • Metric dashboards
  • Alerting rules and notifications
  • OpenTelemetry and Micrometer compatible
Try Kamon APM
Start with a FREE developer account