public void Tell_TracedMessageAndExceptionDuringProcessing_TracerScopeDisposed() { //setup IAkkaTracer tracer = Substitute.For <IAkkaTracer>(); IScope scope = Substitute.For <IScope>(); tracer.AroundReceive(null, null, null).ReturnsForAnyArgs(scope); var tep = new TracingExtensionProvider(new SubsTracingExtensionFactory(tracer)); Sys.RegisterExtension(tep); var testActor = new TestActorRef <SampleActor>(Sys, Props.Create(() => new SampleActor())); //sync actor //call testActor.Tell(new TracedMessage("exception", null)); //assert scope.ReceivedWithAnyArgs(1).Dispose(); }
public virtual TracingExtension CreateTracingExtension(IAkkaTracer akkaTracer) { return(new TracingExtension(akkaTracer)); }
internal TracingExtension(IAkkaTracer akkaTracer) { AkkaTracer = akkaTracer; }
internal TracedActorRef(IActorRefProvider provider, IActorRef @delegate, IAkkaTracer tracer) { _provider = provider; _delegate = @delegate; _tracer = tracer; }
internal TracedMessageQueue(IMessageQueue @delegate, IAkkaTracer tracer) { _delegate = @delegate; _tracer = tracer; }
internal SubsTracingExtensionFactory(IAkkaTracer tracer) { _tracer = tracer; }
protected override void PreStart() { _tracer = Context.System.GetExtension <TracingExtension>()?.AkkaTracer; base.PreStart(); }
internal TracedRemoteActorRef(RemoteActorRef @delegate, IAkkaTracer tracer) { _delegate = @delegate; _tracer = tracer; }