As you can see in the above table, there are quite a few performance counters available in version 2 of the .NET Compact Framework. Compared to version 1, the counters are more detailed, provide greater insight on the operation of the runtime and allow for a better understanding of application performance issues.Considering the length of the previous post and the increased number of performance counters available in version 2, I will be discussing the new counters by their categories. With each new installment, I will re-post the above table, along with an example file, and highlight the counters being discussed by setting the background color to yellow.The statistics file includes running totals, the most recent value (last datum), count (n), average (mean), minimum and maximum values for the counters. I've included an example file at the end of this post. For counters where a given column is not relevant, a hyphen (-) is logged.I will use the following format to describe each counter.Counter nameBrief description of the counterDiscussion of the contents of relevant columns (total, last datum, n, mean, min, max)Any additional comments relating to the counterLoader CountersThe first category of counters that I will cover are related to the loader. The loader is the portion of the runtime which is responsible for resolving and loading the components (assemblies, classes, etc) referenced by your application.Total Program Run Time (ms)The length of time your application ran (from the start of the Common Language Runtime).total: Time in millisecondsApp Domains CreatedThe number of App Domains created in the application's process.total: Running total of created App DomainsApp Domains UnloadedThe number of App Domains that were unloaded during the run time of the application.total: Running total of unloaded App DomainsAssemblies LoadedThe number of assemblies loaded (across all App Domains) on behalf of the application.total: Running total of loaded assembliesClasses LoadedThe number of classes loaded (across all App Domains) during the run time of the application.total: Running total of loaded classesMethods LoadedThe total number of methods loaded (across all App Domains) during the run time of the application.total: Running total of loaded methodsIf you are comparing the version 1 and version 2 counters, you may have noticed that version 2 no longer collects the Execution Engine Startup Time. Since applications cannot impact the Execution Engine's startup time, the counter is not relevant to application writers and was removed from version 2 of the .NET Compact Framework.Example statistics fileThe following is an example statistics file (formerly known as mscoree.stat) that shows the data collected by running a simple application. As with the counters table, above, I have highlighted the counters discussed here with a yellow background. As this series continues, I will re-use this same example file and highlight the counters discussed in each post.
Take care,-- DK[Edit: update counter table to fix errors][Edit: post title]Disclaimer(s):This posting is provided "AS IS" with no warranties, and confers no rights.