Re: [PATCH v5 7/7] perf report: Sort by sampled cycles percent per block for tui

From: Jin, Yao
Date: Fri Nov 01 2019 - 09:05:19 EST




On 11/1/2019 4:34 PM, Jiri Olsa wrote:
On Wed, Oct 30, 2019 at 02:04:30PM +0800, Jin Yao wrote:

SNIP

+
static int perf_evlist__tty_browse_hists(struct evlist *evlist,
struct report *rep,
const char *help)
@@ -605,6 +624,11 @@ static int report__browse_hists(struct report *rep)
switch (use_browser) {
case 1:
+ if (rep->total_cycles_mode) {
+ ret = perf_evlist__tui_block_hists_browse(evlist, rep);
+ break;
+ }

does this have sense only for cycles event? what if I do:
# perf record -b -e cycles,cache-misses

jirka


It can report both cycles and cache-misses. But I use a simple way.

When I run 'perf report --total-cycles', it displays the window for the first event ('cycles') by default. For example,

# Samples: 8384 of event 'cycles'
Sampled Cycles% Sampled Cycles Avg Cycles% Avg Cycles
...

Once I press 'q' to quit current window, it then switches to another window for the second event ('cache-misses'). For example,

# Samples: 7072 of event 'cache-misses'
Sampled Cycles% Sampled Cycles Avg Cycles% Avg Cycles
...

Thanks
Jin Yao

+
ret = perf_evlist__tui_browse_hists(evlist, help, NULL,
rep->min_percent,
&session->header.env,
@@ -1408,12 +1432,8 @@ int cmd_report(int argc, const char **argv)
if (report.total_cycles_mode) {
if (sort__mode != SORT_MODE__BRANCH)
report.total_cycles_mode = false;
- else if (!report.use_stdio) {
- pr_err("Error: --total-cycles can be only used together with --stdio\n");
- goto error;
- } else {
+ else
sort_order = "sym";
- }
}
if (strcmp(input_name, "-") != 0)

SNIP