perf hists: Reset width of output fields with header length
Some fields missed to set default column length so it broke align in
--stdio output.  Add perf_hpp__reset_width() to set it to a sane
default value.
Note that this change will ignore -w/--column-widths option for now.
Before:
  $ perf report -F cpu,comm,overhead --stdio
  ...
  # CPU          Command  Overhead
  #   ...............  ........
  #
    0          firefox     2.65%
    0      kworker/0:0     1.45%
    0          swapper     5.52%
    0         synergys     0.92%
    1          firefox     4.54%
After:
  # CPU          Command  Overhead
  # ...  ...............  ........
  #
      0          firefox     2.65%
      0      kworker/0:0     1.45%
      0          swapper     5.52%
      0         synergys     0.92%
      1          firefox     4.54%
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Link: http://lkml.kernel.org/r/1400480762-22852-17-git-send-email-namhyung@kernel.org
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
			
			
This commit is contained in:
		| @@ -1089,6 +1089,18 @@ bool perf_hpp__same_sort_entry(struct perf_hpp_fmt *a, struct perf_hpp_fmt *b) | ||||
| 	return hse_a->se == hse_b->se; | ||||
| } | ||||
|  | ||||
| void perf_hpp__reset_width(struct perf_hpp_fmt *fmt, struct hists *hists) | ||||
| { | ||||
| 	struct hpp_sort_entry *hse; | ||||
|  | ||||
| 	if (!perf_hpp__is_sort_entry(fmt)) | ||||
| 		return; | ||||
|  | ||||
| 	hse = container_of(fmt, struct hpp_sort_entry, hpp); | ||||
| 	hists__new_col_len(hists, hse->se->se_width_idx, | ||||
| 			   strlen(hse->se->se_header)); | ||||
| } | ||||
|  | ||||
| static int __sort__hpp_header(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, | ||||
| 			      struct perf_evsel *evsel) | ||||
| { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user