Object Call Profiling

This profiling method is similar to Monte Carlo profiling. Because it works in much the same way it is included here.

The object call profiling method monitors all the accesses to the kernel routine that performs system API calls and memorizes the number of calls to this routine. The function only calls system API functions; therefore a user application cannot be monitored using this method.

Object handles are not memorized, and the result will indicate only the number of hits for each kernel function that manipulates kernel objects. This method is consequently better suited to internal than user purposes.

The following data is produced by object profiling on a Windows CE image that is based on a sample configuration that includes and runs a user application appli1.

Total samples recorded = 62868

Module        Hits        Percent
------------  ----------  -------
coredll.dll        62864     99.9
ndis.dll               4      0.0

Hits        Percent      Address  Module       Routine
----------  -------     --------  ------------:---------------------
     31423       49     01df320a  coredll.dll :_xxx_EventModify
     31421       49     01df3278  coredll.dll :_xxx_WaitForSingleObject
         6        0     01df3237  coredll.dll :_xxx_Sleep
         5        0     01df36e7  coredll.dll :_xxx_U_rread
         4        0     01df3db1  coredll.dll :_EnterCriticalSection
         4        0     01df3e03  coredll.dll :_LeaveCriticalSection
         4        0     01d35524  ndis.dll    :_INdisGetTickCountLarge
         1        0     01e03c6a  coredll.dll :_ProfileStop

The results clearly indicate that events are very often used in this Windows CE image, but do not tell anything about the type of the events and the processes.

The buffering method available for process profiling is not available for object call profiling.

 Last updated on Friday, October 08, 2004

© 1992-2003 Microsoft Corporation. All rights reserved.