Want to know few things about Hotspot analysis, Number of threads and Sampling interval!
In Hotspot analysis Main function is the first function that will call rest of the functions, then why its not there in the top position of hotspot functions?
I am using less number of threads, but the value for number of threads in hotspot and threading analysis is quite high. So please tell me what does this number of threads represents and have noticed that number of threads value changes sometimes.
What is impact of sampling interval? What should be the ideal value for it.
Thanks and Regards
1. Hotspots analysis is used to identify sections of code that get a lot of execution time (hotspots). VTune Profiler displays a list of functions in your application ordered by the amount of time spent in each function. VTune follows bottom up approach in displaying summary. It wouldn't be useful for anybody if all hotspots are main function.
For more details, refer the below link:
2. Threading analysis is used to identify how efficiently an application uses available processor compute cores and explore inefficiencies in threading runtime usage or contention on threading synchronization that makes threads waiting and prevents effective processor utilization. Thread count change might be due to kernel and system process.
Could you please let us know whether you are profiling an app or systemwide profiling?
Please refer the below link for more information:
3. The sampling interval is used to calculate the target number of samples and the Sample After value (SAV). Increasing the sampling interval may be useful for profiles with long durations or profiles that create large results. To determine an appropriate sampling interval, consider the duration of the collection, the speed of your processors, and the amount of software activity. For instance, if the duration of sampling time is more than 10 minutes, consider increasing the sampling interval to 50 milliseconds.
For more details, please refer the below link:
If you have any further issue, please let us know.
I am profiling an APP in which the number of thread counts changes whenever I change the sampling interval. So what is the reason behind this and what exactly Number of Thread represents?
Also Suppose a Function F1 takes X seconds and another Function F2 calls F1, The rest of the code for F2 takes Y seconds. So what will be the total time reported in hotspot for Function F2 - ?
1. X + Y seconds or
2. Y seconds
Regarding your second query,
The Bottom-up window shows only Self time. The Top-down Tree window and Source/Assembly window show Self time and Total time.
Self time is the time spent in a particular program unit. Total time is the accumulated time that a program unit incurs.
Please refer the below link for detailed information:
Regarding the number of thread counts, we are checking from our end . We will get back to you soon with an update.
Regarding the thread count, we are not able to reproduce the issue. Could you please share the sample reproducer and the sampling intervals you used, so that we can try out the same from our end.