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.1 341 14 day(s) ago
2.12.0 Current 15,098 135 day(s) ago
2.11.3 2,495 156 day(s) ago
2.11.2 349 162 day(s) ago
2.11.1 304 163 day(s) ago
2.11.0 1,839 191 day(s) ago
2.10.5 15,610 216 day(s) ago
2.10.4 6,519 266 day(s) ago
2.10.3 270 266 day(s) ago
2.10.2 28,374 336 day(s) ago
2.10.1 2,588 353 day(s) ago
2.10.0 1,954 372 day(s) ago
2.9.1 739 379 day(s) ago
2.9.0 1,463 394 day(s) ago
2.8.5 11,574 468 day(s) ago
2.8.4 4,514 514 day(s) ago
2.8.3 8,446 561 day(s) ago
2.8.2 3,456 595 day(s) ago
2.8.1 1,152 596 day(s) ago
2.8.0 2,048 603 day(s) ago
2.7.0 1,309 610 day(s) ago
2.6.2 1,720 629 day(s) ago
2.6.1 658 636 day(s) ago
2.6.0 1,681 644 day(s) ago
2.5.4 107,055 805 day(s) ago
2.5.3 1,255 815 day(s) ago
2.5.2 1,111 821 day(s) ago
2.5.1 19,006 904 day(s) ago
2.5.0 24,255 940 day(s) ago
2.4.5 3,030 974 day(s) ago
2.4.4 1,109 1009 day(s) ago
2.4.3 9,921 1016 day(s) ago
2.4.2 12,180 1087 day(s) ago
2.4.1 12,070 1147 day(s) ago
2.4.0 876 1150 day(s) ago
2.3.1 8,721 1205 day(s) ago
2.3.0 13,096 1231 day(s) ago
2.2.1 1,328 1234 day(s) ago
2.2.0 2,348 1288 day(s) ago
2.2.0-beta2 454 1289 day(s) ago
2.1.1 696 1064 day(s) ago
2.1.0 2,295 1333 day(s) ago
2.1.0-beta2 706 1421 day(s) ago
2.1.0-beta1 592 1494 day(s) ago
2.0.6 66,063 1553 day(s) ago
2.0.5 588 1557 day(s) ago
2.0.4 555 1561 day(s) ago
2.0.3 574 1568 day(s) ago
2.0.3-beta1 462 1582 day(s) ago
2.0.2 4,717 1605 day(s) ago
2.0.1 663 1611 day(s) ago
2.0.0 555 1612 day(s) ago
2.0.0-beta4 889 1638 day(s) ago
2.0.0-beta3 906 1681 day(s) ago
2.0.0-beta2 463 1682 day(s) ago
2.0.0-beta1 550 1688 day(s) ago
1.6.1 4,726 1234 day(s) ago
1.6.0 611 1239 day(s) ago
1.5.1 14,195 1612 day(s) ago
1.5.0 520 1612 day(s) ago
1.5.0-beta1 450 1638 day(s) ago
1.4.2 13,159 1647 day(s) ago
1.4.1 2,523 1682 day(s) ago
1.4.0 572 1695 day(s) ago
1.3.3 7,471 1711 day(s) ago
1.3.2 957 1724 day(s) ago
1.3.1 1,012 1735 day(s) ago
1.3.0 7,641 1756 day(s) ago
1.2.5 1,680 1793 day(s) ago
1.2.4 1,220 1795 day(s) ago
1.2.3 3,770 1828 day(s) ago
1.2.2 2,836 1849 day(s) ago
1.2.1 1,196 1857 day(s) ago
1.2.0 2,482 1911 day(s) ago
1.1.4 1,976 1927 day(s) ago
1.1.3 757 1933 day(s) ago
1.1.2 3,917 1953 day(s) ago
1.1.1 6,309 1997 day(s) ago
1.1.0 11,574 2054 day(s) ago
1.0.6 1,071 2088 day(s) ago
1.0.5 726 2103 day(s) ago
1.0.4 2,122 2124 day(s) ago
1.0.3 1,367 2159 day(s) ago
1.0.2 1,752 2171 day(s) ago
1.0.1 604 2171 day(s) ago
0.7.0 36,653 2058 day(s) ago
0.6.1 601 2058 day(s) ago
0.6.0 710 2058 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

  • 550750 total downloads
  • 15098 downloads of current version
  • 69.0 KB package size

Owners and Products

Petabridge Petabridge

Authors

Petabridge

Copyright

Copyright © 2017-2026 Petabridge