Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
Repo info
  • Feb 25 22:02
    dpsoft commented #641
  • Feb 25 21:53
    dpsoft commented #641
  • Feb 25 19:56
    dbwiddis commented #884
  • Feb 25 19:41
    AlexITC commented #884
  • Feb 25 19:32
    dbwiddis commented #884
  • Feb 25 19:31
    dbwiddis commented #884
  • Feb 25 18:31
    AlexITC commented #884
  • Feb 25 10:26
    danischroeter commented #919
  • Feb 25 10:12
    alonsodomin commented #919
  • Feb 25 09:39
    SimunKaracic synchronize #948
  • Feb 24 16:19

    SimunKaracic on master

    akka-http: Update comments in r… Merge pull request #942 from be… (compare)

  • Feb 24 16:19
    SimunKaracic closed #942
  • Feb 24 16:19
    SimunKaracic commented #942
  • Feb 24 16:17

    SimunKaracic on master

    Fix datadog test Merge pull request #943 from be… (compare)

  • Feb 24 16:17
    SimunKaracic closed #943
  • Feb 24 16:17
    SimunKaracic commented #943
  • Feb 24 16:16

    SimunKaracic on master

    Kafka Consumer instrumentation … Merge pull request #947 from ml… (compare)

  • Feb 24 16:16
    SimunKaracic closed #947
  • Feb 24 13:10
    dpsoft review_request_removed #950
  • Feb 24 13:10
    dpsoft review_request_removed #950
Peter Nerg

Getting some really weird results out of the akka metrics. So I decided to do a really simple Ping/Pong app with two static actors and one that gets created and killed every 5 seconds.
The metrics for the active actor count just keeps increasing which makes no sense
akka_system_active_actors_count{system="area51-kamon-akka"} 2865.0
Same goes go for queued messages which keeps increasing but as I only send a Ping and a Pong as response it is impossible to have a queue/inbox growing
The PingerPonger code example
I can't see what I'm doing wrong...pointers would be appreciated

Using latest version of Kamon 2.x, Java 11 OpenJDK and Scala 2.13

2 replies
Hello everybody, a newbie here in need of help.
I am trying out Kamon and so far I had success instrumenting metrics with Prometheus.
Now I am trying to get to instrumenting traces with Zipkin and I am running into some troubles.
I am going back to basics, following the instructions from Elementary Akka Setup.
I can not get any traces in Zipkin nor I see any logged errors.
Here are a few points about my environment:
  • scala: 2.13.1
  • akka: 2.6.8
  • kamon-bundle: 2.1.6
  • kamon-zipkin: 2.1.6
  • Zipkin image: docker run -d -p 9411:9411 openzipkin/zipkin
  • -javaagent:/..full..path../kanela-agent-1.0.6.jar
    I would appreciate any good pointers or redirections.
4 replies
David Pennell
Francisco H
Hi, I'm new to Kamon and got stuck trying to use it first time. I downloaded the Akka-Quickstart example (https://developer.lightbend.com/guides/akka-quickstart-java/) and then added Kamon following the instructions here - https://kamon.io/get-started/ ... when trying to run both command line and on IntelliJ I am getting this error:
3 replies

Task :run FAILED
Exception in thread "main" java.lang.NoSuchMethodError: scala.collection.Seq$.empty()Lscala/collection/GenTraversable;
at kamon.Configuration.$init$(Configuration.scala:28)
at kamon.Kamon$.<init>(Kamon.scala:19)
at kamon.Kamon$.<clinit>(Kamon.scala)
at kamon.Kamon.init(Kamon.scala)
at com.example.AkkaQuickstart.main(AkkaQuickstart.java:9)
FAILURE: Build failed with an exception.

I would appreciate some help, not sure what else to look at.

Srepfler Srdan
where in Zagreb are you located?
the site doesn't say
6 replies
Hi everyone! I would like to make use of Datadog Metrics Metadata that is possible to set using their HTTP API https://docs.datadoghq.com/api/v1/metrics/#edit-metric-metadata. Indeed it seems like kamon-core has kind of support for that as when you define a metric you have an overload of the constructor for setting its description and units just like you have in that Datadog metadata. But at the end, using the DogStatsD reporter that information seems is not sent to Datadog (indeed seems its not possible to send it through that interface). But looking at the Kamon Reporter for Datadog HTTP API in source code, seems the code is not prepared to handle that description and unit information. That would be great as it will allow to define in one place the information for a Datadog Metric (Description and units). Can anyone confirm this or am I missing something?
1 reply
Matt Dziuban
hi all, should I expect the kamon-cats-io module to automatically instrument code using cats.effect.IO or does it require manual instrumentation?
1 reply
Michael Sluyter

I was attempting to integrate Kamon with a Lagom application. Following the steps for a play based app, I'm getting this compile error:

 _  __                _        ______
| |/ /               | |       \ \ \ \
| ' / __ _ _ __   ___| | __ _   \ \ \ \
|  < / _` | '_ \ / _ \ |/ _` |   ) ) ) )
| . \ (_| | | | |  __/ | (_| |  / / / /
|_|\_\__,_|_| |_|\___|_|\__,_| /_/_/_/

Running with Kanela, the Kamon Instrumentation Agent :: (v1.0.5)

[error] (run-main-0) java.lang.NoClassDefFoundError: java/sql/Date
[error] java.lang.NoClassDefFoundError: java/sql/Date

I'm presuming this is because I'm using openjdk 11. I've read, as a general workaround for the above, that you can add something like --add-modules java.sql,java.xml.bind to your java opts. But I'm guessing I need to add these for the kanela run itself (adding them to the sbt javaOptions doesn't seem to help). Is that possible, and/or anyone know how to do that?


hello guys ,I am integrating kamon with Java SpringBoot appliction which has Akka actors , I succeeded in following the instructions of the docs on my MacOS , then I deploy the application to a CentOS7 environment
, all metrics of Akka ,executors were failed. I see the status page, they were disappear. Only system metrics works. I has set the jvm options -javaagent:xxxxx.jar ,and see the Kanela logo in the consloe, the environment is CentOS7, openJDK8 . I try kamon version 2.1.4 and 2.1.9 , Akka version is 2.5.0 . How can I continue troubleshooting ? thx
2 replies
hi, when i started a kanela agent, i sended an request to play framework, i got an error:
Uncaught error from thread [play-dev-mode-akka.actor.default-dispatcher-7]: better.files.package$.FileOps(Ljava/io/File;)Lbetter/files/Implicits$FileOps;, shutting down JVM since 'akka.jvm-exit-on-fatal-error' is enabled for ActorSystem[play-dev-mode]
java.lang.NoSuchMethodError: better.files.package$.FileOps(Ljava/io/File;)Lbetter/files/Implicits$FileOps;
at kamon.instrumentation.sbt.play.KanelaReloader.$anonfun$reload$3(KanelaReloader.scala:474)
at scala.collection.Iterator$$anon$11.nextCur(Iterator.scala:484)
at scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:490)
at scala.collection.Iterator$$anon$10.hasNext(Iterator.scala:458)
at scala.collection.Iterator.foreach(Iterator.scala:941)
at scala.collection.Iterator.foreach$(Iterator.scala:941)
at scala.collection.AbstractIterator.foreach(Iterator.scala:1429)
at scala.collection.TraversableOnce.foldLeft(TraversableOnce.scala:162)
at scala.collection.TraversableOnce.foldLeft$(TraversableOnce.scala:160)
at scala.collection.AbstractIterator.foldLeft(Iterator.scala:1429)
at kamon.instrumentation.sbt.play.KanelaReloader.$anonfun$reload$1(KanelaReloader.scala:476)
at kamon.instrumentation.sbt.play.KanelaReloader$$anon$1.run(KanelaReloader.scala:44)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at kamon.instrumentation.sbt.play.KanelaReloader$.kamon$instrumentation$sbt$play$KanelaReloader$$withReloaderContextClassLoader(KanelaReloader.scala:49)
at kamon.instrumentation.sbt.play.KanelaReloader.reload(KanelaReloader.scala:462)
at play.core.server.DevServerStart$$anon$1.get(DevServerStart.scala:140)
at play.core.server.AkkaHttpServer.handleRequest(AkkaHttpServer.scala:296)
at play.core.server.AkkaHttpServer.$anonfun$createServerBinding$1(AkkaHttpServer.scala:186)
at akka.stream.impl.fusing.MapAsync$$anon$30.onPush(Ops.scala:1261)
at akka.stream.impl.fusing.GraphInterpreter.processPush(GraphInterpreter.scala:541)
at akka.stream.impl.fusing.GraphInterpreter.execute(GraphInterpreter.scala:423)
at akka.stream.impl.fusing.GraphInterpreterShell.runBatch(ActorGraphInterpreter.scala:624)
at akka.stream.impl.fusing.GraphInterpreterShell$AsyncInput.execute(ActorGraphInterpreter.scala:501)
at akka.stream.impl.fusing.GraphInterpreterShell.processEvent(ActorGraphInterpreter.scala:599)
at akka.stream.impl.fusing.ActorGraphInterpreter.akka$stream$impl$fusing$ActorGraphInterpreter$$processEvent(ActorGraphInterpreter.scala:768)
at akka.stream.impl.fusing.ActorGraphInterpreter$$anonfun$receive$1.applyOrElse(ActorGraphInterpreter.scala:783)
at akka.actor.Actor.aroundReceive(Actor.scala:533)
at akka.actor.Actor.aroundReceive$(Actor.scala:531)
at akka.stream.impl.fusing.ActorGraphInterpreter.aroundReceive(ActorGraphInterpreter.scala:690)
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:573)
at akka.actor.ActorCell.invoke(ActorCell.scala:543)
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:269)
at akka.dispatch.Mailbox.run(Mailbox.scala:230)
at kamon.instrumentation.executor.ExecutorInstrumentation$InstrumentedForkJoinPool$TimingRunnable.run(ExecutorInstrumentation.scala:678)
at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(ForkJoinExecutorConfigurator.scala:47)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
my play framework version is 2.8.3, kamon jars version are:
"io.kamon" %% "kamon-core" % "2.1.9",
"io.kamon" %% "kamon-bundle" % "2.1.9",
"io.kamon" %% "kamon-logback" % "2.1.9"
7 replies
Zvi Mints
Hey All!
How can i count how much time did some async function occurred?
With sending the right unit (milliseconds) to datadog ?

Hi guys,
I followed the basic setup for Play Framework. Everything seems to work except that I'm not seeing any traces at all:
Screen Shot 2020-12-24 at 16.00.41.png
Screen Shot 2020-12-24 at 16.01.59.png

I'm using:

// project/plugins.sbt
addSbtPlugin("io.kamon" % "sbt-kanela-runner-play-2.8" % "2.0.6")
// build.sbt dependencies:
"io.kamon" %% "kamon-bundle" % "2.1.0",
 "io.kamon" %% "kamon-apm-reporter" % "2.1.0"
// application.conf
kamon {
  environment.service = "myService"
  apm.api-key = "xxxxxxxxxxxxxxxxx"

Any idea what could be the reason?
I made a few hundred requests to make sure it's not due to sampling.

1 reply

Some more info on the message above:
In the status page http://localhost:5266/#/ I see:
Screen Shot 2020-12-24 at 16.17.56.png
Screen Shot 2020-12-24 at 16.22.22.png

so it looks to me like traces are being sent. Why can't I see them in Kamon APM?

6 replies
Cesar Alvernaz
Hi, I just notice I was missing the JVM metrics, even tho I have "kamon-system-metrics:2.1.9" and the kamon.modules { jvm-metrics.enabled = yes } enabled
8 replies
what can I possible be missing?
Wolfgang Bauer
Hey! Has anyone tried running Kamon on arm architecture?
Unfortunately the sigar-loader does not include a .so file for arm64/aarch64 and Kamon(1) fails with a NPE
4 replies
Cédric Gourlay
Hey there, I open a discussion https://github.com/kamon-io/Kamon/discussions/924 about the usage of aws xray for traces, if anyone have hints or ideas :D
I am not an expert on the different format of zipkin/jaeger and the xray format
Dmitriy Paramoshkin
Hi, I'm trying to setup monitoring for our akka cluster. One node (UI) is and running in tomcat, another nodes (compute) are normal java applications. I run them both using kanela javaagent.
I see message "Running with Kanela, the Kamon Instrumentation Agent" for both nodes.
Issue is if I run 2 compute nodes they can form a cluster, but if run ui node and compute they can't. Ui node will show
akka.remote.artery.Deserializer:90 - Failed to deserialize message from [unknown] with serializer id [17] and manifest [d]. akka.protobufv3.internal.InvalidProtocolBufferException: Protocol message contained an invalid tag (zero).
Akka is 2.6.10, Kamon 2.1.9, Kanela agent 1.0.7
Am I missing something obvious?
7 replies
Ooh Croatia. Nice :)
Ben Spencer
hi, I've added kamon to an http4s app and I'm trying to add trace IDs to my logback logs
it works fine for logging within my service code, but not for http4's own access logs, even if I ensure that I add kamon support after the logging middleware
as I understand it middleware layers in http4s are basically just wrappers around the service so I don't understand how this could fail to work
3 replies
I've verified that the kamon context is preserved across IO chains within the service, even when they cross thread boundaries
Hi there! I have a beginner question related to a plain application. I followed the guide and put the Kamon.init() in my main object and the dependency into the build.sbt Unfortunately, when I deploy the docker image into the k8s cluster, I see that the instrumentation is not started: Instrumentation Disabled, Reporters 1 Started, Metrics 49 Metrics. Could you please give me a hint of what I'm missing?
4 replies
Is it normal for Kanela to take >10s to initialize? Is there any way to speed it up?
5 replies
Yaroslav Derman
Hello. Maybe someone can help me, locally all tests passed, but on the git they are failed
Yaroslav Derman
I told about kamon-io/Kamon#926, and I see that master build was failed too
I apologize if this has been asked before.
We use third party libraries that use Dropwizard. Our code however uses Kamon. What are the options to expose the metrics collected by the third party libraries that use DropWizard? Are there ways to expose the metrics collected by Dropwizard to Kamon so that the kamon metrics reporting infrastructure could be leveraged?
2 replies
Hi, I am having issues with the annotation instrumentation, on the status page it says 'Annotation Instrumentation ' - off my config is implementation 'io.kamon:kamon-bundle_2.13:2.1.10' implementation 'io.kamon:kamon-zipkin_2.13:2.1.10' implementation 'io.kamon:kamon-akka_2.13:2.1.10' implementation 'io.kamon:kamon-akka-http_2.13:2.1.10' implementation 'io.kamon:kamon-annotation_2.13:2.1.10' and the config is kanela modules.annotation.within = ["^com..*"]
2 replies
Hi There, am trying to get akka metrics using kamon. I am using following versions for bundle and prometheus -> val kamon_bundle = "2.0.5"
val kamon_prometheus = "2.0.1", am using akk version: 2.5.23. We could get metrics neat and clean when am running with java -jar for our executable. val kamonPrometheusReporter = PrometheusReporter() Kamon.registerModule("prometheus-reporter", kamonPrometheusReporter) Kamon.init() . However the moment am trying to bring up the app in my docker which is using amazon correto JRE, am not able to see akka metrics available at my prometheus server end point. I tried to bring up using kanela agent as well, version 1.0.4 java -javaagent:kanela-agent-1.0.4.jar, any pointers as to what could have gone wrong?
1 reply
Paolo Fabbro

Hi, I'm trying to instrument a microservice application using scala Lagom 1.6 but after configuring the dashboard I can't see actor's metrics.
The configuration that I used is:

val kamonBundle = "io.kamon" %% "kamon-bundle" % "2.1.0"
val kamonApmReporter = "io.kamon" %% "kamon-apm-reporter" % "2.1.0"

lazy val dataobject-impl = (project in file("dataobject-impl"))
.enablePlugins(LagomScala, JavaAgent)
libraryDependencies ++= Seq(
) ++ kamonDependencies,
javaAgents += "org.aspectj" % "aspectjweaver" % "1.9.2",
javaOptions in Universal += "-Dorg.aspectj.tracing.factory=default"

Any advice?

5 replies

hi! I used the version of Kamon as follows and set it as below.

compile group: 'com.typesafe.akka', name: "akka-actor-typed_2.13", version: "2.6.10"
compile "io.kamon:kamon-bundle_2.13:2.1.4"
compile "io.kamon:kamon-prometheus_2.13:2.1.4"

The operation of the server worked properly.
But what's wrong with not being able to track metrics related to the actor?

9 replies
eyal farago
hi guys, using akka 2.6.11 + kamon-bundle 2.1.10, I'm seeing repeating class-cast-exceptions related to RoutedActorCell and HasActorMonitor:
An error occurred while trying to apply an advisor: java.lang.ClassCastException: class akka.routing.RoutedActorCell cannot be cast to class kamon.instrumentation.akka.instrumentations.HasActorMonitor (akka.routing.RoutedActorCell and kamon.instrumentation.akka.instrumentations.HasActorMonitor are in unnamed module of loader 'app')
    at kamon.instrumentation.akka.instrumentations.HasActorMonitor$.actorMonitor(ActorInstrumentation.scala:95)
    at kamon.instrumentation.akka.instrumentations.SendMessageAdvice$.onEnter(ActorInstrumentation.scala:136)
    at akka.routing.RoutedActorCell.sendMessage(RoutedActorCell.scala:138)
    at akka.actor.Cell.sendMessage(ActorCell.scala:326)
    at akka.actor.Cell.sendMessage$(ActorCell.scala:325)
    at akka.actor.ActorCell.sendMessage(ActorCell.scala:410)
    at akka.actor.RepointableActorRef.$bang(RepointableActorRef.scala:178)
    at akka.io.SelectionHandler$SelectorBasedManager$$anonfun$workerForCommandHandler$1.applyOrElse(SelectionHandler.scala:118)
    at akka.actor.Actor.aroundReceive(Actor.scala:537)
    at akka.actor.Actor.aroundReceive$(Actor.scala:535)
    at akka.io.SelectionHandler$SelectorBasedManager.aroundReceive(SelectionHandler.scala:101)
    at akka.actor.ActorCell.receiveMessage(ActorCell.scala:577)
    at akka.actor.ActorCell.invoke(ActorCell.scala:547)
    at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:270)
    at akka.dispatch.Mailbox.run(Mailbox.scala:231)
    at akka.dispatch.Mailbox.exec(Mailbox.scala:243)
    at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
    at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
    at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
    at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
    at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
is this a kamon bug?
eyal farago
seems like the instrumentation doesn't apply to RouterActorCell but since its sendMessage method delegates to super.sendMessage it ends up invoking the adviced code which attempts the cast
override def sendMessage(envelope: Envelope): Unit = {
    if (routerConfig.isManagementMessage(envelope.message))
      router.route(envelope.message, envelope.sender)
2 replies
Hey there, I am using kamon 2.1.9, I get some weird errors every 0.10 seconds : " Failed to get information to use statvfs. path: /root/.cache/gvfs, Error code: 13", I mean it's producing metrics on <>:9095 port, but I would like to fix this, (gave a try to install libfilesys-statvfs-perl << I am using ubuntu 20, didn't work). Anyone seen and solved this?
1 reply
Zvi Mints

Hey! Im using

 lazy val kamon = Seq(
    "io.kamon" %% "kamon-system-metrics" % "0.6.7",
    "io.kamon" %% "kamon-scala" % "0.6.7",
    "io.kamon" %% "kamon-play-2.6" % "0.6.8",
    "io.kamon" %% "kamon-akka-2.5" % "0.6.8",
    "io.kamon" %% "kamon-datadog" % "0.6.8"
  ).map(_.exclude("org.asynchttpclient", "async-http-client"))

And having the following error on starting application:

java.io.FileNotFoundException: /opt/docker/native/libsigar-amd64-linux.so (No such file or directory)
    at java.io.FileOutputStream.open0(Native Method)
    at java.io.FileOutputStream.open(FileOutputStream.java:270)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:162)
    at kamon.sigar.SigarProvisioner.provision(SigarProvisioner.java:172)
    at kamon.system.SystemMetricsExtension.<init>(SystemMetricsExtension.scala:52)
    at kamon.system.SystemMetrics$.createExtension(SystemMetricsExtension.scala:34)
    at kamon.system.SystemMetrics$.createExtension(SystemMetricsExtension.scala:32)
    at akka.actor.ActorSystemImpl.registerExtension(ActorSystem.scala:1006)
    at akka.actor.ExtensionId.apply(Extension.scala:79)
    at akka.actor.ExtensionId.apply$(Extension.scala:78)
    at kamon.system.SystemMetrics$.apply(SystemMetricsExtension.scala:32)
    at akka.actor.ExtensionId.get(Extension.scala:92)
    at akka.actor.ExtensionId.get$(Extension.scala:92)
    at kamon.system.SystemMetrics$.get(SystemMetricsExtension.scala:32)
    at kamon.ModuleLoaderExtension.$anonfun$new$3(ModuleLoader.scala:43)
    at scala.util.Success.$anonfun$map$1(Try.scala:255)
    at scala.util.Success.map(Try.scala:213)
    at kamon.ModuleLoaderExtension.$anonfun$new$2(ModuleLoader.scala:41)
    at scala.collection.immutable.List.foreach(List.scala:392)
    at kamon.ModuleLoaderExtension.<init>(ModuleLoader.scala:38)
    at kamon.ModuleLoader$.createExtension(ModuleLoader.scala:27)
    at kamon.ModuleLoader$.createExtension(ModuleLoader.scala:25)
    at akka.actor.ActorSystemImpl.registerExtension(ActorSystem.scala:1006)
    at kamon.Kamon$Instance._start$lzycompute(Kamon.scala:64)
    at kamon.Kamon$Instance._start(Kamon.scala:58)
    at kamon.Kamon$Instance.start(Kamon.scala:74)
    at kamon.Kamon$.start(Kamon.scala:41)
    at kamon.play.di.GuiceModule$KamonLoader.<init>(GuiceModule.scala:36)
    at kamon.play.di.GuiceModule$KamonLoader$$FastClassByGuice$$d6cb6187.newInstance(<generated>)

How can i disable it?

5 replies
Mark Dufresne
Hey folks, anyone know if kamon-datadog supports unix domain sockets ?
Mark Dufresne
also, anyone ever run into data-dog agent (same container as app) refusing connection?
2021-02-07 01:35:26.771 ERROR 1 --- [dogSpanReporter] kamon.module.ModuleRegistry              : Reporter [DatadogSpanReporter] failed to process a spans tick.

java.net.ConnectException: Connection refused (Connection refused)
Nikhil Arora
May I ask if Kamon can also monitor apache http client and okayhttpclient If I use it in Lagom ?
1 reply
@subrotosanyal hi!. Did you find any way to use Kamon in Tomcat environment?
Channing Walton
Hi, I've just upgraded kamon from 2.1.10 to 2.1.11 and am getting java.lang.NoClassDefFoundError: akka/http/Version$
The dependencies I have are kamon-bundle and kamon-influxdb.
What could I be missing?
4 replies
I'd like to link Kanela (1.0.7) to Tomcat (8) , could you give me a detailed guide?