perf hists: Use perf_hpp__format->width to calculate the column widths
authorNamhyung Kim <namhyung.kim@lge.com>
Mon, 3 Sep 2012 02:53:08 +0000 (11:53 +0900)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Sat, 8 Sep 2012 16:20:05 +0000 (13:20 -0300)
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1346640790-17197-4-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/ui/hist.c
tools/perf/util/hist.c

index 009adf206c8158d321742aed19265b6c27d7604d..031b349a3f8446ced6dee1de49f4a9ca4a801d14 100644 (file)
@@ -360,3 +360,30 @@ int hist_entry__sort_snprintf(struct hist_entry *he, char *s, size_t size,
 
        return ret;
 }
+
+/*
+ * See hists__fprintf to match the column widths
+ */
+unsigned int hists__sort_list_width(struct hists *hists)
+{
+       struct sort_entry *se;
+       int i, ret = 0;
+
+       for (i = 0; i < PERF_HPP__MAX_INDEX; i++) {
+               if (!perf_hpp__format[i].cond)
+                       continue;
+               if (i)
+                       ret += 2;
+
+               ret += perf_hpp__format[i].width(NULL);
+       }
+
+       list_for_each_entry(se, &hist_entry__sort_list, list)
+               if (!se->elide)
+                       ret += 2 + hists__col_len(hists, se->se_width_idx);
+
+       if (verbose) /* Addr + origin */
+               ret += 3 + BITS_PER_LONG / 4;
+
+       return ret;
+}
index b1817f15bb87340afdf32a2835d3e288ec88acc8..0ba65ad07cd1811e815fd3c81af63ea5ec9537bf 100644 (file)
@@ -563,39 +563,6 @@ void hists__output_resort_threaded(struct hists *hists)
        return __hists__output_resort(hists, true);
 }
 
-/*
- * See hists__fprintf to match the column widths
- */
-unsigned int hists__sort_list_width(struct hists *hists)
-{
-       struct sort_entry *se;
-       int ret = 9; /* total % */
-
-       if (symbol_conf.show_cpu_utilization) {
-               ret += 7; /* count_sys % */
-               ret += 6; /* count_us % */
-               if (perf_guest) {
-                       ret += 13; /* count_guest_sys % */
-                       ret += 12; /* count_guest_us % */
-               }
-       }
-
-       if (symbol_conf.show_nr_samples)
-               ret += 11;
-
-       if (symbol_conf.show_total_period)
-               ret += 13;
-
-       list_for_each_entry(se, &hist_entry__sort_list, list)
-               if (!se->elide)
-                       ret += 2 + hists__col_len(hists, se->se_width_idx);
-
-       if (verbose) /* Addr + origin */
-               ret += 3 + BITS_PER_LONG / 4;
-
-       return ret;
-}
-
 static void hists__remove_entry_filter(struct hists *hists, struct hist_entry *h,
                                       enum hist_filter filter)
 {