Phobos.TestKit 2.13.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.13.0
dotnet add package Phobos.TestKit --version 2.13.0
<PackageReference Include="Phobos.TestKit" Version="2.13.0" />
paket add Phobos.TestKit --version 2.13.0
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.13.0)
- Akka.TestKit.Xunit2 (>=1.5.71)
- FluentAssertions (>=6.12.0)
- OpenTelemetry.Exporter.InMemory (>=1.15.3)
- xunit (>=2.8.1)
netstandard2.0
- Phobos.Actor (>=2.13.0)
- Akka.TestKit.Xunit2 (>=1.5.71)
- FluentAssertions (>=6.12.0)
- OpenTelemetry.Exporter.InMemory (>=1.15.3)
- xunit (>=2.8.1)
| Version | Downloads | Last Updated | |
|---|---|---|---|
| 2.13.0 Current | 2 | 5 hour(s) ago | |
| 2.12.1 | 29 | 27 day(s) ago | |
| 2.12.0 | 149 | 147 day(s) ago | |
| 2.11.3 | 168 | 168 day(s) ago | |
| 2.11.2 | 175 | 175 day(s) ago | |
| 2.11.1 | 174 | 176 day(s) ago | |
| 2.11.0 | 202 | 204 day(s) ago | |
| 2.10.5 | 229 | 229 day(s) ago | |
| 2.10.4 | 275 | 279 day(s) ago | |
| 2.10.3 | 275 | 279 day(s) ago | |
| 2.10.2 | 341 | 348 day(s) ago | |
| 2.10.1 | 357 | 366 day(s) ago | |
| 2.10.0 | 376 | 385 day(s) ago | |
| 2.9.1 | 385 | 392 day(s) ago | |
| 2.9.0 | 401 | 407 day(s) ago | |
| 2.8.5 | 481 | 481 day(s) ago | |
| 2.8.4 | 531 | 526 day(s) ago | |
| 2.8.3 | 533 | 574 day(s) ago | |
| 2.8.2 | 560 | 608 day(s) ago | |
| 2.8.1 | 527 | 609 day(s) ago | |
| 2.8.0 | 525 | 615 day(s) ago | |
| 2.7.0 | 525 | 622 day(s) ago | |
| 2.6.2 | 527 | 642 day(s) ago | |
| 2.6.1 | 524 | 649 day(s) ago | |
| 2.6.0 | 526 | 657 day(s) ago | |
| 2.5.4 | 552 | 818 day(s) ago | |
| 2.5.3 | 527 | 828 day(s) ago | |
| 2.5.2 | 525 | 834 day(s) ago | |
| 2.5.1 | 562 | 917 day(s) ago | |
| 2.5.0 | 532 | 953 day(s) ago | |
| 2.4.5 | 533 | 987 day(s) ago | |
| 2.4.4 | 528 | 1021 day(s) ago | |
| 2.4.3 | 526 | 1028 day(s) ago | |
| 2.4.2 | 538 | 1100 day(s) ago | |
| 2.4.1 | 630 | 1160 day(s) ago | |
| 2.4.0 | 525 | 1163 day(s) ago | |
| 2.3.1 | 651 | 1218 day(s) ago | |
| 2.3.0 | 693 | 1244 day(s) ago | |
| 2.2.1 | 530 | 1247 day(s) ago | |
| 2.2.0 | 536 | 1300 day(s) ago | |
| 2.2.0-beta2 | 459 | 1302 day(s) ago | |
| 2.1.1 | 529 | 1077 day(s) ago | |
| 2.1.0 | 531 | 1345 day(s) ago | |
| 2.1.0-beta2 | 458 | 1434 day(s) ago | |
| 2.1.0-beta1 | 458 | 1507 day(s) ago | |
| 2.0.6 | 573 | 1566 day(s) ago | |
| 2.0.5 | 528 | 1570 day(s) ago | |
| 2.0.4 | 529 | 1574 day(s) ago | |
| 2.0.3 | 529 | 1581 day(s) ago | |
| 2.0.3-beta1 | 459 | 1594 day(s) ago | |
| 2.0.2 | 543 | 1618 day(s) ago | |
| 2.0.1 | 528 | 1624 day(s) ago | |
| 2.0.0 | 525 | 1625 day(s) ago | |
| 2.0.0-beta4 | 457 | 1650 day(s) ago | |
| 2.0.0-beta3 | 458 | 1694 day(s) ago | |
| 2.0.0-beta2 | 457 | 1695 day(s) ago | |
| 2.0.0-beta1 | 459 | 1701 day(s) ago | |
| 1.6.1 | 532 | 1247 day(s) ago | |
| 1.6.0 | 541 | 1252 day(s) ago | |
| 1.5.1 | 568 | 1625 day(s) ago | |
| 1.5.0 | 527 | 1625 day(s) ago | |
| 1.5.0-beta1 | 458 | 1650 day(s) ago | |
| 1.4.2 | 647 | 1660 day(s) ago | |
| 1.4.1 | 587 | 1695 day(s) ago | |
| 1.4.0 | 528 | 1708 day(s) ago | |
| 1.3.3 | 575 | 1724 day(s) ago | |
| 1.3.2 | 528 | 1737 day(s) ago | |
| 1.3.1 | 523 | 1748 day(s) ago | |
| 1.3.0 | 723 | 1769 day(s) ago | |
| 1.2.5 | 548 | 1806 day(s) ago | |
| 1.2.4 | 643 | 1808 day(s) ago | |
| 1.2.3 | 802 | 1841 day(s) ago | |
| 1.2.2 | 582 | 1862 day(s) ago | |
| 1.2.1 | 524 | 1870 day(s) ago | |
| 1.2.0 | 1,091 | 1924 day(s) ago | |
| 1.1.4 | 651 | 1940 day(s) ago | |
| 1.1.3 | 533 | 1946 day(s) ago | |
| 1.1.2 | 775 | 1966 day(s) ago | |
| 1.1.1 | 978 | 2009 day(s) ago | |
| 1.1.0 | 1,196 | 2067 day(s) ago | |
| 1.0.6 | 608 | 2101 day(s) ago | |
| 1.0.5 | 609 | 2116 day(s) ago | |
| 1.0.4 | 893 | 2137 day(s) ago | |
| 1.0.3 | 605 | 2171 day(s) ago | |
| 1.0.2 | 691 | 2184 day(s) ago | |
| 1.0.1 | 608 | 2184 day(s) ago | |
| 0.8.0 | 605 | 2071 day(s) ago | |
| 0.7.2 | 609 | 2071 day(s) ago | |
| 0.7.1 | 610 | 2071 day(s) ago | |
| 0.7.0 | 606 | 2071 day(s) ago |
**Phobos 2.x Maintenance Release**
**Bug Fixes**
- Fixed receive metrics (and the matching receive-span `messageType` attribute) to label the inner wrapped payload instead of the outer envelope type. Application code that unpacks `IWrappedMessage` envelopes can now get per-message breakdowns by the business message actually being processed, rather than the generic wrapper type. See [phobos-issues#96](https://github.com/petabridge/phobos-issues/issues/96).
- Fixed explicit child and runtime instrumentation settings being overridden for `Cluster.Sharding` entities. A child's own `WithInstrumentation` (and runtime settings) now takes precedence over settings propagated from its parent, so sharded/custom entities can opt out of or fine-tune tracing even when propagation is enabled. See [phobos-issues#98](https://github.com/petabridge/phobos-issues/issues/98).
Info
- last updated 5 hour(s) ago
- Project Site
- License Info
Statistics
- 47169 total downloads
- 2 downloads of current version
- 95.2 KB package size
Owners and Products
Petabridge
Authors
Petabridge
Copyright
Copyright © 2017-2026 Petabridge