CascadeFlow.NServiceBus
1.5.0
dotnet add package CascadeFlow.NServiceBus --version 1.5.0
NuGet\Install-Package CascadeFlow.NServiceBus -Version 1.5.0
<PackageReference Include="CascadeFlow.NServiceBus" Version="1.5.0" />
<PackageVersion Include="CascadeFlow.NServiceBus" Version="1.5.0" />
<PackageReference Include="CascadeFlow.NServiceBus" />
paket add CascadeFlow.NServiceBus --version 1.5.0
#r "nuget: CascadeFlow.NServiceBus, 1.5.0"
#:package CascadeFlow.NServiceBus@1.5.0
#addin nuget:?package=CascadeFlow.NServiceBus&version=1.5.0
#tool nuget:?package=CascadeFlow.NServiceBus&version=1.5.0
CascadeFlow.NServiceBus
Zero-config telemetry for NServiceBus endpoints. Automatically captures message flows, endpoint topology, and performance metrics.
Requirements
- .NET 10 or later
- NServiceBus 9.x
Using .NET Framework? See CascadeFlow.NServiceBus.Framework for .NET Framework 4.7.2+ with NServiceBus 8.x.
Installation
dotnet add package CascadeFlow.NServiceBus
Quick Start
That's it! Once installed, the package automatically registers telemetry behaviors via INeedInitialization. No code changes required.
By default, telemetry is sent to http://localhost:5100.
Running the Collector
Start the Cascade Collector using Docker (zero-config with SQLite):
docker run -d -p 5100:8080 ghcr.io/erik-mostert/cascade-collector:main
That's it! The collector uses SQLite by default - no database setup required.
Persist Data Across Restarts
Mount a volume to keep your data:
docker run -d -p 5100:8080 -v cascade-data:/data ghcr.io/erik-mostert/cascade-collector:main
Use SQL Server (Optional)
For production scale, provide a SQL Server connection string:
docker run -d -p 5100:8080 \
-e "ConnectionStrings__CascadeDb=Server=your-server;Database=CascadeCollector;User Id=sa;Password=YourPassword;TrustServerCertificate=True;" \
ghcr.io/erik-mostert/cascade-collector:main
Configuration
Environment Variables (Zero-Config)
| Variable | Default | Description |
|---|---|---|
CASCADE_COLLECTOR_URL |
http://localhost:5100 |
Collector API URL |
CASCADE_ENDPOINT_NAME |
Auto-detected | Endpoint identifier |
CASCADE_HOST_ID |
Machine name | Host/instance identifier |
CASCADE_ENABLED |
true |
Set to false to disable |
CASCADE_API_KEY |
(none) | API key for authentication (if collector requires it) |
Explicit Configuration
var endpointConfiguration = new EndpointConfiguration("MyEndpoint");
endpointConfiguration.UseCascade(options =>
{
options.CollectorUrl = "http://localhost:5100";
options.EndpointName = "MyEndpoint";
options.HostId = "instance-1";
options.IncludeHeaders = true;
options.BufferSize = 1000;
options.ApiKey = "csk_your-api-key"; // If collector requires authentication
});
Disable Telemetry
endpointConfiguration.DisableCascade();
Or via environment variable:
CASCADE_ENABLED=false
What Gets Captured
- Message send/receive events
- Processing duration
- Success/failure status
- Message headers and correlation IDs
- Endpoint topology (who talks to whom)
Links
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- CascadeFlow.Core (>= 1.5.0)
- NServiceBus (>= 9.2.7)
- NServiceBus.Persistence.Sql (>= 8.2.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.5.0 | 122 | 1/9/2026 |
| 1.4.0 | 116 | 1/8/2026 |
| 1.3.0 | 123 | 1/8/2026 |
| 1.2.0 | 120 | 1/6/2026 |
| 1.1.0 | 120 | 1/4/2026 |
| 1.0.2-dev.39 | 81 | 1/3/2026 |
| 1.0.2-dev.37 | 77 | 1/3/2026 |
| 1.0.0 | 120 | 1/3/2026 |
See https://github.com/erik-mostert/Cascade/releases for release notes.