From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754927AbcB2OoS (ORCPT ); Mon, 29 Feb 2016 09:44:18 -0500 Received: from mail.kernel.org ([198.145.29.136]:51398 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754561AbcB2OoO (ORCPT ); Mon, 29 Feb 2016 09:44:14 -0500 Date: Mon, 29 Feb 2016 11:43:59 -0300 From: Arnaldo Carvalho de Melo To: Jiri Olsa Cc: Andi Kleen , jolsa@kernel.org, eranian@google.com, linux-kernel@vger.kernel.org, Andi Kleen Subject: Re: [PATCH 2/6] perf, tools, stat: Implement CSV metrics output Message-ID: <20160229144359.GA29553@kernel.org> References: <1456532881-26621-1-git-send-email-andi@firstfloor.org> <1456532881-26621-3-git-send-email-andi@firstfloor.org> <20160229102048.GB14521@krava.redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160229102048.GB14521@krava.redhat.com> X-Url: http://acmel.wordpress.com User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Em Mon, Feb 29, 2016 at 11:20:48AM +0100, Jiri Olsa escreveu: > On Fri, Feb 26, 2016 at 04:27:57PM -0800, Andi Kleen wrote: > > From: Andi Kleen > > > > Now support CSV output for metrics. With the new output callbacks > > this is relatively straight forward by creating new callbacks. > > > > This allows to easily plot metrics from CSV files. > > > > The new line callback needs to know the number of fields to skip them > > correctly > > > > Example output before: > > > > % perf stat -x, true > > 0.200687,,task-clock,200687,100.00 > > 0,,context-switches,200687,100.00 > > 0,,cpu-migrations,200687,100.00 > > 40,,page-faults,200687,100.00 > > 730871,,cycles,203601,100.00 > > 551056,,stalled-cycles-frontend,203601,100.00 > > ,,stalled-cycles-backend,0,100.00 > > 385523,,instructions,203601,100.00 > > 78028,,branches,203601,100.00 > > 3946,,branch-misses,203601,100.00 > > > > After: > > > > % perf stat -x, true > > .502457,,task-clock,502457,100.00,0.485,CPUs utilized > > 0,,context-switches,502457,100.00,0.000,K/sec > > 0,,cpu-migrations,502457,100.00,0.000,K/sec > > 45,,page-faults,502457,100.00,0.090,M/sec > > 644692,,cycles,509102,100.00,1.283,GHz > > 423470,,stalled-cycles-frontend,509102,100.00,65.69,frontend cycles idle > > ,,stalled-cycles-backend,0,100.00,,,, > > 492701,,instructions,509102,100.00,0.76,insn per cycle > > ,,,,,0.86,stalled cycles per insn > > 97767,,branches,509102,100.00,194.578,M/sec > > 4788,,branch-misses,509102,100.00,4.90,of all branches > > > > Two new fields are added: metric value and metric name. > > I'm still getting the empty line: Ditto here. > [jolsa@krava perf]$ ./perf stat -x, true > 0.389590,,task-clock,389590,100.00,0.479,CPUs utilized > 0,,context-switches,389590,100.00,0.000,K/sec > 0,,cpu-migrations,389590,100.00,0.000,K/sec > 43,,page-faults,389590,100.00,0.110,M/sec > 536038,,cycles,393283,100.00,1.376,GHz > 429548,,instructions,393283,100.00,0.80,insn per cycle > ,,,,,,,, > 85012,,branches,393283,100.00,218.209,M/sec > 3600,,branch-misses,393283,100.00,4.23,of all branches > > it's not enough just not to include stalled cycles events > in case they are not supported, like you do in patch 1 > > perf_stat__print_shadow_stats prints stalled cycles > data within instruction event case, so you need to check > for stalled cycles in evlist in there > > we have pointer to the evlist in each evsel, so it should be easy > > thanks, > jirka