Phobos
Phobos
Enterprise Application Monitoring and Management for Akka.NET OSS
Published by Petabridge
  • last updated 40 day(s) ago
  • 2525 daily downloads
  • 490229 total downloads
  • Latest version: 2.1.0-beta2

Phobos.Actor 1.2.0

Automatic Akka.NET tracing and monitoring integration as part of the Phobos Enterprise Framework.

Install-Package Phobos.Actor -Version 1.2.0
dotnet add package Phobos.Actor --version 1.2.0
<PackageReference Include="Phobos.Actor" Version="1.2.0"/>
paket add Phobos.Actor --version 1.2.0

Release Notes

Maintenance Release for Phobos 1.2** - [Resolved some `IScope` memory leaks occurring inside Phobos](https://github.com/petabridge/phobos-issues/issues/19) - these occured as a result of `IScope` being lost inside `async` contexts and because some `IScope`s were not properly disposed the actor had a different `IScope` set as its active scope. - Added new [`PhobosSetup.Create` method](https://phobos.petabridge.com/api/Phobos.Actor.PhobosSetup.html) which creates its own [`PhobosConfigBuilder`](https://phobos.petabridge.com/api/Phobos.Actor.Configuration.PhobosConfigBuilder.html), rather than requiring users to create and pass one in first. Significantly improved trace filtering, with the new `TraceConfigBuilder.IncludeMessagesAlreadyInTrace(bool includeInTrace)` method, which allows users to coimpletely drop any messages inside an active trace that don't match your `IFilterRules` - this is designed for high throughput scenarios where users really want to greatly reduce the amount of data being created by their tracing system. Here's an example of it in action: ```csharp var config = @"akka.actor.provider = ""Phobos.Actor.PhobosActorRefProvider,Phobos.Actor"""; var tracer = new MockTracer(new ActorScopeManager()); var phobosConfig = new PhobosConfigBuilder() .WithTracing(m => { m.SetTracer(tracer); // don't include messages in trace that don't satisfy other filters m.IncludeMessagesAlreadyInTrace(false); // only accept FilteredMessage types m.AddIncludeMessageFilter<FilteredMessage>(); }); // create PhobosSetup + BootstrapSetup for configuring ActorSystem var phobosSetup = PhobosSetup.Create(phobosConfig) .WithSetup(BootstrapSetup.Create().WithConfig(config)); sys = ActorSystem.Create("PhobosTest", phobosSetup); var actor = sys.ActorOf(Props.Create(() => new EchoActor()), "echo"); var actor2 = sys.ActorOf(act => { IActorRef sender = null; act.Receive<FilteredMessage>((f, ctx) => { sender = ctx.Sender; actor.Tell(f.Message); }); act.Receive<string>((str, ctx) => { sender.Tell(str, ctx.Self); }); }, "secondActor"); // send a message that WILL be filtered out actor2.Ask<string>(new FilteredMessage("bye"), TimeSpan.FromMilliseconds(100)).Wait(); Task.Delay(300).Wait(); // wait for activity in other threads to stop var spans = tracer.FinishedSpans(); spans.Count.Should().Be(1); // for the FilteredMessage only ```

Dependencies

.NETStandard

Versions

Version
Downloads
Last Updated
78
40 day(s) ago
141
113 day(s) ago
7085
172 day(s) ago
71
175 day(s) ago
36
180 day(s) ago
50
187 day(s) ago
13
200 day(s) ago
1901
224 day(s) ago
142
230 day(s) ago
46
231 day(s) ago
6306
231 day(s) ago
2
231 day(s) ago
436
256 day(s) ago
1
256 day(s) ago
4666
265 day(s) ago
453
300 day(s) ago
12
301 day(s) ago
1983
301 day(s) ago
98
307 day(s) ago
51
314 day(s) ago
6919
330 day(s) ago
437
343 day(s) ago
396
354 day(s) ago
7111
375 day(s) ago
1166
412 day(s) ago
704
414 day(s) ago
3246
447 day(s) ago
2201
468 day(s) ago
678
476 day(s) ago
1356
530 day(s) ago
1448
546 day(s) ago
243
551 day(s) ago
3402
572 day(s) ago
5790
615 day(s) ago
11004
672 day(s) ago
92
676 day(s) ago
83
676 day(s) ago
83
676 day(s) ago
83
676 day(s) ago
556
707 day(s) ago
207
722 day(s) ago
1603
742 day(s) ago
838
777 day(s) ago
1245
790 day(s) ago
73
790 day(s) ago

Info

Statistics

  • 74535 total downloads
  • 1356 downloads of current version

Owners and Products

Petabridge Petabridge

Authors

Petabridge

Copyright

Copyright © 2017-2021 Petabridge

Petabridge