Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
SahilAggarwalG
@SahilAggarwalG
in kamon apm , is there any way to make template of alert rules otherwise i have to make same type of rule in each service ?
Arpit1596
@Arpit1596
how to enable kamon-log-reporter in lagom?
Arpit1596
@Arpit1596
factory for kamon log reporter
Arpit1596
@Arpit1596
Can someone help please how to configure log-reporter in kamon
Arpit1596
@Arpit1596
Please help me with this question
Jacob Wang
@jatcwang
It's best to provide a repo reproducing the issue.
Arpit1596
@Arpit1596
this is the repo
Please have a look
Ivan Topolnjak
@ivantopo
@/all people, I just disabled threaded conversations in this channel.. It was enabled for a couple weeks because it seemed like it could help bringing some order to different conversations happening at the same time but to be honest, it makes it harder to figure out if there are any replies on any of the topics so I turned back off. If you have a pending question in a thread that I didn't get to, please post it again here. Thanks!

@dannashirn

Now why is it that Kamon.timer returns a metric.Metric.Timer which is not a metric.Timer hence it has no start() method? Is it mandatory to add tags to get a metric.Timer?

it is not mandatory to add tags, but it is mandatory to decide whether you want tags or not. If you don't want any tags you can use Kamon.timer(....).withoutTags() to get an instrument that doesn't have any tags

Arpit1596
@Arpit1596
@ivantopo Please help me with this question
https://stackoverflow.com/questions/59193470/using-kamon-with-lagom
Ivan Topolnjak
@ivantopo
@Arpit1596 regarding Lagom.. long story short would be that at the moment, we do not support Lagom at the moment, although we are trying to. I was trying to make it work in development mode but it all breaks down for a few reasons:
  • First, the SBT changes that we made for Play do not work with Lagom, although I have an experimental version that will work with Lagom.
  • Second, there could be more than one Lagom projects on the same build and rebuilding on the same JVM, which makes it all break down when some of the projects have Kamon and the others not.. which is for example, something that you have in the example you shared. Maybe the solution for this would be something at a higher level, like, having a different way to add Kamon to Lagom projects, but we are still figuring out what would be the way there :(
Arpit1596
@Arpit1596
@ivantopo Okay thanks for this information .. I will try with play project ... I want to know what should I pass in factory config for kamon-log-reporter
Ivan Topolnjak
@ivantopo
there is no log reporter for Kamon 2.0 :/
I noticed that you added an old dependency there, but that won't work with Kamon 2.x
if you need to, you can create either a MetricReporter or SpanReporter implementation and add it to Kamon using Kamon.registerModule(...)
and in your custom reporter you can decide how to log the data that you want to see in the logs
Franco Albornoz
@dannashirn
@ivantopo Great, thanks
Arpit1596
@Arpit1596
@ivantopo thanks
danischroeter
@danischroeter
Hmm I struggle with the kamon-akka-http operation name mappings. They cannot be configured as described in the example...
I went ahead and added the config example in the original kamon-akka-http project as described and then all tests fail the same way... Am I missing something or did this never work as described?
com.typesafe.config.ConfigException$BadPath: path parameter: Invalid path '/events//rsvps': Token not allowed in path expression: '' (Reserved character '*' is not allowed outside quotes) (you can double-quote this token if you really want it here)
Basically typesafe-config can load the example config so the exception is missleading.
I openend kamon-io/kamon-akka-http#72 with the example to reproduce this.
Daniel Leon
@leon-daniel
Hello everyone! I have a few questions related to Akka remote. I saw that most of the code from akka-remote is now present in kamon-akka. Will the module become obsolete ?
I am asking this because in the status page(kamon-status-page) the 'Akka Remote Instrumentation' module is disabled. I added the akka-remote at rc2 version, but still no update
Daniel Leon
@leon-daniel
One thing though, the metrics related to akka.remote are present.So @ivantopo , what is the direction for akka-remote ?
Mladen Subotić
@mladens
Hi @leon-daniel , yes, kamon-akka-remote has been merged into kamon-akka repo (theres a notice here https://github.com/kamon-io/kamon-akka-remote ).
Having said that, if you run it with latest bundle, it should pick up automatically both akka and akka remote
Daniel Leon
@leon-daniel
oh. Is even marked with important and I still managed to overlook it. Thanks, @mladens !
Daniel Leon
@leon-daniel
One more thing, I didn't see any way of assigning information(tags) regarding http methods or paths to the metrics module. Is this even possible?
I looked over the tracing module and I saw I can add data to an operation being sent as a span, but nothing for metrics
Mladen Subotić
@mladens
While in operation, you can do Kamon.currentSpan().tagMetrics("k","v"), that way all metrics produced by active operation span will be tagged (as oposed to just using span.tag()), if i got the question right..
Daniel Leon
@leon-daniel
hm..let me give you an example:" I would like to know how many POST/GET/PUT calls I have received in my akka-http app for example
and expose metric data, not tracing data
for now what I can see in prometheus as tag are component, interface ,port and http.status_code for some
Mladen Subotić
@mladens
Even if you dont report any traces (sampling off), span metrics are still collected, and in kamon-akka-http http.method metric tag should be enabled by default .
Daniel Leon
@leon-daniel
Is there a case where this is disabled? Because I can not see the tag (method) in my prometheus nanoHttp endpoint
PS: I don't see that in documentation either
Daniel Leon
@leon-daniel
I saw the tag in kamon.instrumentation module and it should be present for all HttpServerInstrumentation derived instruments, so in Akka Http as well.
Mladen Subotić
@mladens
Yes, relevant keys are kamon.instrumentation.http-server.default.tracing.{ span-metrics, tags } defined in kamon-instrumentation-common
Daniel Leon
@leon-daniel
I created some custom configs in application.conf for kamon, so maybe I disabled something there.
It is a bit confusing to find tags being applied to spans and in the same time appear in metrics too
I thought the metrics and the tracing APIs don't mix(share data/tag)
Mladen Subotić
@mladens
Sometimes its convinient but you still have to be rather explicit about it (tagMetrics vs tag), or through config in case of automatic instrumentation
Daniel Leon
@leon-daniel
so it is possible to pass http.method in prometheus?
Daniel Leon
@leon-daniel
the weird thing is that I can see the http.status_code tag, but not http.method
Found the mistery. Apparently if there is endpoint called, the tags are not added :)
After calling some routes in my app, span related metrics appeared: span_processing_time_seconds_bucket{operation="/discount",span_kind="server",http_status_code="200",error="false",le="0.005",component="akka.http.server",http_method="POST"} 0.0
Daniel Leon
@leon-daniel
Thank you, @mladens for all the help!
James Willett
@james-willett
Hi team! I'm trying to run a simple akka http application, with Kanela agent as the java agent attached to the docker images. When run my docker image though, I get Exception in thread "main" java.lang.NoClassDefFoundError: akka/http/scaladsl/server/Directive$SingleValueTransformers$ at kamon.instrumentation.akka.http.PathDirectivesRawPathPrefixInterceptor$.rawPathPrefix(AkkaHttpServerInstrumentation.scala:247) at kamon.instrumentation.akka.http.PathDirectivesRawPathPrefixInterceptor.rawPathPrefix(AkkaHttpServerInstrumentation.scala) at akka.http.scaladsl.server.directives.PathDirectives.rawPathPrefix(PathDirectives.scala) - any ideas what I am missing please?
Mladen Subotić
@mladens
Hi @james-willett , are you seeing Kanela banner being logged? How are you packagint the app?
Daniel Leon
@leon-daniel
Do you have the java agent as a separate docker image and attached as a side-car?