Phobos.Actor 2.12.0

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

Install-Package Phobos.Actor -Version 2.12.0
dotnet add package Phobos.Actor --version 2.12.0
<PackageReference Include="Phobos.Actor" Version="2.12.0" />
paket add Phobos.Actor --version 2.12.0
# Phobos ![Phobos logo](https://raw.githubusercontent.com/petabridge/phobos-issues/refs/heads/master/phobos_logo_small.png) [Phobos](https://phobos.petabridge.com/)™ is an observability plugin for [Akka.NET](https://getakka.net/) that provides [OpenTelemetry](https://opentelemetry.io/)-based tracing, metrics, and log aggregation. [Phobos is available for purchase on Sdkbin](https://sdkbin.com/publisher/petabridge/product/phobos) ## Installation Phobos plugs directly into your Akka.NET `ActorSystem` and immediately starts providing automatic tracing, metrics, and log correlation without you having to write any instrumentation code yourself. ### 1 - Add the `Phobos.Hosting` NuGet Package ```shell dotnet add package Phobos.Hosting ``` ### 2 - Configure OpenTelemetry to Use Phobos Metrics and Tracing ```csharp services // IServiceCollection .AddOpenTelemetry() .ConfigureResource(builder => { builder .AddEnvironmentVariableDetector() .AddTelemetrySdk() .AddServiceVersionDetector(); }) .UseOtlpExporter(OtlpExportProtocol.Grpc, new Uri(otlpEndpoint)) .WithMetrics(c => { c.AddRuntimeInstrumentation() .AddAspNetCoreInstrumentation() .AddHttpClientInstrumentation() .AddPhobosInstrumentation(); // Phobos metrics }) .WithTracing(c => { c.AddHttpClientInstrumentation() .AddAspNetCoreInstrumentation() .AddEntityFrameworkCoreInstrumentation() .AddSqlClientInstrumentation() .AddPhobosInstrumentation(); // Phobos traces }); ``` ### 3 - Add Phobos to Your `ActorSystem` ```csharp public static IServiceCollection AddUserServiceAkka(this IServiceCollection services, Action<AkkaConfigurationBuilder, IServiceProvider> additionalConfig) { return services.AddAkka(ActorSystemName, (builder, sp) => { builder.AddUserServiceActors() WithPhobos(AkkaRunMode.Local, configOptions => {}); additionalConfig.Invoke(builder, sp); }); } ``` And you're done! Akka.NET traces / metrics / logs will now be automatically exported along with your ASP.NET Core, Entity Framework, SqlClient, HttpClient, and other .NET OpenTelemetry data! For more detailed instructions, please see the [Phobos QuickStart Tutorial](https://phobos.petabridge.com/articles/quickstart.html) ## What Data Does Phobos Capture? You can see our full list of automatically collected traces, metrics, and log events here: [https://phobos.petabridge.com/articles/captured-data.html](https://phobos.petabridge.com/articles/captured-data.html) ### Can I Configure What Phobos Collects? Absolutely - [Phobos has finely tuneable noise control capabilities](https://phobos.petabridge.com/articles/trace-filtering.html) that allow you to configure what types of data Phobos collects fronm your application. ### What's the Performance Impact of Phobos on Akka.NET? Tracing and metrics collection always have an amount of instrumentation overhead - you can [view our latest Phobos performance figures and best practices here](https://phobos.petabridge.com/articles/performance.html). Copyright 2018-2025 [Petabridge](https://petabridge.com/), LLC
Loading README...
net8.0
netstandard2.0
Version Downloads Last Updated
2.12.0 Current 6 1 hour(s) ago
2.11.3 1,327 21 day(s) ago
2.11.2 210 27 day(s) ago
2.11.1 67 28 day(s) ago
2.11.0 1,461 56 day(s) ago
2.10.5 6,700 81 day(s) ago
2.10.4 5,040 131 day(s) ago
2.10.3 132 131 day(s) ago
2.10.2 15,226 201 day(s) ago
2.10.1 2,435 218 day(s) ago
2.10.0 1,551 237 day(s) ago
2.9.1 591 244 day(s) ago
2.9.0 1,328 259 day(s) ago
2.8.5 11,404 333 day(s) ago
2.8.4 4,125 379 day(s) ago
2.8.3 8,193 426 day(s) ago
2.8.2 3,134 460 day(s) ago
2.8.1 1,016 461 day(s) ago
2.8.0 1,911 468 day(s) ago
2.7.0 1,206 474 day(s) ago
2.6.2 1,584 494 day(s) ago
2.6.1 526 501 day(s) ago
2.6.0 1,565 509 day(s) ago
2.5.4 92,967 670 day(s) ago
2.5.3 1,117 680 day(s) ago
2.5.2 997 686 day(s) ago
2.5.1 18,589 769 day(s) ago
2.5.0 17,418 805 day(s) ago
2.4.5 2,890 839 day(s) ago
2.4.4 974 873 day(s) ago
2.4.3 9,663 880 day(s) ago
2.4.2 10,290 952 day(s) ago
2.4.1 12,056 1012 day(s) ago
2.4.0 743 1015 day(s) ago
2.3.1 8,702 1070 day(s) ago
2.3.0 12,085 1096 day(s) ago
2.2.1 1,141 1099 day(s) ago
2.2.0 2,212 1152 day(s) ago
2.2.0-beta2 319 1154 day(s) ago
2.1.1 558 929 day(s) ago
2.1.0 2,160 1197 day(s) ago
2.1.0-beta2 572 1286 day(s) ago
2.1.0-beta1 459 1359 day(s) ago
2.0.6 65,884 1418 day(s) ago
2.0.5 459 1422 day(s) ago
2.0.4 425 1426 day(s) ago
2.0.3 437 1433 day(s) ago
2.0.3-beta1 332 1446 day(s) ago
2.0.2 4,589 1470 day(s) ago
2.0.1 531 1476 day(s) ago
2.0.0 437 1477 day(s) ago
2.0.0-beta4 754 1503 day(s) ago
2.0.0-beta3 771 1546 day(s) ago
2.0.0-beta2 330 1547 day(s) ago
2.0.0-beta1 416 1553 day(s) ago
1.6.1 4,551 1099 day(s) ago
1.6.0 426 1104 day(s) ago
1.5.1 14,040 1477 day(s) ago
1.5.0 389 1477 day(s) ago
1.5.0-beta1 319 1503 day(s) ago
1.4.2 12,975 1512 day(s) ago
1.4.1 2,393 1547 day(s) ago
1.4.0 439 1560 day(s) ago
1.3.3 7,338 1576 day(s) ago
1.3.2 826 1589 day(s) ago
1.3.1 881 1600 day(s) ago
1.3.0 7,515 1621 day(s) ago
1.2.5 1,555 1658 day(s) ago
1.2.4 1,091 1660 day(s) ago
1.2.3 3,641 1693 day(s) ago
1.2.2 2,702 1714 day(s) ago
1.2.1 1,065 1722 day(s) ago
1.2.0 2,352 1776 day(s) ago
1.1.4 1,841 1792 day(s) ago
1.1.3 630 1798 day(s) ago
1.1.2 3,790 1818 day(s) ago
1.1.1 6,181 1862 day(s) ago
1.1.0 11,439 1919 day(s) ago
1.0.6 944 1953 day(s) ago
1.0.5 595 1968 day(s) ago
1.0.4 1,993 1989 day(s) ago
1.0.3 1,229 2023 day(s) ago
1.0.2 1,638 2036 day(s) ago
1.0.1 466 2036 day(s) ago
0.8.0 471 1923 day(s) ago
0.7.2 471 1923 day(s) ago
0.7.1 472 1923 day(s) ago
0.7.0 552 1923 day(s) ago
**Phobos 2.x Release** **New Feature: Akka.Streams Trace Continuity** Phobos 2.12.0 adds automatic trace-context propagation through Akka.Streams graphs. With Akka.NET 1.5.66+, which ships the framework-owned `"Akka.Streams"` `ActivitySource`, every element flowing through a stream stage carries its parent trace context forward — connecting your actor message handler, the stream graph stages, and any user spans created inside lambdas (e.g. `SqlClient`, `HttpClient` instrumentation) into one unbroken distributed trace. The resulting trace shape looks like this: ``` [actor] akka.msg.recv RecordOrder [stream] akka.stream.ingress QueueSource [stream] akka.stream.stage SelectAsync [user] db.INSERT (SqlClient / HttpClient / etc.) ``` **Akka.Streams tracing is on by default.** No code changes are required if you already call `AddPhobosInstrumentation()` — it registers the `"Akka.Streams"` `ActivitySource` automatically: ```csharp services.AddOpenTelemetry() .WithTracing(tracing => tracing .AddPhobosInstrumentation() // traceAkkaStreams: true by default .AddOtlpExporter()); ``` To opt out of stream-stage spans: ```csharp services.AddOpenTelemetry() .WithTracing(tracing => tracing .AddPhobosInstrumentation(traceAkkaStreams: false) .AddOtlpExporter()); ``` For details on the underlying Akka.NET `"Akka.Streams"` `ActivitySource`, see: [Akka.Streams OpenTelemetry Tracing](https://getakka.net/articles/streams/stream-tracing.html) in the Akka.NET documentation. See [#1506](https://github.com/petabridge/phobos/pull/1506). **Bug Fixes** - Fixed `ReceiveAsync`/`CommandAsync` message-receive spans closing prematurely before the async handler completed. The `akka.msg.recv` span now stays open for the full duration of the async handler, accurately capturing duration and faults across `await` points. Also un-skips the long-standing `AsyncAwaitRequestResponseWithFiltering` trace-continuity test that was suppressed since Phobos 1.3.0. See [#1528](https://github.com/petabridge/phobos/pull/1528). **Improvements** - Upgraded to [Akka.NET v1.5.67](https://github.com/akkadotnet/akka.net/releases/tag/1.5.67) and [Akka.Hosting v1.5.67](https://github.com/akkadotnet/Akka.Hosting/releases/tag/1.5.67) for latest stability and performance improvements.

Info

Statistics

  • 439225 total downloads
  • 6 downloads of current version
  • 256.2 KB package size

Owners and Products

Petabridge Petabridge

Authors

Petabridge

Copyright

Copyright © 2017-2026 Petabridge