Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1255061

[PATCH 7/9] perf, tools, stat: Move non counting counter printing to printout

From Andi Kleen <andi@firstfloor.org>
Newsgroups linux.kernel
Subject [PATCH 7/9] perf, tools, stat: Move non counting counter printing to printout
Date 2015-10-24 02:10 +0200
Message-ID <qmUzf-k2-1@gated-at.bofh.it> (permalink)
References <qmUpz-8l3-5@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


From: Andi Kleen <ak@linux.intel.com>

Move the special case printing for non-running counters to
printout, so it can be shared by all the output options.

Signed-off-by: Andi Kleen <ak@linux.intel.com>
---
 tools/perf/builtin-stat.c | 73 ++++++++++++++++-------------------------------
 1 file changed, 24 insertions(+), 49 deletions(-)

diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c
index 73b5cea..97ffe7e 100644
--- a/tools/perf/builtin-stat.c
+++ b/tools/perf/builtin-stat.c
@@ -662,6 +662,30 @@ static void printout(int id, int nr, struct perf_evsel *counter, double uval,
 		os.ena = ena;
 	}
 
+	if (run == 0 || ena == 0) {
+		aggr_printout(counter, id, nr);
+
+		fprintf(stat_config.output, "%*s%s",
+			csv_output ? 0 : 18,
+			counter->supported ? CNTR_NOT_COUNTED : CNTR_NOT_SUPPORTED,
+			csv_sep);
+
+		fprintf(stat_config.output, "%-*s%s",
+			csv_output ? 0 : unit_width,
+			counter->unit, csv_sep);
+
+		fprintf(stat_config.output, "%*s",
+			csv_output ? 0 : -25,
+			perf_evsel__name(counter));
+
+		if (counter->cgrp)
+			fprintf(stat_config.output, "%s%s",
+				csv_sep, counter->cgrp->name);
+
+		print_running(run, ena);
+		return;
+	}
+
 	if (nsec_counter(counter))
 		nsec_printout(id, nr, counter, uval);
 	else
@@ -711,30 +735,6 @@ static void print_aggr(char *prefix)
 			if (prefix)
 				fprintf(output, "%s", prefix);
 
-			if (run == 0 || ena == 0) {
-				aggr_printout(counter, id, nr);
-
-				fprintf(output, "%*s%s",
-					csv_output ? 0 : 18,
-					counter->supported ? CNTR_NOT_COUNTED : CNTR_NOT_SUPPORTED,
-					csv_sep);
-
-				fprintf(output, "%-*s%s",
-					csv_output ? 0 : unit_width,
-					counter->unit, csv_sep);
-
-				fprintf(output, "%*s",
-					csv_output ? 0 : -25,
-					perf_evsel__name(counter));
-
-				if (counter->cgrp)
-					fprintf(output, "%s%s",
-						csv_sep, counter->cgrp->name);
-
-				print_running(run, ena);
-				fputc('\n', output);
-				continue;
-			}
 			uval = val * counter->scale;
 			printout(id, nr, counter, uval, prefix, run, ena, 1.0);
 			fputc('\n', output);
@@ -810,31 +810,6 @@ static void print_counter(struct perf_evsel *counter, char *prefix)
 		if (prefix)
 			fprintf(output, "%s", prefix);
 
-		if (run == 0 || ena == 0) {
-			fprintf(output, "CPU%*d%s%*s%s",
-				csv_output ? 0 : -4,
-				perf_evsel__cpus(counter)->map[cpu], csv_sep,
-				csv_output ? 0 : 18,
-				counter->supported ? CNTR_NOT_COUNTED : CNTR_NOT_SUPPORTED,
-				csv_sep);
-
-				fprintf(output, "%-*s%s",
-					csv_output ? 0 : unit_width,
-					counter->unit, csv_sep);
-
-				fprintf(output, "%*s",
-					csv_output ? 0 : -25,
-					perf_evsel__name(counter));
-
-			if (counter->cgrp)
-				fprintf(output, "%s%s",
-					csv_sep, counter->cgrp->name);
-
-			print_running(run, ena);
-			fputc('\n', output);
-			continue;
-		}
-
 		uval = val * counter->scale;
 		printout(cpu, 0, counter, uval, prefix, run, ena, 1.0);
 
-- 
2.4.3

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

Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

perf, tools: Refactor and support interval and CSV metrics v5 Andi Kleen <andi@firstfloor.org> - 2015-10-24 02:10 +0200
  [PATCH 2/9] tools, perf, stat: Use common printout faction to avoid duplicated code Andi Kleen <andi@firstfloor.org> - 2015-10-24 02:10 +0200
  [PATCH 7/9] perf, tools, stat: Move non counting counter printing to printout Andi Kleen <andi@firstfloor.org> - 2015-10-24 02:10 +0200
  [PATCH 9/9] perf, tools, stat: Document CSV format in manpage Andi Kleen <andi@firstfloor.org> - 2015-10-24 02:10 +0200
  [PATCH 6/9] perf, tools, stat: Implement CSV metrics output Andi Kleen <andi@firstfloor.org> - 2015-10-24 02:10 +0200
  [PATCH 1/9] perf, tools, stat: Move sw clock metrics printout to stat-shadow Andi Kleen <andi@firstfloor.org> - 2015-10-24 02:10 +0200
  [PATCH 5/9] perf, tools, stat: Move noise/running printing into printout Andi Kleen <andi@firstfloor.org> - 2015-10-24 02:10 +0200
    Re: [PATCH 5/9] perf, tools, stat: Move noise/running printing into  printout Jiri Olsa <jolsa@redhat.com> - 2015-10-26 16:40 +0100
      Re: [PATCH 5/9] perf, tools, stat: Move noise/running printing into  printout Andi Kleen <andi@firstfloor.org> - 2015-10-27 03:50 +0100
  [PATCH 3/9] perf, tools, stat: Abstract stat metrics printing Andi Kleen <andi@firstfloor.org> - 2015-10-24 02:10 +0200
  [PATCH 8/9] perf, tools: Support metrics in --per-core/socket mode Andi Kleen <andi@firstfloor.org> - 2015-10-24 02:10 +0200

csiph-web