DevCounters

A simple framework that allows end-users to painlessly use Windows performance counters in their applications
Download

DevCounters Ranking & Summary

Advertisement

  • Rating:
  • License:
  • GPL
  • Publisher Name:
  • Nick Bitounis
  • Operating Systems:
  • Windows All
  • File Size:
  • 219 KB

DevCounters Tags


DevCounters Description

DevCounters was designed to provide a simple framework that allows end-users to painlessly use Windows performance counters in their applications. Performance counters provide a method of providing metrics for your application, an area of focus that is often overlooked or underestimated. Although performance counters are easy to monitor, the necessary code to use them is considered tedious at best. DevCounters emphasizes on taking some of the repetitive work of using performance counters off the developer's shoulders. Provided functionality and limitations The library's main goal is to provide quick and hassle-free access to performance counters through shorthands. These are arbitrary names that a developer assigns to a counter and uses them through the application source to access them. Shorthands can be used to access plain performance counters or performance counter instances. DevCounters also provides an automatic method of using several counter instances of a specific metric (for example, transactions per second performed) and creating a unique, totaling counter that adds values of all counter instances. Counter instances and totaling counters are commonly used in scenarios where a system or custom metric occurs several times (for example, on a dual core system both CPU cores have an interrupts per second counter and there is a totaling counter labed _Total that is the sum of both). Finally, DevCounters provides a queue scheme for publishing counters. The hosting application effectively requests changes to performance counters by changing their values by placing these requests on a queue. DevCounters uses a background timer to peel requests off the queue and process them. DevCounters was created mostly with an outlook towards integration with a hosting application at design time. This imposes a limitation to its use, namely the fact that library users are assumed to know beforehand the names of performance counters that will be used. That is not meant to imply that the library cannot be used in a smart way (for example, a design where objects are created through custom proxies may provide significant code savings if you need to have lots of performance counter instances but your basic metrics are few). But if dynamic counter creation is required for existing runtime libraries, you may want to look at aspect oriented programming as well.


DevCounters Related Software