Re: [PATCH v3 1/3] perf report: Change sort order by a specified event in group

From: Jin, Yao
Date: Wed Dec 18 2019 - 02:18:35 EST




On 12/17/2019 5:06 PM, Jiri Olsa wrote:
On Tue, Dec 17, 2019 at 09:47:01AM +0800, Jin, Yao wrote:


On 12/16/2019 3:31 PM, Jiri Olsa wrote:
On Thu, Dec 12, 2019 at 08:33:35PM +0800, Jin Yao wrote:

SNIP


Signed-off-by: Jin Yao <yao.jin@xxxxxxxxxxxxxxx>
---
tools/perf/Documentation/perf-report.txt | 4 +
tools/perf/builtin-report.c | 10 +++
tools/perf/ui/hist.c | 108 +++++++++++++++++++----
tools/perf/util/symbol_conf.h | 1 +
4 files changed, 108 insertions(+), 15 deletions(-)

diff --git a/tools/perf/Documentation/perf-report.txt b/tools/perf/Documentation/perf-report.txt
index 8dbe2119686a..9ade613ef020 100644
--- a/tools/perf/Documentation/perf-report.txt
+++ b/tools/perf/Documentation/perf-report.txt
@@ -371,6 +371,10 @@ OPTIONS
Show event group information together. It forces group output also
if there are no groups defined in data file.
+--group-sort-idx::
+ Sort the output by the event at the index n in group. If n is invalid,
+ sort by the first event. WARNING: This should be used with --group.

--group in record or report?


This --group is in perf-report. So even if it's not created with -e '{}' in
perf-record, it still supports to show event information together.

you can also create groups with -e '{}', not just --group option

I wonder you could check early on 'evlist->nr_groups' and fail
if there's no group defined if the option is enabled


Maybe we don't need to check that because it supports the case of no group
defined.

For example,
perf record -e cycles,instructions
perf report --group --group-sort-idx 1 --stdio

hum, --group will force evlist->nr_groups == 1, right?

so we could warn/fail on (group-sort-idx && !evlist->nr_groups)



Yes, we can. I have added this checking in v4.

SNIP


Thanks. Can we say something as following?

--group-sort-idx::
Sort the output by the event at the index n in group. If n is invalid, sort
by the first event. It can support multiple groups with different amount of
events. WARNING: This should be used with perf report --group.

if the events are already grouped you dont need --group ;-) how about:

This should be used on grouped events.


OK, yes, that's better. I just post v4 which includes this update.

Thanks
Jin Yao

thanks,
jirka