perf report: Add option to show total period
Just like --show-nr-samples, to help in diagnosing problems in the tools. Cc: David Ahern <dsahern@gmail.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Mike Galbraith <efault@gmx.de> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> Link: http://lkml.kernel.org/n/tip-1lr7ejdjfvy2uwy2wkmatcpq@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
@@ -137,6 +137,8 @@ OPTIONS
|
|||||||
-M::
|
-M::
|
||||||
--disassembler-style=:: Set disassembler style for objdump.
|
--disassembler-style=:: Set disassembler style for objdump.
|
||||||
|
|
||||||
|
--show-total-period:: Show a column with the sum of periods.
|
||||||
|
|
||||||
SEE ALSO
|
SEE ALSO
|
||||||
--------
|
--------
|
||||||
linkperf:perf-stat[1]
|
linkperf:perf-stat[1]
|
||||||
|
@@ -486,6 +486,8 @@ static const struct option options[] = {
|
|||||||
OPT_STRING('c', "cpu", &cpu_list, "cpu", "list of cpus to profile"),
|
OPT_STRING('c', "cpu", &cpu_list, "cpu", "list of cpus to profile"),
|
||||||
OPT_STRING('M', "disassembler-style", &disassembler_style, "disassembler style",
|
OPT_STRING('M', "disassembler-style", &disassembler_style, "disassembler style",
|
||||||
"Specify disassembler style (e.g. -M intel for intel syntax)"),
|
"Specify disassembler style (e.g. -M intel for intel syntax)"),
|
||||||
|
OPT_BOOLEAN(0, "show-total-period", &symbol_conf.show_total_period,
|
||||||
|
"Show a column with the sum of periods"),
|
||||||
OPT_END()
|
OPT_END()
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -664,6 +664,13 @@ int hist_entry__snprintf(struct hist_entry *self, char *s, size_t size,
|
|||||||
ret += snprintf(s + ret, size - ret, "%11" PRIu64, nr_events);
|
ret += snprintf(s + ret, size - ret, "%11" PRIu64, nr_events);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (symbol_conf.show_total_period) {
|
||||||
|
if (sep)
|
||||||
|
ret += snprintf(s + ret, size - ret, "%c%" PRIu64, *sep, period);
|
||||||
|
else
|
||||||
|
ret += snprintf(s + ret, size - ret, " %12" PRIu64, period);
|
||||||
|
}
|
||||||
|
|
||||||
if (pair_hists) {
|
if (pair_hists) {
|
||||||
char bf[32];
|
char bf[32];
|
||||||
double old_percent = 0, new_percent = 0, diff;
|
double old_percent = 0, new_percent = 0, diff;
|
||||||
@@ -770,6 +777,13 @@ size_t hists__fprintf(struct hists *hists, struct hists *pair,
|
|||||||
fputs(" Samples ", fp);
|
fputs(" Samples ", fp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (symbol_conf.show_total_period) {
|
||||||
|
if (sep)
|
||||||
|
ret += fprintf(fp, "%cPeriod", *sep);
|
||||||
|
else
|
||||||
|
ret += fprintf(fp, " Period ");
|
||||||
|
}
|
||||||
|
|
||||||
if (symbol_conf.show_cpu_utilization) {
|
if (symbol_conf.show_cpu_utilization) {
|
||||||
if (sep) {
|
if (sep) {
|
||||||
ret += fprintf(fp, "%csys", *sep);
|
ret += fprintf(fp, "%csys", *sep);
|
||||||
@@ -834,6 +848,8 @@ size_t hists__fprintf(struct hists *hists, struct hists *pair,
|
|||||||
fprintf(fp, "# ........");
|
fprintf(fp, "# ........");
|
||||||
if (symbol_conf.show_nr_samples)
|
if (symbol_conf.show_nr_samples)
|
||||||
fprintf(fp, " ..........");
|
fprintf(fp, " ..........");
|
||||||
|
if (symbol_conf.show_total_period)
|
||||||
|
fprintf(fp, " ............");
|
||||||
if (pair) {
|
if (pair) {
|
||||||
fprintf(fp, " ..........");
|
fprintf(fp, " ..........");
|
||||||
if (show_displacement)
|
if (show_displacement)
|
||||||
@@ -917,6 +933,9 @@ unsigned int hists__sort_list_width(struct hists *hists)
|
|||||||
if (symbol_conf.show_nr_samples)
|
if (symbol_conf.show_nr_samples)
|
||||||
ret += 11;
|
ret += 11;
|
||||||
|
|
||||||
|
if (symbol_conf.show_total_period)
|
||||||
|
ret += 13;
|
||||||
|
|
||||||
list_for_each_entry(se, &hist_entry__sort_list, list)
|
list_for_each_entry(se, &hist_entry__sort_list, list)
|
||||||
if (!se->elide)
|
if (!se->elide)
|
||||||
ret += 2 + hists__col_len(hists, se->se_width_idx);
|
ret += 2 + hists__col_len(hists, se->se_width_idx);
|
||||||
|
@@ -72,6 +72,7 @@ struct symbol_conf {
|
|||||||
use_modules,
|
use_modules,
|
||||||
sort_by_name,
|
sort_by_name,
|
||||||
show_nr_samples,
|
show_nr_samples,
|
||||||
|
show_total_period,
|
||||||
use_callchain,
|
use_callchain,
|
||||||
exclude_other,
|
exclude_other,
|
||||||
show_cpu_utilization,
|
show_cpu_utilization,
|
||||||
|
Reference in New Issue
Block a user