Profiling FAQ #5: Why are there two copies of my function in Instrumentation mode function report?

The most common reason for this to occur in Instrumentation mode is that the dll you instrumented is appearing in two different processes. We don't aggregate data from multiple processes. You can see this easily by using vsperfreport.exe -summary:function foo.vsp. If you get foo_1234_FunctionSummary.CSV and foo_5678_FunctionSummary.CSV, that just means your instrumented dlls were loaded in 2 processes with IDs of 1234 and 5678. In the IDE, you can add the Process ID column to verify that the two copies of the function have different IDs.

This can happen easily in ASP.Net if you crash the w3wp.exe process while the monitor is still running. A second w3wp.exe process will start up with a new process ID. It also happens if you have multiple worker processes on a machine running the same app.

Comments

  • Anonymous
    July 25, 2005
    There are a couple of new posts from some of the profiler team members:
     
    Steve Carroll answers...
  • Anonymous
    July 31, 2005
    Cleaning-out my “To Blog” file again…
    Architects

    Handling data in service oriented systemsEdward...
  • Anonymous
    March 06, 2006
    The comment has been removed