Phobos.TestKit 2.12.0

Framework used for testing applications that have been instrumented using Phobos. Makes it feasible to test using data collected from actor traces, monitoring, and so forth.

Install-Package Phobos.TestKit -Version 2.12.0
dotnet add package Phobos.TestKit --version 2.12.0
<PackageReference Include="Phobos.TestKit" Version="2.12.0" />
paket add Phobos.TestKit --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...
Version Downloads Last Updated
2.12.0 Current 27 26 day(s) ago
2.11.3 49 47 day(s) ago
2.11.2 56 53 day(s) ago
2.11.1 56 55 day(s) ago
2.11.0 84 82 day(s) ago
2.10.5 108 107 day(s) ago
2.10.4 156 157 day(s) ago
2.10.3 156 157 day(s) ago
2.10.2 221 227 day(s) ago
2.10.1 240 244 day(s) ago
2.10.0 259 263 day(s) ago
2.9.1 267 270 day(s) ago
2.9.0 282 285 day(s) ago
2.8.5 360 360 day(s) ago
2.8.4 411 405 day(s) ago
2.8.3 414 452 day(s) ago
2.8.2 441 486 day(s) ago
2.8.1 405 487 day(s) ago
2.8.0 407 494 day(s) ago
2.7.0 406 501 day(s) ago
2.6.2 408 520 day(s) ago
2.6.1 406 527 day(s) ago
2.6.0 407 535 day(s) ago
2.5.4 433 696 day(s) ago
2.5.3 408 706 day(s) ago
2.5.2 407 713 day(s) ago
2.5.1 442 795 day(s) ago
2.5.0 412 831 day(s) ago
2.4.5 414 865 day(s) ago
2.4.4 411 900 day(s) ago
2.4.3 407 907 day(s) ago
2.4.2 419 978 day(s) ago
2.4.1 511 1039 day(s) ago
2.4.0 408 1041 day(s) ago
2.3.1 532 1097 day(s) ago
2.3.0 574 1122 day(s) ago
2.2.1 411 1125 day(s) ago
2.2.0 416 1179 day(s) ago
2.2.0-beta2 339 1180 day(s) ago
2.1.1 409 956 day(s) ago
2.1.0 414 1224 day(s) ago
2.1.0-beta2 339 1312 day(s) ago
2.1.0-beta1 339 1386 day(s) ago
2.0.6 456 1444 day(s) ago
2.0.5 409 1448 day(s) ago
2.0.4 408 1452 day(s) ago
2.0.3 410 1460 day(s) ago
2.0.3-beta1 340 1473 day(s) ago
2.0.2 424 1496 day(s) ago
2.0.1 407 1502 day(s) ago
2.0.0 407 1503 day(s) ago
2.0.0-beta4 339 1529 day(s) ago
2.0.0-beta3 340 1573 day(s) ago
2.0.0-beta2 340 1573 day(s) ago
2.0.0-beta1 339 1579 day(s) ago
1.6.1 413 1125 day(s) ago
1.6.0 422 1131 day(s) ago
1.5.1 449 1503 day(s) ago
1.5.0 407 1503 day(s) ago
1.5.0-beta1 339 1529 day(s) ago
1.4.2 530 1538 day(s) ago
1.4.1 467 1573 day(s) ago
1.4.0 408 1587 day(s) ago
1.3.3 455 1602 day(s) ago
1.3.2 407 1616 day(s) ago
1.3.1 406 1627 day(s) ago
1.3.0 602 1648 day(s) ago
1.2.5 428 1685 day(s) ago
1.2.4 525 1686 day(s) ago
1.2.3 683 1719 day(s) ago
1.2.2 465 1741 day(s) ago
1.2.1 407 1749 day(s) ago
1.2.0 970 1802 day(s) ago
1.1.4 532 1818 day(s) ago
1.1.3 415 1824 day(s) ago
1.1.2 655 1844 day(s) ago
1.1.1 861 1888 day(s) ago
1.1.0 1,076 1945 day(s) ago
1.0.6 491 1979 day(s) ago
1.0.5 489 1994 day(s) ago
1.0.4 776 2015 day(s) ago
1.0.3 488 2050 day(s) ago
1.0.2 574 2062 day(s) ago
1.0.1 489 2062 day(s) ago
0.8.0 488 1949 day(s) ago
0.7.2 489 1949 day(s) ago
0.7.1 489 1949 day(s) ago
0.7.0 487 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

  • 36672 total downloads
  • 27 downloads of current version
  • 91.8 KB package size

Owners and Products

Petabridge Petabridge

Authors

Petabridge

Copyright

Copyright © 2017-2026 Petabridge