Getting Started
Architecture
NServiceBus
Transports
Persistence
ServiceInsight
ServicePulse
ServiceControl
Monitoring
Samples

Measuring system throughput

The Particular endpoint throughput counter tool can typically be installed on a user's workstation and run against a production system to measure the throughput of each endpoint over a period of time.

Installation

The tool can be installed as a .NET tool for Windows/Linux or as a self-contained Windows executable.

.NET tool (recommended)

  1. Install .NET 6.0.

  2. From a terminal window, use the following command to install the throughput counter:

    dotnet tool install -g Particular.EndpointThroughputCounter --add-source https://f.feedz.io/particular-software/packages/nuget/index.json
    
  3. Run the tool by executing throughput-counter:

    throughput-counter [command] [options]
    

Self-contained executable

In this mode, the target system does not need any version of .NET preinstalled.

  1. Download the self-contained Windows executable.

  2. Unzip the downloaded file.

  3. Open a terminal window and navigate to folder to which it was downloaded.

  4. Execute the tool from the terminal by using its full name:

    Particular.EndpointThroughputCounter.exe [command] [options]
    

Running the tool

The tool can collect data using a variety of methods depending upon the system's configuration. To run the tool, select the relevant article based on the message transport used in the system to be measured:

If the system uses MSMQ or Azure Storage Queues but does not use ServiceControl, this tool cannot be used to measure throughput. Email contact@particular.net for instructions on estimating system throughput.

Masking private data

The report that is generated will contain the names of endpoints/queues. If the queue names themselves contain confidential or proprietary information, certain strings can be masked in the report file.

throughput-counter [command] [options] --queueNameMasks Samples

This will result in a report file with masked data, such as:

{
    "QueueName": "***.RabbitMQ.SimpleReceiver",
    "Throughput": 0
}

Updating

To update the tool to the latest version, execute the following command in a terminal window:

dotnet tool update -g Particular.EndpointThroughputCounter --add-source https://f.feedz.io/particular-software/packages/nuget/index.json

Uninstalling

To uninstall the tool, execute the following command in a terminal window:

dotnet tool uninstall -g Particular.EndpointThroughputCounter

Questions

Check out frequently asked questions (FAQ) about the endpoint throughput counter tool.

Related Articles