Phobos.TestKit 2.11.1
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.11.1
dotnet add package Phobos.TestKit --version 2.11.1
<PackageReference Include="Phobos.TestKit" Version="2.11.1" />
paket add Phobos.TestKit --version 2.11.1
Paket is a third-party, open source alternative to the NuGet client.
# Phobos

[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
- Phobos.Actor (>=2.11.1)
- Akka.TestKit.Xunit2 (>=1.5.63)
- FluentAssertions (>=6.12.0)
- OpenTelemetry.Exporter.InMemory (>=1.11.2)
- xunit (>=2.8.1)
netstandard2.0
- Phobos.Actor (>=2.11.1)
- Akka.TestKit.Xunit2 (>=1.5.63)
- FluentAssertions (>=6.12.0)
- OpenTelemetry.Exporter.InMemory (>=1.11.2)
- xunit (>=2.8.1)
| Version | Downloads | Last Updated | |
|---|---|---|---|
| 2.11.1 Current | 0 | 2 hour(s) ago | |
| 2.11.0 | 29 | 27 day(s) ago | |
| 2.10.5 | 53 | 52 day(s) ago | |
| 2.10.4 | 101 | 102 day(s) ago | |
| 2.10.3 | 101 | 102 day(s) ago | |
| 2.10.2 | 166 | 172 day(s) ago | |
| 2.10.1 | 185 | 189 day(s) ago | |
| 2.10.0 | 204 | 209 day(s) ago | |
| 2.9.1 | 212 | 215 day(s) ago | |
| 2.9.0 | 227 | 230 day(s) ago | |
| 2.8.5 | 305 | 305 day(s) ago | |
| 2.8.4 | 356 | 350 day(s) ago | |
| 2.8.3 | 359 | 398 day(s) ago | |
| 2.8.2 | 386 | 431 day(s) ago | |
| 2.8.1 | 350 | 432 day(s) ago | |
| 2.8.0 | 352 | 439 day(s) ago | |
| 2.7.0 | 351 | 446 day(s) ago | |
| 2.6.2 | 353 | 465 day(s) ago | |
| 2.6.1 | 351 | 472 day(s) ago | |
| 2.6.0 | 352 | 480 day(s) ago | |
| 2.5.4 | 378 | 641 day(s) ago | |
| 2.5.3 | 353 | 651 day(s) ago | |
| 2.5.2 | 352 | 658 day(s) ago | |
| 2.5.1 | 387 | 740 day(s) ago | |
| 2.5.0 | 357 | 776 day(s) ago | |
| 2.4.5 | 358 | 810 day(s) ago | |
| 2.4.4 | 356 | 845 day(s) ago | |
| 2.4.3 | 352 | 852 day(s) ago | |
| 2.4.2 | 363 | 923 day(s) ago | |
| 2.4.1 | 456 | 984 day(s) ago | |
| 2.4.0 | 353 | 986 day(s) ago | |
| 2.3.1 | 476 | 1042 day(s) ago | |
| 2.3.0 | 518 | 1067 day(s) ago | |
| 2.2.1 | 355 | 1070 day(s) ago | |
| 2.2.0 | 361 | 1124 day(s) ago | |
| 2.2.0-beta2 | 283 | 1125 day(s) ago | |
| 2.1.1 | 353 | 901 day(s) ago | |
| 2.1.0 | 358 | 1169 day(s) ago | |
| 2.1.0-beta2 | 283 | 1257 day(s) ago | |
| 2.1.0-beta1 | 283 | 1331 day(s) ago | |
| 2.0.6 | 400 | 1389 day(s) ago | |
| 2.0.5 | 353 | 1393 day(s) ago | |
| 2.0.4 | 353 | 1397 day(s) ago | |
| 2.0.3 | 354 | 1405 day(s) ago | |
| 2.0.3-beta1 | 285 | 1418 day(s) ago | |
| 2.0.2 | 369 | 1441 day(s) ago | |
| 2.0.1 | 352 | 1448 day(s) ago | |
| 2.0.0 | 352 | 1448 day(s) ago | |
| 2.0.0-beta4 | 284 | 1474 day(s) ago | |
| 2.0.0-beta3 | 285 | 1518 day(s) ago | |
| 2.0.0-beta2 | 284 | 1518 day(s) ago | |
| 2.0.0-beta1 | 284 | 1524 day(s) ago | |
| 1.6.1 | 357 | 1070 day(s) ago | |
| 1.6.0 | 366 | 1076 day(s) ago | |
| 1.5.1 | 394 | 1448 day(s) ago | |
| 1.5.0 | 351 | 1448 day(s) ago | |
| 1.5.0-beta1 | 284 | 1474 day(s) ago | |
| 1.4.2 | 475 | 1483 day(s) ago | |
| 1.4.1 | 411 | 1518 day(s) ago | |
| 1.4.0 | 352 | 1532 day(s) ago | |
| 1.3.3 | 399 | 1547 day(s) ago | |
| 1.3.2 | 352 | 1561 day(s) ago | |
| 1.3.1 | 351 | 1572 day(s) ago | |
| 1.3.0 | 547 | 1593 day(s) ago | |
| 1.2.5 | 372 | 1630 day(s) ago | |
| 1.2.4 | 469 | 1631 day(s) ago | |
| 1.2.3 | 628 | 1664 day(s) ago | |
| 1.2.2 | 410 | 1686 day(s) ago | |
| 1.2.1 | 352 | 1694 day(s) ago | |
| 1.2.0 | 915 | 1747 day(s) ago | |
| 1.1.4 | 476 | 1763 day(s) ago | |
| 1.1.3 | 359 | 1769 day(s) ago | |
| 1.1.2 | 599 | 1789 day(s) ago | |
| 1.1.1 | 806 | 1833 day(s) ago | |
| 1.1.0 | 1,020 | 1890 day(s) ago | |
| 1.0.6 | 436 | 1924 day(s) ago | |
| 1.0.5 | 433 | 1939 day(s) ago | |
| 1.0.4 | 721 | 1960 day(s) ago | |
| 1.0.3 | 433 | 1995 day(s) ago | |
| 1.0.2 | 519 | 2007 day(s) ago | |
| 1.0.1 | 434 | 2007 day(s) ago | |
| 0.8.0 | 433 | 1894 day(s) ago | |
| 0.7.2 | 433 | 1894 day(s) ago | |
| 0.7.1 | 434 | 1894 day(s) ago | |
| 0.7.0 | 432 | 1894 day(s) ago |
**Phobos 2.x Maintenance Release**
**Bug Fixes**
- Fixed trace context parent-child chain breaking when messages are buffered by `ShardRegionProxy` during shard allocation. Previously, `ShardingBufferMessageAdapter` failed to capture `UsableContext` as a fallback when `ActiveSpan` was null (the common case with default sharding filter settings), and `UnApply()` did not restore trace context before message delivery - causing distributed traces to lose their propagated context across ShardRegion/Proxy buffer flushes. See [#1487](https://github.com/petabridge/phobos/pull/1487).
**Improvements**
- Upgraded to [Akka.NET v1.5.63](https://github.com/akkadotnet/akka.net/releases/tag/1.5.63) and [Akka.Hosting v1.5.63](https://github.com/akkadotnet/Akka.Hosting/releases/tag/1.5.63) for latest stability and performance improvements.
Info
- last updated 2 hour(s) ago
- Project Site
- License Info
Statistics
- 31836 total downloads
- 0 downloads of current version
- 90.8 KB package size
Owners and Products
Petabridge
Authors
Petabridge
Copyright
Copyright © 2017-2026 Petabridge