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                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="NServiceBus.Community.SimpleStatistics" Version="3.0.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add NServiceBus.Community.SimpleStatistics --version 3.0.0                
#r "nuget: NServiceBus.Community.SimpleStatistics, 3.0.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// 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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
3.0.0 200 12/10/2022
2.0.0 175 12/10/2022
1.0.0 187 12/10/2022