Phobos
Phobos
Enterprise Application Monitoring and Management for Akka.NET OSS
Published by Petabridge
  • last updated 28 day(s) ago
  • 2247 daily downloads
  • 1159818 total downloads
  • Latest version: 2.5.1

Phobos.Monitoring 2.1.0

High-performance monitoring and instrumentation library for .NET and .NET Core applications.

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

Release Notes

Phobos 2.1 Minor Release** Phobos 2.1 is a minor release that has been in the works for a long time and introduces several major features and improvements to the existing Phobos 2.0 experience. Akka.Cluster.Sharding Metrics and Dashboards** Issue: https://github.com/petabridge/phobos-issues/issues/72 One of the things we added support for in Phobos 2.1 is automatically tracking Akka.Cluster.Sharding metrics for each `ShardRegion` for each node capable of hosting any shards - these numbers can be aggregated together to form a complete picture of total shard allocation by type and node throughout your cluster. The new built-in metrics are: `akka.cluster.sharding.shards` - keeps track of the number of shards per node per entity type. `akka.cluster.sharding.entities` - keeps track of the number of entities per node per entity type. More Accurate "Live Actor" Counts** Phobos 2.1 takes advantage of a new actor telemetry feature introduced in [Akka.NET v1.4.47](https://github.com/akkadotnet/akka.net/releases/tag/1.4.47), whihc allows us to use an OpenTelemetry `ObservableGauge` to accurately track the total number of live actors by type and node throughout each of your `ActorSystem`s. > [!IMPORTANT] > In order to use this feature, you will need to set `akka.actor.telemetry.enabled = on` (it's `off` by default.) > > If you use Phobos.Hosting to configure Phobos, this setting will be automatically enabled for you. This value is now tracked via the `akka.actor.live` metric and will show up alongside the normal `akka.actor.created|stopped|restarted` counters. We've already incorporated `akka.actor.live` into our Phobos dashboards. Updated All Phobos Dashboards** We've incorporated all Phobos dashboards to incorporate the following new metric types: `akka.cluster.sharding.shards` - keeps track of the number of shards per node per entity type. `akka.cluster.sharding.entities` - keeps track of the number of entities per node per entity type. `akka.actor.live` - keeps more accurate track of the number of live actors per node by type. Please see "[Phobos Dashboards](https://phobos.petabridge.com/articles/dashboards/index.html)" for the most recent versions of each of these. Akka.Cluster.Sharding Trace Compression** One of the largest feature areas we've worked on for Phobos 2.1 is curtailing the amount of noise produced by Phobos tracing, especially in regards to features like Akka.Cluster.Sharding - where each message to one of your actors produces 2-3 spans recorded by built-in system actors. For starters, we now have the ability to compress Cluster.Sharding traces via an [OpenTelemetry `BaseProcessor<Activity>`](https://github.com/open-telemetry/opentelemetry-dotnet/blob/main/docs/trace/extending-the-sdk/README.md#processor) - and this can be enabled when you're subscribing to Phobos telemetry in your OTel pipeline: ```csharp services.AddOpenTelemetryTracing(builder => { builder .SetResourceBuilder(resource) .AddPhobosInstrumentation(compressShardTraces:true) // eliminate sharding infrastructure from traces .AddHttpClientInstrumentation() .AddAspNetCoreInstrumentation(options => { options.Filter = context => !context. Request.Path.StartsWithSegments("/metrics"); }) .SetSampler(new TraceIdRatioBasedSampler(1.0d)) .AddJaegerExporter(opt => { opt.AgentHost = Environment.GetEnvironmentVariable(JaegerAgentHostEnvironmentVar) ?? "localhost"; }); }); ``` Calling `.AddPhobosInstrumentation(compressShardTraces:true)` will enable trace compression for sharding. This value is set to `false` by default. In addition to these changes, we've also filtered out all internal messages and Akka.DistributedData messages by default. `Ask<T>` Tracing Improvements** We've made many significant improvements to `Ask<T>` tracing in Phobos 2.1: `Ask<T>` tracing can now be disabled via the fluent C# APIs or via `phobos.tracing.trace-ask = off`; `Ask<T>` tracing can now be filtered using the same `ITraceFilter` and other filter rules as regular `akka.actor.recv` statements; `Ask<T>` tracing has been restructured such that we now accurately capture both the input and output types separately - additionally, we are much more accurate in tracking start and stop times than we were previously. [Fixed: `Ask<T>` tracing does not properly follow `Tracer.ActiveSpan`](https://github.com/petabridge/phobos-issues/issues/74) To disable `Ask<T>` tracing via Phobos.Hosting, use the following: ```csharp collection.AddAkka("LocalSys", (builder, sp) => { builder.WithPhobos(AkkaRunMode.Local, configBuilder => configBuilder.WithTracing(t => t.SetTraceAsk(false))); AddTestActors(builder); }); ``` Other General Improvements** [Fixed: Phobos `DeadLetter` logging](https://github.com/petabridge/phobos-issues/issues/73). [Fixed: `Tracer.CurrentSpan` and `PhobosActorContext.ActiveSpan` should be the same when actor is processing message, but currently are not](https://github.com/petabridge/phobos-issues/issues/71). All `IWithTimers` messages are filtered out by default.

Dependencies

.NETStandard

Versions

Version
Downloads
Last Updated
1858
28 day(s) ago
3167
64 day(s) ago
1479
98 day(s) ago
590
133 day(s) ago
2167
140 day(s) ago
48
188 day(s) ago
4785
211 day(s) ago
8704
271 day(s) ago
380
274 day(s) ago
7185
330 day(s) ago
6029
355 day(s) ago
750
358 day(s) ago
3284
358 day(s) ago
36
363 day(s) ago
1827
412 day(s) ago
2
413 day(s) ago
1753
457 day(s) ago
256
545 day(s) ago
142
619 day(s) ago
56242
677 day(s) ago
72
681 day(s) ago
39
685 day(s) ago
53
692 day(s) ago
14
706 day(s) ago
4197
729 day(s) ago
144
735 day(s) ago
20
736 day(s) ago
13576
736 day(s) ago
4
736 day(s) ago
437
762 day(s) ago
2
762 day(s) ago
12289
771 day(s) ago
454
806 day(s) ago
13
806 day(s) ago
2008
806 day(s) ago
99
812 day(s) ago
54
819 day(s) ago
6957
835 day(s) ago
440
848 day(s) ago
493
860 day(s) ago
7133
881 day(s) ago
1166
917 day(s) ago
705
919 day(s) ago
3242
952 day(s) ago
2315
974 day(s) ago
679
981 day(s) ago
1791
1035 day(s) ago
1452
1051 day(s) ago
243
1057 day(s) ago
3401
1077 day(s) ago
5787
1121 day(s) ago
11050
1178 day(s) ago
94
1182 day(s) ago
87
1182 day(s) ago
36616
1182 day(s) ago
556
1212 day(s) ago
209
1227 day(s) ago
1608
1248 day(s) ago
852
1283 day(s) ago
1235
1295 day(s) ago
89
1295 day(s) ago

Info

Statistics

  • 222359 total downloads
  • 1753 downloads of current version

Owners and Products

Petabridge Petabridge

Authors

Petabridge

Copyright

Copyright © 2017-2023 Petabridge

Petabridge