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 7,423 73 day(s) ago
2.11.3 2,268 94 day(s) ago
2.11.2 286 100 day(s) ago
2.11.1 196 102 day(s) ago
2.11.0 1,750 129 day(s) ago
2.10.5 11,497 154 day(s) ago
2.10.4 5,984 204 day(s) ago
2.10.3 208 204 day(s) ago
2.10.2 25,499 274 day(s) ago
2.10.1 2,527 291 day(s) ago
2.10.0 1,789 310 day(s) ago
2.9.1 675 317 day(s) ago
2.9.0 1,402 332 day(s) ago
2.8.5 11,486 406 day(s) ago
2.8.4 4,396 452 day(s) ago
2.8.3 8,365 499 day(s) ago
2.8.2 3,267 533 day(s) ago
2.8.1 1,089 534 day(s) ago
2.8.0 1,985 541 day(s) ago
2.7.0 1,249 548 day(s) ago
2.6.2 1,657 567 day(s) ago
2.6.1 597 574 day(s) ago
2.6.0 1,621 582 day(s) ago
2.5.4 102,377 743 day(s) ago
2.5.3 1,195 753 day(s) ago
2.5.2 1,051 759 day(s) ago
2.5.1 18,629 842 day(s) ago
2.5.0 20,388 878 day(s) ago
2.4.5 2,968 912 day(s) ago
2.4.4 1,047 947 day(s) ago
2.4.3 9,742 954 day(s) ago
2.4.2 10,940 1025 day(s) ago
2.4.1 12,010 1085 day(s) ago
2.4.0 814 1088 day(s) ago
2.3.1 8,658 1144 day(s) ago
2.3.0 12,957 1169 day(s) ago
2.2.1 1,268 1172 day(s) ago
2.2.0 2,288 1226 day(s) ago
2.2.0-beta2 392 1227 day(s) ago
2.1.1 636 1002 day(s) ago
2.1.0 2,233 1271 day(s) ago
2.1.0-beta2 646 1359 day(s) ago
2.1.0-beta1 532 1433 day(s) ago
2.0.6 66,003 1491 day(s) ago
2.0.5 528 1495 day(s) ago
2.0.4 495 1499 day(s) ago
2.0.3 511 1506 day(s) ago
2.0.3-beta1 402 1520 day(s) ago
2.0.2 4,657 1543 day(s) ago
2.0.1 603 1549 day(s) ago
2.0.0 493 1550 day(s) ago
2.0.0-beta4 829 1576 day(s) ago
2.0.0-beta3 846 1620 day(s) ago
2.0.0-beta2 403 1620 day(s) ago
2.0.0-beta1 490 1626 day(s) ago
1.6.1 4,666 1172 day(s) ago
1.6.0 551 1177 day(s) ago
1.5.1 14,133 1550 day(s) ago
1.5.0 460 1550 day(s) ago
1.5.0-beta1 390 1576 day(s) ago
1.4.2 13,071 1585 day(s) ago
1.4.1 2,463 1620 day(s) ago
1.4.0 511 1633 day(s) ago
1.3.3 7,411 1649 day(s) ago
1.3.2 896 1662 day(s) ago
1.3.1 952 1674 day(s) ago
1.3.0 7,580 1695 day(s) ago
1.2.5 1,620 1732 day(s) ago
1.2.4 1,158 1733 day(s) ago
1.2.3 3,708 1766 day(s) ago
1.2.2 2,775 1788 day(s) ago
1.2.1 1,136 1796 day(s) ago
1.2.0 2,422 1849 day(s) ago
1.1.4 1,915 1865 day(s) ago
1.1.3 697 1871 day(s) ago
1.1.2 3,857 1891 day(s) ago
1.1.1 6,249 1935 day(s) ago
1.1.0 11,512 1992 day(s) ago
1.0.6 1,011 2026 day(s) ago
1.0.5 666 2041 day(s) ago
1.0.4 2,062 2062 day(s) ago
1.0.3 1,307 2097 day(s) ago
1.0.2 1,692 2109 day(s) ago
1.0.1 544 2109 day(s) ago
0.7.0 36,592 1996 day(s) ago
0.6.1 541 1996 day(s) ago
0.6.0 649 1996 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

  • 519444 total downloads
  • 7423 downloads of current version
  • 69.0 KB package size

Owners and Products

Petabridge Petabridge

Authors

Petabridge

Copyright

Copyright © 2017-2026 Petabridge