diff --git a/akka-actor-tests/src/test/scala/akka/performance/trading/common/PerformanceTest.scala b/akka-actor-tests/src/test/scala/akka/performance/trading/common/PerformanceTest.scala index 4e3c96b20d..fb6610a75e 100644 --- a/akka-actor-tests/src/test/scala/akka/performance/trading/common/PerformanceTest.scala +++ b/akka-actor-tests/src/test/scala/akka/performance/trading/common/PerformanceTest.scala @@ -15,6 +15,7 @@ import akka.performance.workbench.BenchResultRepository import akka.performance.workbench.Report import akka.performance.workbench.Stats import akka.AkkaApplication +import akka.actor.simpleName trait PerformanceTest extends JUnitSuite { @@ -107,7 +108,7 @@ trait PerformanceTest extends JUnitSuite { def logMeasurement(scenario: String, numberOfClients: Int, durationNs: Long) { - val name = getClass.getSimpleName + val name = simpleName(this) val durationS = durationNs.toDouble / 1000000000.0 val percentiles = TreeMap[Int, Long]( diff --git a/akka-actor/src/main/scala/akka/actor/package.scala b/akka-actor/src/main/scala/akka/actor/package.scala index 9893c3a431..1b2e1514f9 100644 --- a/akka-actor/src/main/scala/akka/actor/package.scala +++ b/akka-actor/src/main/scala/akka/actor/package.scala @@ -15,4 +15,11 @@ package object actor { def uuidFrom(time: Long, clockSeqAndNode: Long): Uuid = new Uuid(time, clockSeqAndNode) def uuidFrom(uuid: String): Uuid = new Uuid(uuid) + + def simpleName(obj: AnyRef): String = { + val n = obj.getClass.getName + val i = n.lastIndexOf('.') + n.substring(i + 1).replaceAll("\\$+", ".") + } + } diff --git a/akka-actor/src/main/scala/akka/event/EventHandler.scala b/akka-actor/src/main/scala/akka/event/EventHandler.scala index a668c16249..0edd876aad 100644 --- a/akka-actor/src/main/scala/akka/event/EventHandler.scala +++ b/akka-actor/src/main/scala/akka/event/EventHandler.scala @@ -104,7 +104,7 @@ object EventHandler { def instanceName(instance: AnyRef): String = instance match { case null ⇒ "NULL" case a: ActorRef ⇒ a.address - case _ ⇒ instance.getClass.getSimpleName + case _ ⇒ simpleName(instance) } } diff --git a/akka-remote/src/main/scala/akka/remote/netty/NettyRemoteSupport.scala b/akka-remote/src/main/scala/akka/remote/netty/NettyRemoteSupport.scala index b1274ef1c2..d143b20013 100644 --- a/akka-remote/src/main/scala/akka/remote/netty/NettyRemoteSupport.scala +++ b/akka-remote/src/main/scala/akka/remote/netty/NettyRemoteSupport.scala @@ -4,7 +4,7 @@ package akka.remote.netty -import akka.actor.{ ActorRef, Uuid, newUuid, uuidFrom, IllegalActorStateException, PoisonPill, AutoReceivedMessage } +import akka.actor.{ ActorRef, Uuid, newUuid, uuidFrom, IllegalActorStateException, PoisonPill, AutoReceivedMessage, simpleName } import akka.remote._ import RemoteProtocol._ import akka.util._ @@ -143,7 +143,7 @@ abstract class RemoteClient private[akka] ( val module: NettyRemoteClientModule, val remoteAddress: InetSocketAddress) { - val name = this.getClass.getSimpleName + "@" + + val name = simpleName(this) + "@" + remoteAddress.getAddress.getHostAddress + "::" + remoteAddress.getPort