SimunKaracic on master
akka-http: Update comments in r… Merge pull request #942 from be… (compare)
SimunKaracic on master
Fix datadog test Merge pull request #943 from be… (compare)
SimunKaracic on master
Kafka Consumer instrumentation … Merge pull request #947 from ml… (compare)
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?
Hi,
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?
Thanks,
Mike
Hi guys,
I followed the basic setup for Play Framework. Everything seems to work except that I'm not seeing any traces at all:
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.
Some more info on the message above:
In the status page http://localhost:5266/#/ I see:
so it looks to me like traces are being sent. Why can't I see them in Kamon APM?
"Running with Kanela, the Kamon Instrumentation Agent"
for both nodes.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).
IO
chains within the service, even when they cross thread boundaries
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?
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..*"]
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?
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)
.settings(
...
libraryDependencies ++= Seq(
lagomScaladslPersistenceCassandra,
lagomScaladslKafkaBroker,
...,
kamonBundle,
kamonApmReporter
) ++ kamonDependencies,
javaAgents += "org.aspectj" % "aspectjweaver" % "1.9.2",
javaOptions in Universal += "-Dorg.aspectj.tracing.factory=default"
)
Any advice?
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?
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)
sendMessage
method delegates to super.sendMessage
it ends up invoking the adviced code which attempts the castoverride def sendMessage(envelope: Envelope): Unit = {
if (routerConfig.isManagementMessage(envelope.message))
super.sendMessage(envelope)
else
router.route(envelope.message, envelope.sender)
}
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?
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)