Enabling Performance Counters
Performance counters are a mechanism for monitoring services that you can get without changing any code, but you have to ask for them. The values of performance counters give you real-time monitoring information about the operational characteristics of your services. You can control performance counters through configuration.
<system.serviceModel>
<diagnostics performanceCounters="All" />
</system.serviceModel>
The possible settings for the scope of service counters are Off, ServiceOnly, and All. For the actual performance counters, the scopes are finer grained, with different naming schemes depending on the type of data that the performance counter monitors.
- Service scope performance counters look like Service@Address
Endpoint scope performance counters look like Service.Contract\@Address
- Operation scope performance counters look like Service.Contract.Operation@Address
The address is based on the external address of the object being monitored, with some modifications. The addresses are normalized by capitalizing them, replacing certain characters (the forward path separator is replaced by a pipe symbol, for example), and then mangling the address so that it is both short and unique. Addresses that are already short remain essentially readable while addresses that are more than a few dozen characters come out considerably worse for wear.
Next time: Svcutil Tips
Comments
Anonymous
July 18, 2007
You have talked in the past about how a service has both local settings and settings that are sharedAnonymous
July 21, 2007
Just found some useful information: - Extensions to EntLib 3.1 done as as community effort: http://blogs.msdn.com/tomholl/archive/2007/07/17/first-release-of-entlib-contrib.aspxAnonymous
July 25, 2007
Hey Nick, U need to edit that, it should be '<diagnostics performanceCounters="All" />'. When i used 'performanceCountersEnabled', WCF kicked up a fuss.Anonymous
July 25, 2007
You're correct. Adding Enabled is a common typo because that's how the WMI setting is named.