locked
Elapsed Inclusive Time RRS feed

  • Question

  • I want to see the time spent in each function including time spent in system calls. According to the docs the column I should look at is "Elapsed Inclusive Time", but that column does not appear in any report.

    I'm collecting data using the command:
    vsperfcmd /start:sample /output:d:\perf /waitstart /timer /launch:myApp.exe

    The columns available are:

    Function Name
    Exclusive Samples
    Inclusive Samples
    Exclusive Allocations
    Inclusive Allocations
    Exclusive Bytes Allocated
    Inclusive Bytes Allocated
    Line Number
    Source File Name
    Module Name
    Module Path
    Process Name
    Exclusive Percent
    Inclusive Percent
    Exclusive Allocations Percent
    Inclusive Allocations Percent
    Exclusive Bytes Percent
    Inclusive Bytes Percent
    Process ID
    Unique Process ID
    Unique ID
    Module Identifier
    Function Address

    Tuesday, October 31, 2006 2:58 AM

Answers

  • Bryce,

    You are not seeing that column as you are currently using sampling mode of the profiler. Unlike instrumentation mode sampling just samples program execution on some regular cycle, so it does not tell you exact times (the bonus of sampling is that it has much lower collection overhead compared to instrumentation mode). So you will only see absolute time columns (such as Elapsed Inclusive Time) in instrumentation mode. For sampling Inclusive Sample Percent may be what you want to look at. That column will tell you the percent of total execution time spent in that function and all sub functions.

     

    Thanks,

    Ian

    Monday, November 6, 2006 5:33 PM
  • Yeah, I think that your best bet for finding IO hotspots would be to look at ETW event collection. Our profiler is not a kernal profile, so it doesn't really suit your scenario.

    Ian

    Monday, November 13, 2006 6:35 PM

All replies

  • Bryce,

    You are not seeing that column as you are currently using sampling mode of the profiler. Unlike instrumentation mode sampling just samples program execution on some regular cycle, so it does not tell you exact times (the bonus of sampling is that it has much lower collection overhead compared to instrumentation mode). So you will only see absolute time columns (such as Elapsed Inclusive Time) in instrumentation mode. For sampling Inclusive Sample Percent may be what you want to look at. That column will tell you the percent of total execution time spent in that function and all sub functions.

     

    Thanks,

    Ian

    Monday, November 6, 2006 5:33 PM
  • Thanks, I realized that eventually and retried using the instrumentation mode. Unfortunately in that mode my app, which normally takes about 5 minutes to run, generated a vsp file that was about 5GB in size. Needless to say any timing information collected was hopelessly skewed (I'm trying to locate I/O hot spots).

    I know you can't collect direct execution time using sampling, but it is possible to collect the percent of time spent in each function inclusive of system calls, which is what I need.  The "Inclusive Sample Percent" would be perfect except that it excludes time in kernel, which I really need to know in order to determine where my threads are getting hung up on I/O.

    Tuesday, November 7, 2006 10:17 PM
  • Yeah, I think that your best bet for finding IO hotspots would be to look at ETW event collection. Our profiler is not a kernal profile, so it doesn't really suit your scenario.

    Ian

    Monday, November 13, 2006 6:35 PM