perf tools report: Implement browsing of individual samples
Now report can show whole time periods with perf script,
but the user still has to find individual samples of interest
manually.
It would be expensive and complicated to search for the
right samples in the whole perf file. Typically users
only need to look at a small number of samples for useful
analysis.
Also the full scripts tend to show samples of all CPUs and all
threads mixed up, which can be very confusing on larger systems.
Add a new --samples option to save a small random number of samples
per hist entry
Use a reservoir sample technique to select a representatve
number of samples.
Then allow browsing the samples using perf script
as part of the hist entry context menu. This automatically
adds the right filters, so only the thread or cpu of the sample
is displayed. Then we use less' search functionality
to directly jump the to the time stamp of the selected
sample.
It uses different menus for assembler and source display.
Assembler needs xed installed and source needs debuginfo.
Currently it only supports as many samples as fit on
the screen due to some limitations in the slang ui code.
Signed-off-by: Andi Kleen <ak@linux.intel.com>
11 files changed