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 4,854 50 day(s) ago
2.11.3 2,189 70 day(s) ago
2.11.2 263 77 day(s) ago
2.11.1 153 78 day(s) ago
2.11.0 1,718 106 day(s) ago
2.10.5 9,777 131 day(s) ago
2.10.4 5,699 181 day(s) ago
2.10.3 184 181 day(s) ago
2.10.2 23,922 251 day(s) ago
2.10.1 2,504 268 day(s) ago
2.10.0 1,734 287 day(s) ago
2.9.1 652 294 day(s) ago
2.9.0 1,379 309 day(s) ago
2.8.5 11,439 383 day(s) ago
2.8.4 4,357 428 day(s) ago
2.8.3 8,335 476 day(s) ago
2.8.2 3,216 510 day(s) ago
2.8.1 1,066 511 day(s) ago
2.8.0 1,962 517 day(s) ago
2.7.0 1,225 524 day(s) ago
2.6.2 1,634 544 day(s) ago
2.6.1 574 551 day(s) ago
2.6.0 1,598 559 day(s) ago
2.5.4 100,484 720 day(s) ago
2.5.3 1,171 730 day(s) ago
2.5.2 1,028 736 day(s) ago
2.5.1 18,526 819 day(s) ago
2.5.0 19,032 855 day(s) ago
2.4.5 2,944 889 day(s) ago
2.4.4 1,024 923 day(s) ago
2.4.3 9,718 930 day(s) ago
2.4.2 10,344 1002 day(s) ago
2.4.1 11,987 1062 day(s) ago
2.4.0 790 1065 day(s) ago
2.3.1 8,635 1120 day(s) ago
2.3.0 12,363 1146 day(s) ago
2.2.1 1,245 1149 day(s) ago
2.2.0 2,265 1202 day(s) ago
2.2.0-beta2 368 1204 day(s) ago
2.1.1 611 979 day(s) ago
2.1.0 2,209 1247 day(s) ago
2.1.0-beta2 623 1336 day(s) ago
2.1.0-beta1 509 1409 day(s) ago
2.0.6 65,975 1468 day(s) ago
2.0.5 505 1472 day(s) ago
2.0.4 472 1476 day(s) ago
2.0.3 488 1483 day(s) ago
2.0.3-beta1 379 1496 day(s) ago
2.0.2 4,634 1520 day(s) ago
2.0.1 580 1526 day(s) ago
2.0.0 469 1527 day(s) ago
2.0.0-beta4 806 1552 day(s) ago
2.0.0-beta3 823 1596 day(s) ago
2.0.0-beta2 380 1597 day(s) ago
2.0.0-beta1 467 1603 day(s) ago
1.6.1 4,643 1149 day(s) ago
1.6.0 528 1154 day(s) ago
1.5.1 14,110 1527 day(s) ago
1.5.0 437 1527 day(s) ago
1.5.0-beta1 367 1552 day(s) ago
1.4.2 13,036 1562 day(s) ago
1.4.1 2,440 1597 day(s) ago
1.4.0 488 1610 day(s) ago
1.3.3 7,388 1626 day(s) ago
1.3.2 873 1639 day(s) ago
1.3.1 929 1650 day(s) ago
1.3.0 7,557 1671 day(s) ago
1.2.5 1,597 1708 day(s) ago
1.2.4 1,134 1710 day(s) ago
1.2.3 3,684 1743 day(s) ago
1.2.2 2,752 1764 day(s) ago
1.2.1 1,113 1772 day(s) ago
1.2.0 2,399 1826 day(s) ago
1.1.4 1,891 1842 day(s) ago
1.1.3 674 1848 day(s) ago
1.1.2 3,834 1868 day(s) ago
1.1.1 6,226 1911 day(s) ago
1.1.0 11,488 1969 day(s) ago
1.0.6 988 2003 day(s) ago
1.0.5 642 2018 day(s) ago
1.0.4 2,039 2039 day(s) ago
1.0.3 1,284 2073 day(s) ago
1.0.2 1,668 2086 day(s) ago
1.0.1 521 2086 day(s) ago
0.7.0 36,569 1973 day(s) ago
0.6.1 518 1973 day(s) ago
0.6.0 625 1973 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

  • 506730 total downloads
  • 4854 downloads of current version
  • 69.0 KB package size

Owners and Products

Petabridge Petabridge

Authors

Petabridge

Copyright

Copyright © 2017-2026 Petabridge