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

  • Claude AI Gets Yet Another Boost in VS Code 1.128

    The July 8, 2026, Visual Studio Code update expands agent workflows, chat attachments, browser-tab controls, OS-level shortcuts and enterprise telemetry management.

  • TypeScript 7 Arrives to Rock VS Code with Go-Powered Speed

    Microsoft says TypeScript 7, announced July 8, brings native Go performance to VS Code, Visual Studio and other editors.

  • Full-Stack with a Side of Copilot: Building and Deploying an App the AI-Accelerated Way

    In this Q&A, developer and VSLive! speaker Esteban Garcia explains how GitHub Copilot can accelerate the full software development lifecycle -- from architecture and code to tests, CI/CD, and Azure deployment -- and how to use it as a repeatable engineering workflow rather than just a faster autocomplete tool.

  • VS Code 1.127 Further Integrates Advanced Browser-AI Tech

    Microsoft's July 1 Visual Studio Code update continues a recent push to make the editor's integrated browser a more capable development surface -- and a more useful tool for AI agents.

Subscribe on YouTube