aboutsummaryrefslogtreecommitdiff
path: root/kamon-akka-remote
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
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')
-rw-r--r--kamon-akka-remote/src/main/scala/kamon/instrumentation/akka/RemotingInstrumentation.scala11
-rw-r--r--kamon-akka-remote/src/test/scala/kamon/instrumentation/akka/RemotingInstrumentationSpec.scala12
2 files changed, 12 insertions, 11 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()
diff --git a/kamon-akka-remote/src/test/scala/kamon/instrumentation/akka/RemotingInstrumentationSpec.scala b/kamon-akka-remote/src/test/scala/kamon/instrumentation/akka/RemotingInstrumentationSpec.scala
index 29276dd0..8a3973ca 100644
--- a/kamon-akka-remote/src/test/scala/kamon/instrumentation/akka/RemotingInstrumentationSpec.scala
+++ b/kamon-akka-remote/src/test/scala/kamon/instrumentation/akka/RemotingInstrumentationSpec.scala
@@ -127,14 +127,13 @@ class TraceTokenReplier(creationTraceContextListener: Option[ActorRef]) extends
case "fail" ⇒
throw new ArithmeticException("Division by zero.")
case "reply-trace-token" ⇒
- log.info("Sending back the TT: " + TraceRecorder.currentContext.map(_.token).getOrElse("unavailable"))
+ log.info("Sending back the TT: " + TraceRecorder.currentContext.token)
sender ! currentTraceContextInfo
}
def currentTraceContextInfo: String = {
- TraceRecorder.currentContext.map { context ⇒
- s"name=${context.name}|token=${context.token}|isOpen=${context.isOpen}"
- }.getOrElse("unavailable")
+ val ctx = TraceRecorder.currentContext
+ s"name=${ctx.name}|token=${ctx.token}|isOpen=${ctx.isOpen}"
}
}
@@ -162,8 +161,7 @@ class SupervisorOfRemote(traceContextListener: ActorRef, remoteAddress: Address)
}
def currentTraceContextInfo: String = {
- TraceRecorder.currentContext.map { context ⇒
- s"name=${context.name}|token=${context.token}|isOpen=${context.isOpen}"
- }.getOrElse("unavailable")
+ val ctx = TraceRecorder.currentContext
+ s"name=${ctx.name}|token=${ctx.token}|isOpen=${ctx.isOpen}"
}
}