Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Mar 23 12:54
    ivantopo commented #1094
  • Mar 23 09:34
    ivantopo commented #1094
  • Mar 23 08:43
    ivantopo commented #1094
  • Mar 23 08:42
    ivantopo commented #1144
  • Mar 23 08:36
    ivantopo opened #1147
  • Mar 23 02:34
    mofei100 commented #1144
  • Mar 23 02:33
    mofei100 closed #1144
  • Mar 21 15:36
    seglo edited #1145
  • Mar 21 15:33
    seglo synchronize #1145
  • Mar 21 08:25
    sebarys opened #1146
  • Mar 20 18:16
    sebarys commented #793
  • Mar 20 18:14
    sebarys commented #793
  • Mar 19 23:41
    seglo opened #1145
  • Mar 18 14:33
    cmcmteixeira commented #1127
  • Mar 18 02:42
    mofei100 edited #1144
  • Mar 18 02:22
    mofei100 opened #1144
  • Mar 17 19:48
    hughsimpson commented #1127
  • Mar 17 19:10
    hughsimpson commented #1127
  • Mar 17 11:55
    ivantopo closed #1046
  • Mar 17 11:55
    ivantopo commented #1046
TjarkoG
@TjarkoG
Hi There
We are currently trying to write some Metrics and aren't realy satisfied with our sollution.
We have some Kafka-Consumers which themselves have a "metrics" map which is mutable and returns the current value when called.
to write those values to Kamon we currently have an actor that periodicaly takes the value and writes into a Kamon Gauge.
Is there a way to "register" a Gauge whose value is defined by a function?
Nikhil Arora
@nikhilaroratgo_gitlab
Hello Guys, How do I disable the span at global level? I am trying to disable this individually like this . Is there an easy way ?
instrumentation.akka.http {
    server {
      propagation {
        enabled = false
      }
      tracing {
        enabled = false
      }
    }
  }

  instrumentation.play.http {
    server {
      propagation {
        enabled = false
      }
      tracing {
        enabled = false
      }
    }
    client {
      propagation {
        enabled = false
      }
      tracing {
        enabled = false
      }
    }
  }

  instrumentation.http-server.default {
    propagation {
      enabled = false
    }
    tracing {
      enabled = false
    }
  }

  instrumentation.http-client.default {
    propagation {
      enabled = false
    }
    tracing {
      enabled = false
    }
  }
Nikhil Arora
@nikhilaroratgo_gitlab
and how can I disable JDBC spans as mentioned here https://kamon.io/docs/latest/instrumentation/jdbc/statement-tracing/ ? There is no property to disable the spans.
kr
@xtrntr
how can i ignore akka http for specific endpoints?
4 replies
Marian Diaconu
@neboduus

Hi all, i am trying out this technology, but the Zipkin Server does not receive any data from my Scala Play App.

I have done the configuration for the Scala Play Framework:

// build.sbt
lazy val root = (project in file("."))
  .enablePlugins(PlayScala, JavaAgent)

libraryDependencies ++= "io.kamon"                     %% "kamon-bundle"                  % "2.1.0",

// plugins.sbt
 addSbtPlugin("io.kamon" % "sbt-kanela-runner-play-2.7" % "2.0.6")

// app.conf
kamon.zipkin {
  # Hostname and port where the Zipkin Server is running
  #
  host = "localhost"
  port = 9411

  # Decides whether to use HTTP or HTTPS when connecting to Zipkin
  protocol = "http"
}

And run a local zipkin server:

docker run -d -p 9411:9411 openzipkin/zipkin

But whenever I go on localhost:9411 i do not see any trace

Marian Diaconu
@neboduus

Hi all, i am trying out this technology, but the Zipkin Server does not receive any data from my Scala Play App.

I have done the configuration for the Scala Play Framework:

// build.sbt
lazy val root = (project in file("."))
  .enablePlugins(PlayScala, JavaAgent)

libraryDependencies ++= "io.kamon"                     %% "kamon-bundle"                  % "2.1.0",

// plugins.sbt
 addSbtPlugin("io.kamon" % "sbt-kanela-runner-play-2.7" % "2.0.6")

// app.conf
kamon.zipkin {
  # Hostname and port where the Zipkin Server is running
  #
  host = "localhost"
  port = 9411

  # Decides whether to use HTTP or HTTPS when connecting to Zipkin
  protocol = "http"
}

And run a local zipkin server:

docker run -d -p 9411:9411 openzipkin/zipkin

But whenever I go on localhost:9411 i do not see any trace

I solved this by implementing Manual instrumentation. The automatic does not work... At least not for a simple Controller#action which does not do nothing

kr
@xtrntr
i have akka instrumentation enabled, but spans are not showing up even with this config setup:
kamon.instrumentation.akka.filters {
   actors.trace {
     includes = [
...
     ]
   }
 }

 kamon.instrumentation.akka.filters {
   actors.start-trace {
     includes = [
...
     ]
   }
 }

 kamon.trace.sampler="always"
3 replies
i do see spans from akka.http and jdbc though
Subroto Sanyal
@subrotosanyal
hi
Is there a way to use Kamon in tomcat environment ?
My web-application which uses AKKA and is deployed within tomcat. Since tomcat doesn't do the Kamon.init at startup, my application is not getting instrumented.
Is there a solution to this without patching Tomcat?
Sergio
@sergio_noviello_twitter

Hi, I'm trying to use kamon bundle (v2.1.4) in a akka project (akka v2.6.9) I'm using
javaAgents += "io.kamon" % "kanela-agent" % "1.0.6" in build.sbt
addSbtPlugin("io.kamon" % "sbt-kanela-runner" % "2.0.6") in plugin.sbt
and Kamon.init() at the beginning of the main method, but I get this error

java.lang.ClassCastException: scala.util.Success cannot be cast to kamon.instrumentation.context.HasContext

I appreciate your help. Thank you

kr
@xtrntr
@sergio_noviello_twitter i've fixed that issue by making sure Kamon.Init() is the first line of code in your Main class, might be good to check if you have any traits that get initialized first
Sergio
@sergio_noviello_twitter
@xtrntr thanks for your reply, Kamon.init() is at the very beginning of the main method of the object Main that is extending Logging. This is the content of Logging
trait Logging {
  protected lazy val logger = {
    LoggerFactory.getLogger(this.getClass.getName)
  }
}
kr
@xtrntr

@sergio_noviello_twitter this is another possible solution: https://github.com/kamon-io/Kamon/issues/601#issuecomment-518596157

you could start the app with the -javaagent:kanela.jar option

Oliver Schrenk
@oschrenk

I'm trying to setup Kamon 2.1.4 following Get Started

but I am getting

[error] Exception in thread "Host Metrics" java.lang.UnsatisfiedLinkError: Unable to load library 'DiskArbitration':
[error] dlopen(libDiskArbitration.dylib, 9): image not found
[error] dlopen(libDiskArbitration.dylib, 9): image not found
[error] Native library (darwin/libDiskArbitration.dylib) not found

My best guess is that this is because of macOS 11 (work laptop is in repair, and I have to use my private machine) and now I am hitting oshi/oshi#1289.

Is there a workaround? Where should post an issue to upgrade to the latest oshi version?

2 replies
Sergio
@sergio_noviello_twitter
I removed any traits that get initialized before Kamon.init() but now I'm getting a new error. Anybody seen this before?
java.lang.IllegalStateException: Error during attachment using: kamon.lib.net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider$Compound@1d81e101
1 reply
Sergio
@sergio_noviello_twitter
thanks @ivantopo so the solution is to start the app with the arg -javaagent:path-to-kanela.jar ?
Ivan Topolnjak
@ivantopo
yeap, that should work
Sergio
@sergio_noviello_twitter
I'm using sbt-native-packager and the issue I had before is gone, but no matter what I try I still get the error: scala.util.Success cannot be cast to kamon.instrumentation.context.HasContext The only thing initialized at the start is RollbarAppender, would this cause this problem? Also if I'm using sbt-native-packager do I still need Kamon.init() ?
danischroeter
@danischroeter
hi guys
are there any hints if it's worth to upgrade kanela?
the release notes are empty... thx
https://github.com/kamon-io/kanela/releases
Marian Diaconu
@neboduus

Hi everyone, is it possible to use ScalaPlay+Kamon+Zipkin+Manual Instrumentation? I am able to make work the auto-instrumentation, but I can't figure out how to implement the manual one, which honestly is the most interesting. I followed this guide here, but with no success

https://kamon.io/docs/latest/guides/installation/manual-instrumentation/

3 replies
Marian Diaconu
@neboduus
cmon people, is there anyone which managed to manually instrument a Scala Play 2.6 app?
JR Utily
@JR-Utily
Hello !
I'm wondering is there is a way to "switch" the instrumentation of Kamon on/off
We are considering using it in my team to have better logging through Futures etc
But in our mind, it would be like a DebugMode, that would do nothing if not activated.
So is there a live parameter somewhere to switch off the monitoring ?
Or is the fact not to add the agent a safe way to switch ?
Or should it be always on as soon as we include a Kamon.init() in our code ?
JR Utily
@JR-Utily
@ivantopo any insight for me ? ;)
João Ferreira
@jtjeferreira
@JR-Utily "Or is the fact not to add the agent a safe way to switch" this works for us
Sergio
@sergio_noviello_twitter

I'm still confused if I add the kanela-agent do I still need Kamon.init() ? This is what I have in my build.sbt

    javaAgents += "io.kamon" % "kanela-agent" % "1.0.6"
  )

I'm having a very weird issue, I deployed my app on 7 k8s pods and the kamon traceID is missing on requests sent to some pods

JR Utily
@JR-Utily
@jtjeferreira I've just found that: kamon-io/kanela#105 so I fear it is not the case
To recompile with different code or sbt is really not possible for us, it would lost the benefit of instrumenting through an agent
Marian Diaconu
@neboduus
sorry guys, in Scala 2.6 eager singletons are needed but I was implementing them wrong in dev mode. need to start the app with sbt compile run instead of just sbt run and it flew
JR Utily
@JR-Utily
is there a way to get metrics from Span without reporter ?
to log the span duration in my regular logger
Ivan Topolnjak
@ivantopo

@/all Hey folks! We (the few folks behind Kamon) are going to stop using Gitter in favor of Github Discussions. If you have any ideas, comments and questions please create a new discussion here: https://github.com/kamon-io/Kamon/discussions

Thanks a lot to everyone who has been hanging out here for years and helping other folks. I really hope to see you around Githubs Discussions as well :pray:

In case you are interested in why, just look at the little mess in the history of this channel :smile:.. We would like to keep all comments related to the same topic in the same context, and Gitter threads really fall short on helping us keep track of what has been answered or not. Have a nice day!

Jakub Kozłowski
@kubukoz
so 1 Gitter thread <-> 1 Discussion? I haven't used that yet
SimunKaracic
@SimunKaracic
Yeah, something like that. Just use that to ask questions that are not something that you would open an issue for.
It's still a new feature, but don't be afraid to just open a new discussion, if it's a duplicate or something, we'll redirect you
Jakub Kozłowski
@kubukoz
Can we have a #random discussion too? :D
SimunKaracic
@SimunKaracic
Can you give an example of what you'd post there? Cat pictures? :D
Jakub Kozłowski
@kubukoz
the "did anyone ever" kind of questions, I suppose...
JR Utily
@JR-Utily
it seems quite empty there... maybe people will get afraid of posting in an empty space ?
SimunKaracic
@SimunKaracic
I'll hang around here and keep redirecting people :D
We'll find a way to break the ice
JR Utily
@JR-Utily
so I've reposted my 2 question from here, there ;)
SimunKaracic
@SimunKaracic
Thank you! I'll answer in the afternoon! :D
przemyslaw wierzbicki
@pshemass
Hey Folks, I configured Akka HTTP tracing and I see all traces in Jaeger. How to exclude some of the traces like /healthcheck?
Diego Parra
@dpsoft
kamon.trace.adaptive-sampler.groups {
health-checks {
operations = [
"healthcheck.get"
]
rules {
sample = never
}
}
}
przemyslaw wierzbicki
@pshemass
Thank you sir!
Rajat Khandelwal
@prongs
image.png

Hey guys what do you use for visualizing the metrics?

I'm using grafana and was facing some challenges.

The metric coming from kamon jvm.memory.used is a histogram, not a gauge.

I'm not able to wrap my head around how to plot that in grafana.

Specifically, between these two, which one makes more sense

rate(jvm_memory_used_bytes_sum{job=~"$job", region="heap"}[$interval])/rate(jvm_memory_used_bytes_count{job=~"$job", region="heap"}[$interval])

and

jvm_memory_used_bytes_sum{job=~"$job", region="heap"}/jvm_memory_used_bytes_count{job=~"$job", region="heap"}

Basically Rate(sum)/Rate(count) or simply sum/count

Looking in grafana, the first one goes more up and down and the second one is more of a flat line. I'm not sure which one is best suited here.

SimunKaracic
@SimunKaracic
Hello @prongs , we migrated to github discussions, so please follow up with your question over here -> https://github.com/kamon-io/Kamon/discussions
1 reply
Cesar Alvernaz
@calvernaz
@gipeshka Hi, I had the same problem you described here kamon-io/Kamon#886
After upgrading to kamon 2.1.0 the problem went away
Screenshot 2020-11-02 at 10.29.31.png