Phobos.Tracing 2.12.0

Distributed tracing support for Akka.NET ActorSystems.

Install-Package Phobos.Tracing -Version 2.12.0
dotnet add package Phobos.Tracing --version 2.12.0
<PackageReference Include="Phobos.Tracing" Version="2.12.0" />
paket add Phobos.Tracing --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 1,804 26 day(s) ago
2.11.3 1,897 47 day(s) ago
2.11.2 240 53 day(s) ago
2.11.1 114 55 day(s) ago
2.11.0 1,678 82 day(s) ago
2.10.5 8,114 107 day(s) ago
2.10.4 5,399 157 day(s) ago
2.10.3 160 157 day(s) ago
2.10.2 21,318 227 day(s) ago
2.10.1 2,471 244 day(s) ago
2.10.0 1,638 263 day(s) ago
2.9.1 620 270 day(s) ago
2.9.0 1,356 285 day(s) ago
2.8.5 11,407 360 day(s) ago
2.8.4 4,265 405 day(s) ago
2.8.3 8,241 452 day(s) ago
2.8.2 3,183 486 day(s) ago
2.8.1 1,043 487 day(s) ago
2.8.0 1,939 494 day(s) ago
2.7.0 1,201 501 day(s) ago
2.6.2 1,611 520 day(s) ago
2.6.1 551 527 day(s) ago
2.6.0 1,575 535 day(s) ago
2.5.4 98,448 696 day(s) ago
2.5.3 1,147 706 day(s) ago
2.5.2 1,005 713 day(s) ago
2.5.1 18,418 795 day(s) ago
2.5.0 18,535 831 day(s) ago
2.4.5 2,920 865 day(s) ago
2.4.4 1,001 900 day(s) ago
2.4.3 9,689 907 day(s) ago
2.4.2 10,305 978 day(s) ago
2.4.1 11,964 1039 day(s) ago
2.4.0 766 1041 day(s) ago
2.3.1 8,612 1097 day(s) ago
2.3.0 12,325 1122 day(s) ago
2.2.1 1,222 1125 day(s) ago
2.2.0 2,242 1179 day(s) ago
2.2.0-beta2 345 1180 day(s) ago
2.1.1 587 956 day(s) ago
2.1.0 2,185 1224 day(s) ago
2.1.0-beta2 600 1312 day(s) ago
2.1.0-beta1 486 1386 day(s) ago
2.0.6 65,951 1444 day(s) ago
2.0.5 482 1448 day(s) ago
2.0.4 449 1452 day(s) ago
2.0.3 465 1460 day(s) ago
2.0.3-beta1 356 1473 day(s) ago
2.0.2 4,611 1496 day(s) ago
2.0.1 557 1502 day(s) ago
2.0.0 446 1503 day(s) ago
2.0.0-beta4 783 1529 day(s) ago
2.0.0-beta3 800 1573 day(s) ago
2.0.0-beta2 357 1573 day(s) ago
2.0.0-beta1 444 1579 day(s) ago
1.6.1 4,620 1125 day(s) ago
1.6.0 505 1131 day(s) ago
1.5.1 14,066 1503 day(s) ago
1.5.0 414 1503 day(s) ago
1.5.0-beta1 344 1529 day(s) ago
1.4.2 13,001 1538 day(s) ago
1.4.1 2,417 1573 day(s) ago
1.4.0 465 1587 day(s) ago
1.3.3 7,365 1602 day(s) ago
1.3.2 850 1616 day(s) ago
1.3.1 906 1627 day(s) ago
1.3.0 7,534 1648 day(s) ago
1.2.5 1,574 1685 day(s) ago
1.2.4 1,110 1686 day(s) ago
1.2.3 3,660 1719 day(s) ago
1.2.2 2,729 1741 day(s) ago
1.2.1 1,090 1749 day(s) ago
1.2.0 2,376 1802 day(s) ago
1.1.4 1,867 1818 day(s) ago
1.1.3 651 1824 day(s) ago
1.1.2 3,811 1844 day(s) ago
1.1.1 6,203 1888 day(s) ago
1.1.0 11,464 1945 day(s) ago
1.0.6 965 1979 day(s) ago
1.0.5 618 1994 day(s) ago
1.0.4 2,016 2015 day(s) ago
1.0.3 1,261 2050 day(s) ago
1.0.2 1,644 2062 day(s) ago
1.0.1 498 2062 day(s) ago
0.7.0 36,546 1949 day(s) ago
0.6.1 495 1949 day(s) ago
0.6.0 574 1949 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

  • 493967 total downloads
  • 1804 downloads of current version
  • 69.0 KB package size

Owners and Products

Petabridge Petabridge

Authors

Petabridge

Copyright

Copyright © 2017-2026 Petabridge