The samples given by OProfile in the flat report, are they the samples for the function itself, or they are the samples for the function itself plus samples for the functions it calls? I tried to look at the docs, tutorials but could not find a concrete answer. My feeling is that it is samples for self, more precisely, the number of samples when the CPU is executing instructions for the body of the function but not in the function it calls.
1
There are 1 best solutions below
Related Questions in PROFILING
- How to profile a Yii2 based API?
- "Capture GPU Frame" in XCode -- iOS only?
- How does one debug infinite recursion in Haskell?
- What is the procedure for profiling under GHC 7.10.1 and cabal 1.23?
- Visual Studio 2013 unable to create diagnostic report
- Xdebug profiling shows different execution time than actual one
- Application is faster when profiling
- Why is this script slowing down per item with increased amount of input?
- ASP.NET MVC application profiling
- Memory leak due to Window.EfectiveValues retention
- Can't get golang pprof working
- What is difference between "node --prof" and using node-profiler
- Improve performance on processing a big pandas dataframe
- Visualvm thread started count
- optimize arithmetic operations with stl vector
Related Questions in OPROFILE
- Clearer labelling from oprofile
- PMU Cache Events on Intel i7 (Ivy Bridge)
- Opreport does not show results
- Ubuntu 2.6.35 vmlinux image for kernel profiling using oprofile
- Oprofile error on android devices. oprofiled: too many events passed
- OProfile sample means self or inclusive?
- Can oprofile be made to use a directory other than /root/.oprofile?
- How can I get OProfile / Xenoprof to use event counters when running on EC2?
- oprofile isn't sampling LLC_MISSES cache events
- How to find if debug information only contains relative paths or absolute paths?
- Why does my program spent 85% of CPU cycles in _fini?
- What is the difference between profilers that need recompiling and those that do not?
- opreport seems to report the wrong template instantiation
- system profiling - usage information of shared libraries
- What is the difference between PM_DATA_ALL* and PM_DATA* events on Power8?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
It's hard to tell from the doc, but if you have turned on stack sampling, it seems to say that every return address on the stack is treated as if it is a program-counter sample. If it does that, then the time would be inclusive, provided it handles recursion properly.
To handle recursion properly, if a function appears more than once on a sample, it should only be counted once.
Also, I can't tell from the doc if the samples are suspended during I/O or sleeps, which they should not be, unless you want to be blind to those.