aboutsummaryrefslogtreecommitdiff
path: root/kamon-akka-remote/src/main/scala
diff options
context:
space:
mode:
authorIvan Topolnjak <ivantopo@gmail.com>2014-10-26 02:21:11 +0200
committerIvan Topolnjak <ivantopo@gmail.com>2014-10-26 02:21:11 +0200
commitcd8dce169b4231bf533445656bfb5a35034a6304 (patch)
tree4561bf3b8b7890891990a0d1b500155975d54277 /kamon-akka-remote/src/main/scala
parentea1a0d5d76988992227eb30b0baaf8e97678c946 (diff)
downloadKamon-cd8dce169b4231bf533445656bfb5a35034a6304.tar.gz
Kamon-cd8dce169b4231bf533445656bfb5a35034a6304.tar.bz2
Kamon-cd8dce169b4231bf533445656bfb5a35034a6304.zip
= all: upgrade to be compatible with the latest code in core
Diffstat (limited to 'kamon-akka-remote/src/main/scala')
-rw-r--r--kamon-akka-remote/src/main/scala/kamon/instrumentation/akka/RemotingInstrumentation.scala11
1 files changed, 7 insertions, 4 deletions
diff --git a/kamon-akka-remote/src/main/scala/kamon/instrumentation/akka/RemotingInstrumentation.scala b/kamon-akka-remote/src/main/scala/kamon/instrumentation/akka/RemotingInstrumentation.scala
index 3278ec67..560008cf 100644
--- a/kamon-akka-remote/src/main/scala/kamon/instrumentation/akka/RemotingInstrumentation.scala
+++ b/kamon-akka-remote/src/main/scala/kamon/instrumentation/akka/RemotingInstrumentation.scala
@@ -31,12 +31,15 @@ class RemotingInstrumentation {
envelopeBuilder.setMessage(serializedMessage)
// Attach the TraceContext info, if available.
- TraceRecorder.currentContext.foreach { context ⇒
+ if (!TraceRecorder.currentContext.isEmpty) {
+ val context = TraceRecorder.currentContext
+ val relativeStartMilliTime = System.currentTimeMillis - ((System.nanoTime - context.nanoTimestamp) / 1000000)
+
envelopeBuilder.setTraceContext(RemoteTraceContext.newBuilder()
.setTraceName(context.name)
.setTraceToken(context.token)
.setIsOpen(context.isOpen)
- .setStartMilliTime(context.startMilliTime)
+ .setStartMilliTime(relativeStartMilliTime)
.build())
}
@@ -81,14 +84,14 @@ class RemotingInstrumentation {
if (ackAndEnvelope.hasEnvelope && ackAndEnvelope.getEnvelope.hasTraceContext) {
val remoteTraceContext = ackAndEnvelope.getEnvelope.getTraceContext
val system = provider.guardian.underlying.system
- val tc = TraceRecorder.joinRemoteTraceContext(
+ val ctx = TraceRecorder.joinRemoteTraceContext(
remoteTraceContext.getTraceName(),
remoteTraceContext.getTraceToken(),
remoteTraceContext.getStartMilliTime(),
remoteTraceContext.getIsOpen(),
system)
- TraceRecorder.setContext(Some(tc))
+ TraceRecorder.setContext(ctx)
}
pjp.proceed()