From cd8dce169b4231bf533445656bfb5a35034a6304 Mon Sep 17 00:00:00 2001 From: Ivan Topolnjak Date: Sun, 26 Oct 2014 02:21:11 +0200 Subject: = all: upgrade to be compatible with the latest code in core --- .../kamon/instrumentation/akka/RemotingInstrumentation.scala | 11 +++++++---- .../instrumentation/akka/RemotingInstrumentationSpec.scala | 12 +++++------- 2 files changed, 12 insertions(+), 11 deletions(-) (limited to 'kamon-akka-remote') 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}" } } -- cgit v1.2.3