Skip to content

Commit

Permalink
Merge pull request #1540 from rogeralsing/remote-perf-logging-fix
Browse files Browse the repository at this point in the history
Akka.Remote Performance - String.Format logging perf fix
  • Loading branch information
Aaronontheweb committed Dec 15, 2015
2 parents 97f2c2a + 2d2ca21 commit 47948ff
Showing 1 changed file with 16 additions and 5 deletions.
21 changes: 16 additions & 5 deletions src/core/Akka.Remote/Endpoint.cs
Original file line number Diff line number Diff line change
Expand Up @@ -61,23 +61,30 @@ public void Dispatch(IInternalActorRef recipient, Address recipientAddress, Seri
var sender = senderOption ?? system.DeadLetters;
var originalReceiver = recipient.Path;

var msgLog = string.Format("RemoteMessage: {0} to {1}<+{2} from {3}", payload, recipient, originalReceiver,
sender);

// message is intended for the RemoteDaemon, usually a command to create a remote actor
if (recipient == remoteDaemon)
{
if (settings.UntrustedMode) log.Debug("dropping daemon message in untrusted mode");
else
{
if (settings.LogReceive) log.Debug("received daemon message [{0}]", msgLog);
if (settings.LogReceive)
{
var msgLog = string.Format("RemoteMessage: {0} to {1}<+{2} from {3}", payload, recipient, originalReceiver,sender);
log.Debug("received daemon message [{0}]", msgLog);
}
remoteDaemon.Tell(payload);
}
}

//message is intended for a local recipient
else if ((recipient is ILocalRef || recipient is RepointableActorRef) && recipient.IsLocal)
{
if (settings.LogReceive) log.Debug("received local message [{0}]", msgLog);
if (settings.LogReceive)
{
var msgLog = string.Format("RemoteMessage: {0} to {1}<+{2} from {3}", payload, recipient, originalReceiver,sender);
log.Debug("received local message [{0}]", msgLog);
}
payload.Match()
.With<ActorSelectionMessage>(sel =>
{
Expand Down Expand Up @@ -115,7 +122,11 @@ public void Dispatch(IInternalActorRef recipient, Address recipientAddress, Seri
// message is intended for a remote-deployed recipient
else if ((recipient is IRemoteRef || recipient is RepointableActorRef) && !recipient.IsLocal && !settings.UntrustedMode)
{
if (settings.LogReceive) log.Debug("received remote-destined message {0}", msgLog);
if (settings.LogReceive)
{
var msgLog = string.Format("RemoteMessage: {0} to {1}<+{2} from {3}", payload, recipient, originalReceiver, sender);
log.Debug("received remote-destined message {0}", msgLog);
}
if (provider.Transport.Addresses.Contains(recipientAddress))
{
//if it was originally addressed to us but is in fact remote from our point of view (i.e. remote-deployed)
Expand Down

0 comments on commit 47948ff

Please sign in to comment.