perf is a perf tool which accesses the performance counter registers of an machine and gives out metrcismetrics to user to analyseanalyze the system performance.
what iWhat I am curious about is , when iI read the parts of code. iI see perf reading something from a mmemorymemory mapped area (iI feel it reads an area which is been written by the kernel),it it is also reading /proc/modules, but iI could not find any code related to actual read of hardware registers of machine, how actually perf records its samples ? how does it identify what function is an executable is executing ? and how does it know the symbols ?.
- How does perf actually record its samples?
- How does it identify what function is an executable is executing?
- How does it know the symbols?
doesDoes the kernel also hashave a module of perf inside ? apart(apart from /tools to convey the application 'perf' running in user space)?
can any oneCan anyone brief me about the internal working in detail?