Answered by:
Elapsed Inclusive Time

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.exeThe 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 AddressTuesday, 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