perf diff: Move diff related columns into diff command
[deliverable/linux.git] / tools / perf / ui / hist.c
index 5440d56d884ae1f92104b69c455a34e415fd5d33..dc900d7a190e374ca751e4a20354eac36c62eb14 100644 (file)
@@ -163,215 +163,6 @@ HPP_PERCENT_FNS(overhead_guest_us, "guest usr", period_guest_us, 9, 8)
 HPP_RAW_FNS(samples, "Samples", nr_events, 12, 12)
 HPP_RAW_FNS(period, "Period", period, 12, 12)
 
-
-static int hpp__header_baseline(struct perf_hpp_fmt *fmt __maybe_unused,
-                               struct perf_hpp *hpp)
-{
-       return scnprintf(hpp->buf, hpp->size, "Baseline");
-}
-
-static int hpp__width_baseline(struct perf_hpp_fmt *fmt __maybe_unused,
-                              struct perf_hpp *hpp __maybe_unused)
-{
-       return 8;
-}
-
-static double baseline_percent(struct hist_entry *he)
-{
-       struct hist_entry *pair = hist_entry__next_pair(he);
-       struct hists *pair_hists = pair ? pair->hists : NULL;
-       double percent = 0.0;
-
-       if (pair) {
-               u64 total_period = pair_hists->stats.total_period;
-               u64 base_period  = pair->stat.period;
-
-               percent = 100.0 * base_period / total_period;
-       }
-
-       return percent;
-}
-
-static int hpp__color_baseline(struct perf_hpp_fmt *fmt __maybe_unused,
-                              struct perf_hpp *hpp, struct hist_entry *he)
-{
-       double percent = baseline_percent(he);
-
-       if (hist_entry__has_pairs(he) || symbol_conf.field_sep)
-               return percent_color_snprintf(hpp->buf, hpp->size, " %6.2f%%", percent);
-       else
-               return scnprintf(hpp->buf, hpp->size, "        ");
-}
-
-static int hpp__entry_baseline(struct perf_hpp_fmt *_fmt __maybe_unused,
-                              struct perf_hpp *hpp, struct hist_entry *he)
-{
-       double percent = baseline_percent(he);
-       const char *fmt = symbol_conf.field_sep ? "%.2f" : " %6.2f%%";
-
-       if (hist_entry__has_pairs(he) || symbol_conf.field_sep)
-               return scnprintf(hpp->buf, hpp->size, fmt, percent);
-       else
-               return scnprintf(hpp->buf, hpp->size, "            ");
-}
-
-static int hpp__header_period_baseline(struct perf_hpp_fmt *_fmt __maybe_unused,
-                                      struct perf_hpp *hpp)
-{
-       const char *fmt = symbol_conf.field_sep ? "%s" : "%12s";
-
-       return scnprintf(hpp->buf, hpp->size, fmt, "Period Base");
-}
-
-static int hpp__width_period_baseline(struct perf_hpp_fmt *fmt __maybe_unused,
-                                     struct perf_hpp *hpp __maybe_unused)
-{
-       return 12;
-}
-
-static int hpp__entry_period_baseline(struct perf_hpp_fmt *_fmt __maybe_unused,
-                                     struct perf_hpp *hpp, struct hist_entry *he)
-{
-       struct hist_entry *pair = hist_entry__next_pair(he);
-       u64 period = pair ? pair->stat.period : 0;
-       const char *fmt = symbol_conf.field_sep ? "%" PRIu64 : "%12" PRIu64;
-
-       return scnprintf(hpp->buf, hpp->size, fmt, period);
-}
-
-static int hpp__header_delta(struct perf_hpp_fmt *_fmt __maybe_unused,
-                            struct perf_hpp *hpp)
-{
-       const char *fmt = symbol_conf.field_sep ? "%s" : "%7s";
-
-       return scnprintf(hpp->buf, hpp->size, fmt, "Delta");
-}
-
-static int hpp__width_delta(struct perf_hpp_fmt *fmt __maybe_unused,
-                           struct perf_hpp *hpp __maybe_unused)
-{
-       return 7;
-}
-
-static int hpp__entry_delta(struct perf_hpp_fmt *_fmt __maybe_unused,
-                           struct perf_hpp *hpp, struct hist_entry *he)
-{
-       struct hist_entry *pair = hist_entry__next_pair(he);
-       const char *fmt = symbol_conf.field_sep ? "%s" : "%7.7s";
-       char buf[32] = " ";
-       double diff = 0.0;
-
-       if (pair) {
-               if (he->diff.computed)
-                       diff = he->diff.period_ratio_delta;
-               else
-                       diff = perf_diff__compute_delta(he, pair);
-       } else
-               diff = perf_diff__period_percent(he, he->stat.period);
-
-       if (fabs(diff) >= 0.01)
-               scnprintf(buf, sizeof(buf), "%+4.2F%%", diff);
-
-       return scnprintf(hpp->buf, hpp->size, fmt, buf);
-}
-
-static int hpp__header_ratio(struct perf_hpp_fmt *_fmt __maybe_unused,
-                            struct perf_hpp *hpp)
-{
-       const char *fmt = symbol_conf.field_sep ? "%s" : "%14s";
-
-       return scnprintf(hpp->buf, hpp->size, fmt, "Ratio");
-}
-
-static int hpp__width_ratio(struct perf_hpp_fmt *fmt __maybe_unused,
-                           struct perf_hpp *hpp __maybe_unused)
-{
-       return 14;
-}
-
-static int hpp__entry_ratio(struct perf_hpp_fmt *_fmt __maybe_unused,
-                           struct perf_hpp *hpp, struct hist_entry *he)
-{
-       struct hist_entry *pair = hist_entry__next_pair(he);
-       const char *fmt = symbol_conf.field_sep ? "%s" : "%14s";
-       char buf[32] = " ";
-       double ratio = 0.0;
-
-       if (pair) {
-               if (he->diff.computed)
-                       ratio = he->diff.period_ratio;
-               else
-                       ratio = perf_diff__compute_ratio(he, pair);
-       }
-
-       if (ratio > 0.0)
-               scnprintf(buf, sizeof(buf), "%+14.6F", ratio);
-
-       return scnprintf(hpp->buf, hpp->size, fmt, buf);
-}
-
-static int hpp__header_wdiff(struct perf_hpp_fmt *_fmt __maybe_unused,
-                            struct perf_hpp *hpp)
-{
-       const char *fmt = symbol_conf.field_sep ? "%s" : "%14s";
-
-       return scnprintf(hpp->buf, hpp->size, fmt, "Weighted diff");
-}
-
-static int hpp__width_wdiff(struct perf_hpp_fmt *fmt __maybe_unused,
-                           struct perf_hpp *hpp __maybe_unused)
-{
-       return 14;
-}
-
-static int hpp__entry_wdiff(struct perf_hpp_fmt *_fmt __maybe_unused,
-                           struct perf_hpp *hpp, struct hist_entry *he)
-{
-       struct hist_entry *pair = hist_entry__next_pair(he);
-       const char *fmt = symbol_conf.field_sep ? "%s" : "%14s";
-       char buf[32] = " ";
-       s64 wdiff = 0;
-
-       if (pair) {
-               if (he->diff.computed)
-                       wdiff = he->diff.wdiff;
-               else
-                       wdiff = perf_diff__compute_wdiff(he, pair);
-       }
-
-       if (wdiff != 0)
-               scnprintf(buf, sizeof(buf), "%14ld", wdiff);
-
-       return scnprintf(hpp->buf, hpp->size, fmt, buf);
-}
-
-static int hpp__header_formula(struct perf_hpp_fmt *_fmt __maybe_unused,
-                              struct perf_hpp *hpp)
-{
-       const char *fmt = symbol_conf.field_sep ? "%s" : "%70s";
-
-       return scnprintf(hpp->buf, hpp->size, fmt, "Formula");
-}
-
-static int hpp__width_formula(struct perf_hpp_fmt *fmt __maybe_unused,
-                             struct perf_hpp *hpp __maybe_unused)
-{
-       return 70;
-}
-
-static int hpp__entry_formula(struct perf_hpp_fmt *_fmt __maybe_unused,
-                             struct perf_hpp *hpp, struct hist_entry *he)
-{
-       struct hist_entry *pair = hist_entry__next_pair(he);
-       const char *fmt = symbol_conf.field_sep ? "%s" : "%-70s";
-       char buf[96] = " ";
-
-       if (pair)
-               perf_diff__formula(he, pair, buf, sizeof(buf));
-
-       return scnprintf(hpp->buf, hpp->size, fmt, buf);
-}
-
 #define HPP__COLOR_PRINT_FNS(_name)                    \
        {                                               \
                .header = hpp__header_ ## _name,        \
@@ -388,19 +179,13 @@ static int hpp__entry_formula(struct perf_hpp_fmt *_fmt __maybe_unused,
        }
 
 struct perf_hpp_fmt perf_hpp__format[] = {
-       HPP__COLOR_PRINT_FNS(baseline),
        HPP__COLOR_PRINT_FNS(overhead),
        HPP__COLOR_PRINT_FNS(overhead_sys),
        HPP__COLOR_PRINT_FNS(overhead_us),
        HPP__COLOR_PRINT_FNS(overhead_guest_sys),
        HPP__COLOR_PRINT_FNS(overhead_guest_us),
        HPP__PRINT_FNS(samples),
-       HPP__PRINT_FNS(period),
-       HPP__PRINT_FNS(period_baseline),
-       HPP__PRINT_FNS(delta),
-       HPP__PRINT_FNS(ratio),
-       HPP__PRINT_FNS(wdiff),
-       HPP__PRINT_FNS(formula)
+       HPP__PRINT_FNS(period)
 };
 
 LIST_HEAD(perf_hpp__list);
@@ -421,6 +206,8 @@ LIST_HEAD(perf_hpp__list);
 
 void perf_hpp__init(void)
 {
+       perf_hpp__column_enable(PERF_HPP__OVERHEAD);
+
        if (symbol_conf.show_cpu_utilization) {
                perf_hpp__column_enable(PERF_HPP__OVERHEAD_SYS);
                perf_hpp__column_enable(PERF_HPP__OVERHEAD_US);
This page took 0.03669 seconds and 5 git commands to generate.