Getting Started
Architecture
NServiceBus
Transports
Persistence
ServiceInsight
ServicePulse
ServiceControl
Monitoring
Modernization
Samples

Write metrics to the trace log

Component: Metrics
NuGet Package: NServiceBus.Metrics 6-pre
Target Version: NServiceBus 10.x
This page targets a pre-release version. Pre-releases are subject to change and samples are not guaranteed to be fully functional.

This sample demonstrates how to write metrics information to the trace log.

There are many ways to look at the trace log. One way is to use the DbgView utility provided by Sysinternals.

DbgView by Sysinternals

Running the sample

  1. Run the solution in the Visual Studio debugger. A console application will start.
  2. Press the 'enter' key to send a message.
  3. Check the Visual Studio debug output window for metrics information being written to the trace log.

Sending metrics data to Trace Log

var metrics = endpointConfiguration.EnableMetrics();

metrics.RegisterObservers(
    register: context =>
    {
        foreach (var duration in context.Durations)
        {
            duration.Register(
                observer: (ref DurationEvent @event) =>
                {
                    Trace.WriteLine(
                        $"Duration: '{duration.Name}'. Value: '{@event.Duration}' ({@event.MessageType})");
                });
        }

        foreach (var signal in context.Signals)
        {
            signal.Register(
                observer: (ref SignalEvent @event) =>
                {
                    Trace.WriteLine($"Signal: '{signal.Name}' ({@event.MessageType})");
                });
        }
    });

Related Articles

  • Metrics
    Collect metric data about endpoint performance using the Metrics plugin.