dpsoft on 1.1.5
dpsoft on v1.1.5
dpsoft on 1.1.5
* Update Hdr * lazy vals in Kam… (compare)
ivantopo on master
clean references to scheduled r… (compare)
Hi there,
I attach in here a simple project we crafted at work that shows how we get different output based on the appender type FileAppender
and AsyncAppender
into the logback.
If you take the project and do an sbt run
changing the value of appender-ref
(line 25) once with FILE
and then with ASYNCFILE
you can see that the log/app.log
in one case just returns empty
and the other it prints the span operationName
.
We guess it can be due to some bugs into the kamon-logback
or the kanela-agent
.
Could you please have a look at the code and let us know?
Thank you so much
hello everyone, I am trying to use kamon-bundle
along with a datadog exporter, on an akka-http app. However I’m getting the following error:
java.lang.NoClassDefFoundError: Could not initialize class scala.concurrent.Future$
at akka.http.impl.util.StreamUtils$CaptureTerminationOp$.<init>(StreamUtils.scala:281)
at akka.http.impl.util.StreamUtils$CaptureTerminationOp$.<clinit>(StreamUtils.scala)
at akka.http.scaladsl.model.HttpEntity$.captureTermination(HttpEntity.scala:672)
Has anyone seen this before?
App
which initializes Future
s already. You can just create a trait KamonInit
and extend this as the first member instead of App
.
We send our metrics over UDP/statsd to a remote datadog agent (don't ask). That remote agent is resolved over DNS only once. Since the whole thing runs in kubernetes, the target agent may change IP addresses. Currently kamon-datadog
doesn't pick that up, since it only resolves the target hostname once (see https://github.com/kamon-io/kamon-datadog/blob/master/src/main/scala/kamon/datadog/DatadogAgentReporter.scala#L188)
Would be it OK to create a new INetSocketAddress
every few packets, to force a fresh DNS lookup that way?
Hi,
I am looking for suggestions on how to do this in Kamon + Akka Http
I need to generate correlationId
for every input request and I have multiple routes. Doing Kamon.runWithContextEntry(key, <random-uuid>)
in every route introduces more boilerplate. My initial thinking was to define a new directive but it seems the context is getting lost as there is no future in the directive. Any suggestions on how do this in a nicer way ?
Hey @ndchandar, thats exactly what kamon-akka-http module is doing, did you try it out?
@mladens Today Kamon Akka Http only provides operationName
(in TracingDirectives
). What i need is to create new entry for every new route request. I create sample gist to describe the scenario a bit https://gist.github.com/ndchandar/15a81f904fbf21b2149346c6d120fab7
As you can see there, the code is not very dry due to Kamon.runWithContextEntry(CorrelationIdCodec.correlationKey, IdGenerator.newId)
in multiple places.
I wanted to check a) if there is a better way to do this b) if i happen to need that context entry in my own internal custom directive (as in the second route someCrudApi2
) how to do it in more succinct way without duplicating
correlationId
as context entry. But for some reason it doesn't get propagated in our log files (they are coming as null). I have attached sample gist https://gist.github.com/ndchandar/cdcbbbd73a786f487d066417dd5a1913.correlationId
set correctly in the context