Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 09:18
    ivantopo opened #1089
  • Nov 24 15:57
    MaciejSzewczyszyn closed #1077
  • Nov 24 15:57
    MaciejSzewczyszyn commented #1077
  • Nov 24 15:56
    MaciejSzewczyszyn closed #1078
  • Nov 23 15:08
    getArtemUsername commented #1075
  • Nov 23 14:58

    ivantopo on v2.4.1

    (compare)

  • Nov 23 14:54

    ivantopo on master

    Add jvm threads states metrics … (compare)

  • Nov 23 14:54
    ivantopo closed #1075
  • Nov 23 14:52
    ivantopo commented #1075
  • Nov 23 14:46
    getArtemUsername commented #1075
  • Nov 23 14:13

    ivantopo on v2.4.0

    (compare)

  • Nov 22 09:25

    ivantopo on master

    reduce default retries and back… proactively drop old spans in t… (compare)

  • Nov 18 09:25

    ivantopo on master

    fix thread pool type on schedul… (compare)

  • Nov 18 07:40
    getArtemUsername synchronize #1075
  • Nov 17 17:33
    getArtemUsername synchronize #1075
  • Nov 17 17:32
    getArtemUsername synchronize #1075
  • Nov 17 15:59
    ivantopo commented #1077
  • Nov 17 15:55
    MaciejSzewczyszyn commented #1077
  • Nov 17 15:54
    ivantopo edited #1082
  • Nov 17 15:53
    ivantopo opened #1082
John Watson
@jkwatson
Hi kamon team! I have a question. In a reporter, when we call Distribution.percentile(rank), we will often get back a percentile value with a very different rank that was requested.
This means when we want to report the 99% percentile, we sometimes get (for example) like the 87.5% percentile
It makes it hard to report consistent percentile values.
John Watson
@jkwatson
(And, it's blowing up the cardinality of the metrics that we're reporting to New Relic, since the rank is added as an attribute on the Gauges that we create)
Mehmet Ali
@kubudi
Hello everyone,
This page is outdated right? https://kamon.io/docs/latest/core/utilities/
I moved all filters under kamon.instrumentation.akka.filters
Ghost
@ghost~5cc594f1d73408ce4fbee018
What could cause
kamon.metric.Timer:109 - Failed to record value [1500222144482726] on [span.wait-time,{operation=EventProcessorJob,span.kind=internal,parentOperation=EventProcessorJob,error=false,component=scala.future}] because the value is outside of the configured range. The recorded value was adjusted to the highest trackable value [3600000000000]. You might need to change your dynamic range configuration for this metric
John Watson
@jkwatson
Hi kamon team! I have a question. In a reporter, when we call Distribution.percentile(rank), we will often get back a percentile value with a very different rank that was requested.
This means when we want to report the 99% percentile, we sometimes get (for example) like the 87.5% percentile
It makes it hard to report consistent percentile values.
moriyasror
@moriyasror
Hi, I use akka-http and I get 'http.server.connection.lifetime' metric only once on the start, and stop getting it. While I see other metrics like 'http.server.response.size'.
Is it how is should work? maybe I configure something wrong?
This is how my configuration look:
kamon.instrumentation.akka.http {
  server {
    propagation {
      enabled = yes
      channel = default
    }
    tracing {
      enabled = no
    }
  }

  client {
    propagation {
      enabled = no
      channel = default
    }
  }
}
Ivan Topolnjak
@ivantopo

hey @austek, there is no automatic instrumentation for akka streams as of today but if could happen that other parts of the instrumentation will help you (like the Akka or Akka HTTP parts). Maybe you can share a bit more about the big picture in your service and we will be able to figure something out?

regarding your issue with the span.wait-time, that's a first.. technically speaking it means that a future was waiting to be executed fort 17 days. Does that sound possible in the context of your app?

Hey @jkwatson, nice to see you around! probably your code is hitting this case here: https://github.com/kamon-io/Kamon/blob/master/core/kamon-core/src/main/scala/kamon/metric/Distribution.scala#L288
Ivan Topolnjak
@ivantopo
that would happen when the 99% has the same value as the 87.5% (I think), I'm reasoning about it now
yeah, regardless of whether a few percentiles actually have the same value we should return the same p that was passed in as a parameter
@moriyasror when you say that you only get the metric once at start, what exactly do you mean? that metric is only recorded when a connection is closed, could it be that you get persistent connections that actually last for really long times?
John Watson
@jkwatson
@ivantopo should I log a bug about a different p being returned that is passed in?
Ivan Topolnjak
@ivantopo
yeap
I will most likely fix it later today
John Watson
@jkwatson
ok, will do! thanks!
Ivan Topolnjak
@ivantopo
:thumbsup:
John Watson
@jkwatson
Ivan Topolnjak
@ivantopo
thanks!
moriyasror
@moriyasror
@ivantopo I run my service locally via intellij and send several http requests via postman.
I see the 'http.server.connection.lifetime' metric only once, even though I see other metrics like http.server.requests
moriyasror
@moriyasror
Hi, I mange to run kamon from my intellij, but failed to do it on a server because of missing JDK.
My question is why I must have JDK? on the production we have only JRE, the JDK is only from development.
Is there a way to run kamon using JRE only?
Ivan Topolnjak
@ivantopo
yes, you will have to use the -javaagent way of setting up the agent instead of Kamon.init()
what kind of application were you trying to instrument?
moriyasror
@moriyasror
@ivantopo I instrument akka-http.
can you explain more about the -javaagent option?
Ivan Topolnjak
@ivantopo
sure.. so, I'm guessing that what you did right now was to add the kamon-bundle and call Kamon.init() when application starts, correct?
moriyasror
@moriyasror
@ivantopo Generally yes, I also change the configuration to get only akka-http metrics, and warp the Kamon.init() to run base on configuration (to be able to disable it in case of issue)
My code is written in scala, I saw some plugin which can add the agent, I will try to use them.
If I remove the Kamon.init(), from my code, will I be able to control the kamon running and disable it?
Ivan Topolnjak
@ivantopo
you will still need to have the Kamon.init call in your code because that's what starts all the reporters, status page and so on
the best way to add the -javaagent option would be using the sbt-javaagent plugin, we mention it at the end of this page: https://kamon.io/docs/latest/guides/installation/setting-up-the-agent/
when you start your application with the agent, by the time Kamon.init is executed the agent is already there so there is no need to attach anything in runtime and no need to have a JDK
moriyasror
@moriyasror
@ivantopo thanks! I mange to run it via the plugin.
Guillaume Noireaux
@gnoireaux

Hello,

What is the recommended way to propagate context manually?
I'd like to follow a process through multiple services (Play Scala). They exchange messages via rabbitmq.
Would it be as simple as using AMQP headers the same way HTTP headers are used? How to do that?

Can I use something like https://github.com/opentracing-contrib/java-rabbitmq-client with Kamon and then Jaeger export?

Thanks for your patience!

5 replies
armelouche
@armelouche
Hello, (thank you for you work first), are there any basic Grafana dashboards available for Kamon 2 like there was Kamon 1 (jvm..) ?
Ivan Topolnjak
@ivantopo
@armelouche we don't have any "official" dashboards but there are a few created by folks around the globe on the Grafana site: https://grafana.com/grafana/dashboards?direction=asc&orderBy=name&search=kamon
1 reply
Sergey Morgunov
@ihostage
@ivantopo Please, any reaction to kamon-io/Kamon#760 :pray:
Tell me please, what I need to do for this PR will be merged? :joy:
Ivan Topolnjak
@ivantopo
hey man
:sob:
Sergey Morgunov
@ihostage
:wave:
Ivan Topolnjak
@ivantopo
things have been really crazy on the other side of the job
and man, every single time I promise to check something with a time in mind I fail, the best intentions not always align with what the world has planned for me :joy:
Sergey Morgunov
@ihostage

things have been really crazy on the other side of the job

Me too :joy: But I believe, that sooner or later we can do that together :joy:

Ivan Topolnjak
@ivantopo
yeap, I really appreciate your persistence man, it is really motivating to see folks who care!
Sergey Morgunov
@ihostage
:+1: :wink:
Time to time I will be ping you and I will not fall behind. :joy:
Ivan Topolnjak
@ivantopo
:joy: thanks!
Arsene
@Tochemey
@ihostage quick one is your PR able to help instrument a lagom base application? We had some issue when doing instrumentation in lagom using kamon.
Sergey Morgunov
@ihostage
@Tochemey It's just the first step — implementation of Lagom Circuit Breakers Metrics SPI.
Still, it not fixed a problem with using Kamon in Lagom DEV-Mode. I will try to fix that in the future when I find time for that :smile:
Arsene
@Tochemey
@ihostage :smiley:
Ivan Topolnjak
@ivantopo
the issue of lagom in dev mode is way more complicated because in that case there are (potentially) several different services running on the same JVM
together with SBT and all its stuff