Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Jan 20 15:39
    seglo commented #1096
  • Jan 20 15:21
    seglo synchronize #1096
  • Jan 20 12:23
    ivantopo commented #1096
  • Jan 17 17:01
    seglo commented #1096
  • Jan 12 12:46
    ihostage synchronize #760
  • Jan 07 14:12
    ryanb93 opened #1097
  • Jan 07 14:05
    ivantopo commented #1096
  • Jan 05 02:44
    seglo commented #1096
  • Jan 04 10:16
    style95 commented #1089
  • Jan 03 20:56
    seglo synchronize #1096
  • Jan 03 20:40
    seglo synchronize #1096
  • Jan 03 17:51
    seglo synchronize #1096
  • Jan 01 00:31
    seglo synchronize #1096
  • Dec 30 2021 19:10
    seglo edited #1096
  • Dec 30 2021 19:09
    seglo opened #1096
  • Dec 18 2021 01:08
    jtjeferreira commented #1094
  • Dec 18 2021 01:06
    jtjeferreira commented #1094
  • Dec 16 2021 20:25
    jtjeferreira opened #1094
  • Dec 15 2021 15:10
    yarosman closed #1091
  • Dec 15 2021 15:10
    yarosman commented #1091
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
Ales Kozumplik
@akozumpl

Hi Kamoners, what are your thoughts on having a Context key with a mutable value? Is that OK, frowned upon or downright broken?

Use case: store some auditing information so that a Play Action can later verify it's not empty / auditing happened.

Arsene
@Tochemey
Hello folks, I would like to know how I can use Kamon with grpc-java.
Yeah I know someone will suggest that we should be put on gh discussion. It has been there for two days and not a single guidance has been given to it.
João Ferreira
@jtjeferreira
I wrote this and we are using it in prod https://github.com/nezasa/kamon-akka-grpc/releases
(akka-grpc client side uses grpc-java. If you were talking about using grpc-java directly then this is not applicable)
Arsene
@Tochemey
@jtjeferreira thanks for the answer. However I am not using akka grpc. I am using the scalapb-grpc which a scala wrapper around the java grpc.
João Ferreira
@jtjeferreira
ok. what do you want to achieve btw? context propagation? metrics?
Arsene
@Tochemey
@jtjeferreira both. Maybe opentracing will be the right choice.
I have seen some kamon-opentracing project which is kind abandoned .
João Ferreira
@jtjeferreira
Looking at https://scalapb.github.io/docs/grpc/ and io.grpc.stub.AbstractStub I would say you can do the instrumentation yourself in io.grpc.CallCredentials#applyRequestMetadata by passing it to callOptions
Arsene
@Tochemey
@jtjeferreira thanks for the suggestion. much appreciated