This plugin can be enabled and configured with the ServicePlatform Connector plugin.
Starting with version 8, NServiceBus supports OpenTelemetry as an alternative to the NServiceBus.
package. See the NServiceBus OpenTelemetry documentation for further information.
The Metrics plugin collects metric data about the performance of running endpoints. This data can be forwarded to a ServiceControl monitoring instance and viewed in ServicePulse.
To see performance monitoring in action, try the standalone demo.
For a full list of the performance metrics captured and their formal definitions, see Metric definitions.
Set up metrics
To enable collecting metrics in an environment:
- Install a ServiceControl monitoring instance
- Install and configure the ServiceControl Metrics plugin in each endpoint
- (MSMQ Transport only) Install the MSMQ queue length reporter in each endpoint
- View the performance data collected for endpoints in ServicePulse
NServiceBus monitoring setup tutorial is an in-depth, step-by-step tutorial about installing and configuring everything to get the most out of performance monitoring.
Performance impact on system resources
A ServiceControl monitoring instance is more lightweight than a regular ServiceControl instance. Nevertheless, it is not recommended to host a monitoring instance on the same machine as production endpoint instances.
Wire usage
Each endpoint instance collects performance metrics, which are buffered and then sent. A single metrics message contains a batch of values written in a compact binary format, making reporting very lightweight.
Storage usage
A Service Control Monitoring instance processes Metrics. The metric data is stored in RAM only. Logfiles are still written to disk. The metrics data are stored for at most one hour. A 100MB process can hold state for at least 100 endpoint instances.
CPU usage
The metrics service is only performing simple summing aggregation logic. The CPU usage is low.
Reporting metric data to other places
- Metrics can be reported to Windows Performance Counters.
- Observing raw metric data allows reporting to any 3rd party metric database.