Re: [PATCH v2 3/5] perf report: Sort by sampled cycles percent per block for stdio

From: Jin, Yao
Date: Wed Oct 16 2019 - 09:09:32 EST




On 10/16/2019 8:53 PM, Jiri Olsa wrote:
On Wed, Oct 16, 2019 at 06:51:07PM +0800, Jin, Yao wrote:


On 10/16/2019 6:15 PM, Jiri Olsa wrote:
On Tue, Oct 15, 2019 at 10:53:18PM +0800, Jin, Yao wrote:

SNIP

+static struct block_header_column{
+ const char *name;
+ int width;
+} block_columns[PERF_HPP_REPORT__BLOCK_MAX_INDEX] = {
+ [PERF_HPP_REPORT__BLOCK_TOTAL_CYCLES_COV] = {
+ .name = "Sampled Cycles%",
+ .width = 15,
+ },
+ [PERF_HPP_REPORT__BLOCK_LBR_CYCLES] = {
+ .name = "Sampled Cycles",
+ .width = 14,
+ },
+ [PERF_HPP_REPORT__BLOCK_CYCLES_PCT] = {
+ .name = "Avg Cycles%",
+ .width = 11,
+ },
+ [PERF_HPP_REPORT__BLOCK_AVG_CYCLES] = {
+ .name = "Avg Cycles",
+ .width = 10,
+ },
+ [PERF_HPP_REPORT__BLOCK_RANGE] = {
+ .name = "[Program Block Range]",
+ .width = 70,
+ },
+ [PERF_HPP_REPORT__BLOCK_DSO] = {
+ .name = "Shared Object",
+ .width = 20,
+ }
};

so we already have support for multiple columns,
why don't you add those as 'struct sort_entry' objects?


For 'struct sort_entry' objects, do you mean I should reuse the "sort_dso"
which has been implemented yet in util/sort.c?

For other columns, it looks we can't reuse the existing sort_entry objects.

I did not mean reuse, just add new sort entries
to current sort framework


Does it seem like what the c2c does?

well c2c has its own data output with multiline column titles,
hence it has its own separate dimension stuff, but your code
output is within the standard perf report right? single column
output.. why couldn't you use just sort_entry ?

jirka


No, my output is probably not within standard perf report. They are
totally 6 columns but only one column ('Sampled Cycles%') needs to be sorted. Other columns are not sorted. They only output some information.

For sort_entry, maybe the sorted column ('Sampled Cycles%') can use sort_entry, but others may not need it. So I don't know if I really need the sort_entry for my case.

I just feel maybe I still misunderstand what you have suggested. :(

Thanks
Jin Yao