The --fields option is to allow user setup output field in any order.
It can recieve any sort keys and following (hpp) fields:

  overhead, overhead_sys, overhead_us, sample and period

If guest profiling is enabled, overhead_guest_{sys,us} will be
available too.

More more information, please see previous patch "perf report:
Add -F option to specify output fields"

Signed-off-by: Namhyung Kim <namhy...@kernel.org>
---
 tools/perf/Documentation/perf-top.txt | 9 +++++++++
 tools/perf/builtin-top.c              | 7 +++++++
 2 files changed, 16 insertions(+)

diff --git a/tools/perf/Documentation/perf-top.txt 
b/tools/perf/Documentation/perf-top.txt
index 64ed79c43639..feac28017419 100644
--- a/tools/perf/Documentation/perf-top.txt
+++ b/tools/perf/Documentation/perf-top.txt
@@ -115,6 +115,15 @@ Default is to monitor all CPUS.
        Sort by key(s): pid, comm, dso, symbol, parent, srcline, weight,
        local_weight, abort, in_tx, transaction
 
+--fields=::
+       Specify output field - multiple keys can be specified in CSV format.
+       Following fields are available:
+       overhead, overhead_sys, overhead_us, sample and period.
+       Also it can contain any sort key(s).
+
+       By default, every sort keys not specified in --field will be appended
+       automatically.
+
 -n::
 --show-nr-samples::
        Show a column with the number of samples.
diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c
index 9309629394dd..7d133dff5e15 100644
--- a/tools/perf/builtin-top.c
+++ b/tools/perf/builtin-top.c
@@ -1085,6 +1085,8 @@ int cmd_top(int argc, const char **argv, const char 
*prefix __maybe_unused)
        OPT_STRING('s', "sort", &sort_order, "key[,key2...]",
                   "sort by key(s): pid, comm, dso, symbol, parent, weight, 
local_weight,"
                   " abort, in_tx, transaction"),
+       OPT_STRING(0, "fields", &field_order, "key[,keys...]",
+                  "output field(s): overhead, period, sample plus all of sort 
keys"),
        OPT_BOOLEAN('n', "show-nr-samples", &symbol_conf.show_nr_samples,
                    "Show a column with the number of samples"),
        OPT_CALLBACK_NOOPT('g', NULL, &top.record_opts,
@@ -1149,6 +1151,11 @@ int cmd_top(int argc, const char **argv, const char 
*prefix __maybe_unused)
 
        perf_hpp__init();
 
+       if (setup_output_field() < 0) {
+               parse_options_usage(top_usage, options, "fields", 0);
+               goto out_delete_evlist;
+       }
+
        if (top.use_stdio)
                use_browser = 0;
        else if (top.use_tui)
-- 
1.9.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to