Load Testing with Custom Performance Counters: Listing 1.

The DocumentManager class.

public class DocumentManager
{
  private OperationPerformanceCounterManager m_PerfMonCountersForCreateDocument;

  public DocumentManager()
  {
    string categoryName = "My Application Name";

    // Initialize an OperationPerformanceCounterManager;
    // the Create Document operation
    m_PerfMonCountersForCreateDocument =
      new OperationPerformanceCounterManager(
        categoryName, "Create Document"); 
  }

  public int CreateDocument(string name)
  {
    // Get the start time
    var startTicks = DateTime.Now.Ticks;

    try
    {
      // Perform the operation
      var documentId = DoCreateDocument(name);

      return documentId;
    }
    finally
    {
      // After the operation completes, record how long it took 
      m_PerfMonCountersForCreateDocument.RecordOperation(
        DateTime.Now.Ticks - startTicks);
    }
  }

  private int DoCreateDocument(string name)
  {
    // Do some work            
  }
}

About the Author

Benjamin Day is a consultant, trainer, and author specializing in software development, project management, and leadership. Ben’s main areas of emphasis include Azure DevOps, C#, Angular, Scrum, software testing, and software architecture. He is a Microsoft MVP, a certified Scrum trainer via Scrum.org, and speaks regularly at VSLive. His online courses are available at YouTube and at http://www.pluralsight.com. Ben is also the founder of https://SlideSpeaker.ai. He can be contacted via http://www.benday.com.

comments powered by Disqus

Featured

Subscribe on YouTube