NServiceBus.Community.SimpleStatistics
3.0.0
dotnet add package NServiceBus.Community.SimpleStatistics --version 3.0.0
NuGet\Install-Package NServiceBus.Community.SimpleStatistics -Version 3.0.0
<PackageReference Include="NServiceBus.Community.SimpleStatistics" Version="3.0.0" />
paket add NServiceBus.Community.SimpleStatistics --version 3.0.0
#r "nuget: NServiceBus.Community.SimpleStatistics, 3.0.0"
// Install NServiceBus.Community.SimpleStatistics as a Cake Addin #addin nuget:?package=NServiceBus.Community.SimpleStatistics&version=3.0.0 // Install NServiceBus.Community.SimpleStatistics as a Cake Tool #tool nuget:?package=NServiceBus.Community.SimpleStatistics&version=3.0.0
NServiceBus.SimpleStatistics
Get live throughput statistics of your NServiceBus endpoint performance.
Version compatibility
NServiceBus | NServiceBus.SimpleStatistics | Target |
---|---|---|
v5.x | v1.x | net452 |
v6.x | v2.x | net452 |
v7.x | v3.x | net452 / netstandard2.0 |
Please note that there might be versions targeting other NServiceBus versions. Please check the Releases for all versions. or check the root of the default branch of the repository.
Features
The following features are provided:
- Show high level statistics in the console title
- Show detailed statistics in the NServiceBus log or configured NServiceBus logger
The detailed statistics shows statistics for various fixed periods.
The statistics are:
- Processed successfully (Success)
- Processing failures (Failure)
- Total retrieved messages (Total)
The fixed periods are:
- Average per second (
Avg
) - Total since start (
Tot
) - Current completed interval (
Cur
) - Interval maximums (
Max
)
Note that the interval is configuration but it is not possible to define multiple custom reporting intervals.
Log output example
The following is an example of the statistics written to the log at each reporting interval:
Avg> Success: 5 (100,00%), Failure: 0 ( 0,00%) Total: 5 Period: 0:00:00:01,0000000 Duration: 198,90µs
Tot> Success: 1.479 (100,00%), Failure: 0 ( 0,00%) Total: 1.479 Period: 0:00:04:15,1140000 Duration: 171,55µs
Cur> Success: 0 ( 0,00%), Failure: 0 ( 0,00%) Total: 0 Period: 0:00:00:01,0000000 Duration: NaNµs
Max> Success: 51 (100,00%), Failure: 0 ( 0,00%) Total: 51 Period: 0:00:00:00,0000000 Duration: 141,87µs
Uptime: 00:04:15.1140000
Note that lines in log file are prefixed with timestamp and logger name.
Installation
NuGet
Install the NuGet package NServiceBus.SimpleStatistics
Install-Package NServiceBus.Community.SimpleStatistics
Note that the package name contains Community.
as Particular Software has enabled package suffic protection on NuGet.org
Drop in deployment
The assembly can be deployed without requiring to recompile. Recompile the process and the component will automatically be enabled by NServiceBus.
Configuration
Settings can be configured via the app.config
app settings;
<appSettings>
<add key="NServiceBus/SimpleStatistics/OutputConsoleTitle" value="True"/>
<add key="NServiceBus/SimpleStatistics/OutputLog" value="True"/>
<add key="NServiceBus/SimpleStatistics/IntervalMilliSeconds" value="15000"/>
</appSettings>
Report to console title
Default: False (Disabled)
The OutputConsoleTitle
settings controls if every report interval statistics will be updated in the console title.
The logic will append | Avg:{0:N}/s Last:{1:N}/s, Max:{2:N}/s
to the existing title.
Title format
Note that if the title is updated with a different name that the title will be reset with the value used at startup.
Report to configured logger
Default: True (Enabled)
The OutputLog
settings controls if every report interval statistics will be logged.
Reporting interval
Default: 3600000 (Hourly)
The IntervalMilliSeconds
setting controls the reporting interval.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net452 is compatible. net46 was computed. net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.5.2
- NServiceBus (>= 7.8.1 && < 8.0.0)
-
.NETStandard 2.0
- NServiceBus (>= 7.8.1 && < 8.0.0)
- System.Configuration.ConfigurationManager (>= 4.7.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.