Skip to content

Commit

Permalink
perf stat: Introduce print_shadow_stats function
Browse files Browse the repository at this point in the history
Move shadow counters display code into separate function as preparation
for moving it into its own object.

Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/1433341559-31848-7-git-send-email-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
  • Loading branch information
Jiri Olsa authored and Arnaldo Carvalho de Melo committed Jun 8, 2015
1 parent 1eda3b2 commit 556b1fb
Showing 1 changed file with 39 additions and 33 deletions.
72 changes: 39 additions & 33 deletions tools/perf/builtin-stat.c
Original file line number Diff line number Diff line change
Expand Up @@ -1059,43 +1059,11 @@ static void print_ll_cache_misses(int cpu,
fprintf(output, " of all LL-cache hits ");
}

static void abs_printout(int id, int nr, struct perf_evsel *evsel, double avg)
static void print_shadow_stats(struct perf_evsel *evsel, double avg, int cpu)
{
double total, ratio = 0.0, total2;
double sc = evsel->scale;
const char *fmt;
int cpu = cpu_map__id_to_cpu(id);
int ctx = evsel_context(evsel);

if (csv_output) {
fmt = sc != 1.0 ? "%.2f%s" : "%.0f%s";
} else {
if (big_num)
fmt = sc != 1.0 ? "%'18.2f%s" : "%'18.0f%s";
else
fmt = sc != 1.0 ? "%18.2f%s" : "%18.0f%s";
}

aggr_printout(evsel, id, nr);

if (aggr_mode == AGGR_GLOBAL)
cpu = 0;

fprintf(output, fmt, avg, csv_sep);

if (evsel->unit)
fprintf(output, "%-*s%s",
csv_output ? 0 : unit_width,
evsel->unit, csv_sep);

fprintf(output, "%-*s", csv_output ? 0 : 25, perf_evsel__name(evsel));

if (evsel->cgrp)
fprintf(output, "%s%s", csv_sep, evsel->cgrp->name);

if (csv_output || interval)
return;

if (perf_evsel__match(evsel, HARDWARE, HW_INSTRUCTIONS)) {
total = avg_stats(&runtime_cycles_stats[ctx][cpu]);
if (total) {
Expand Down Expand Up @@ -1226,6 +1194,44 @@ static void abs_printout(int id, int nr, struct perf_evsel *evsel, double avg)
}
}

static void abs_printout(int id, int nr, struct perf_evsel *evsel, double avg)
{
double sc = evsel->scale;
const char *fmt;
int cpu = cpu_map__id_to_cpu(id);

if (csv_output) {
fmt = sc != 1.0 ? "%.2f%s" : "%.0f%s";
} else {
if (big_num)
fmt = sc != 1.0 ? "%'18.2f%s" : "%'18.0f%s";
else
fmt = sc != 1.0 ? "%18.2f%s" : "%18.0f%s";
}

aggr_printout(evsel, id, nr);

if (aggr_mode == AGGR_GLOBAL)
cpu = 0;

fprintf(output, fmt, avg, csv_sep);

if (evsel->unit)
fprintf(output, "%-*s%s",
csv_output ? 0 : unit_width,
evsel->unit, csv_sep);

fprintf(output, "%-*s", csv_output ? 0 : 25, perf_evsel__name(evsel));

if (evsel->cgrp)
fprintf(output, "%s%s", csv_sep, evsel->cgrp->name);

if (csv_output || interval)
return;

print_shadow_stats(evsel, avg, cpu);
}

static void print_aggr(char *prefix)
{
struct perf_evsel *counter;
Expand Down

0 comments on commit 556b1fb

Please sign in to comment.