
This is the Title of the Book, eMatter Edition
Copyright © 2007 O’Reilly & Associates, Inc. All rights reserved.
470
|
Chapter 8: Diagnostics
Discussion
The CreateComplexCounter method returns two PerformanceCounter objects as out
parameters; one is the counter, the other is the base counter. These two counters are
used in tandem; the base counter controls some aspect of the denominator in the cal-
culation relating these two counters. Since the value of the
appCounter parameter,
returned from this method, depends on the value in the
appBaseCounter parameter,
we are considering these types of counters as complex counters.
The ASPNET user account, as well as many other user accounts by
default, prevent performance counters from being read. You can either
increase the permissions allowed for these accounts or use imperson-
ation with an account that has access to enable this functionality.
However, this then becomes a deployment requirement of your appli-
cation. Decreasing security for the
ASPNET account or other user
accounts may very well be frowned upon by IT folks deploying your
application.
This method operates similarly to the CreateSimpleCounter method described in
Recipe 8.11. The one major difference is that two
CounterCreationData objects are
created and added to the
CounterCreationDataCollection object. This first Counter-
CreationData
object is the main counter used in the calculation for this ...