From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754347AbcBBJub (ORCPT ); Tue, 2 Feb 2016 04:50:31 -0500 Received: from mx1.redhat.com ([209.132.183.28]:60481 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754194AbcBBJu2 (ORCPT ); Tue, 2 Feb 2016 04:50:28 -0500 Date: Tue, 2 Feb 2016 10:50:20 +0100 From: Jiri Olsa To: Andi Kleen Cc: acme@kernel.org, jolsa@kernel.org, eranian@google.com, mingo@kernel.org, linux-kernel@vger.kernel.org, Andi Kleen Subject: Re: [PATCH 4/8] perf, tools, stat: Implement CSV metrics output Message-ID: <20160202095020.GB27366@krava.redhat.com> References: <1454173616-17710-1-git-send-email-andi@firstfloor.org> <1454173616-17710-5-git-send-email-andi@firstfloor.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1454173616-17710-5-git-send-email-andi@firstfloor.org> 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 On Sat, Jan 30, 2016 at 09:06:52AM -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. > > 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 > 0.341119,,task-clock,0.461,CPUs utilized,0.00%,324342,100.00 > 0,,context-switches,0.000,K/sec,0.00%,324342,100.00 > 0,,cpu-migrations,0.000,K/sec,0.00%,324342,100.00 > 41,,page-faults,0.126,M/sec,0.00%,324342,100.00 > 674068,,cycles,2.078,GHz,0.00%,330887,100.00 > 508189,,stalled-cycles-frontend,82.31,frontend cycles idle,0.00%,330887,100.00 > ,,stalled-cycles-backend,,,0.00%,0,100.00 > 374932,,instructions,0.61,insn per cycle > ,,,1.20,stalled cycles per insn,0.00%,330887,100.00 > 76540,,branches,235.985,M/sec,0.00%,330887,100.00 > 3091,,branch-misses,4.09,of all branches,0.00%,330887,100.00 $ ./perf stat -x, true 0.279104,,task-clock,0.461,CPUs utilized,279104,100.00 0,,context-switches,0.000,K/sec,279104,100.00 0,,cpu-migrations,0.000,K/sec,279104,100.00 42,,page-faults,0.150,M/sec,279104,100.00 658540,,cycles,2.359,GHz,281617,100.00 ,,stalled-cycles-frontend,,,,,0,100.00 ,,stalled-cycles-backend,,,,,0,100.00 428955,,instructions,0.65,insn per cycle ,,,,,,,281617,100.00 ^^^^^^^^^^^^^^^^^^^^ it does not look like this one is correct 84032,,branches,301.078,M/sec,281617,100.00 3628,,branch-misses,4.32,of all branches,281617,100.00 > > Two new fields are added: metric value and metric name before > the running/enabled fields. I see, I thought it was meant to be the other way around, so I need to ask now, wouldn't this break existing parsers? thanks, jirka