Phobos
Phobos
Enterprise Application Monitoring and Management for Akka.NET OSS
Published by Petabridge
  • last updated 19 day(s) ago
  • 2604 daily downloads
  • 643968 total downloads
  • Latest version: 2.2.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
231
19 day(s) ago
1
20 day(s) ago
664
64 day(s) ago
254
152 day(s) ago
141
225 day(s) ago
22810
284 day(s) ago
71
288 day(s) ago
36
292 day(s) ago
50
299 day(s) ago
13
313 day(s) ago
2727
336 day(s) ago
142
342 day(s) ago
46
343 day(s) ago
11351
343 day(s) ago
2
343 day(s) ago
436
369 day(s) ago
1
369 day(s) ago
6790
378 day(s) ago
453
412 day(s) ago
12
413 day(s) ago
1989
413 day(s) ago
98
419 day(s) ago
51
426 day(s) ago
6921
442 day(s) ago
437
455 day(s) ago
454
466 day(s) ago
7114
487 day(s) ago
1168
524 day(s) ago
704
526 day(s) ago
3248
559 day(s) ago
2301
580 day(s) ago
678
588 day(s) ago
1534
642 day(s) ago
1448
658 day(s) ago
243
664 day(s) ago
3402
684 day(s) ago
5792
728 day(s) ago
11049
785 day(s) ago
92
789 day(s) ago
83
789 day(s) ago
83
789 day(s) ago
83
789 day(s) ago
556
819 day(s) ago
207
834 day(s) ago
1603
855 day(s) ago
838
890 day(s) ago
1245
902 day(s) ago
73
902 day(s) ago

Info

Statistics

  • 99725 total downloads
  • 1534 downloads of current version

Owners and Products

Petabridge Petabridge

Authors

Petabridge

Copyright

Copyright © 2017-2021 Petabridge

Petabridge