From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S964862AbcA1KMr (ORCPT ); Thu, 28 Jan 2016 05:12:47 -0500 Received: from mx1.redhat.com ([209.132.183.28]:49540 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755310AbcA1KMY (ORCPT ); Thu, 28 Jan 2016 05:12:24 -0500 Date: Thu, 28 Jan 2016 11:12:20 +0100 From: Jiri Olsa To: Andi Kleen Cc: acme@kernel.org, jolsa@kernel.org, mingo@kernel.org, linux-kernel@vger.kernel.org, eranian@google.com, Andi Kleen Subject: Re: [PATCH 4/8] perf, tools, stat: Implement CSV metrics output Message-ID: <20160128101220.GC13944@krava.brq.redhat.com> References: <1453855377-4168-1-git-send-email-andi@firstfloor.org> <1453855377-4168-5-git-send-email-andi@firstfloor.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1453855377-4168-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 Tue, Jan 26, 2016 at 04:42:53PM -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 hum, I'm confused, the docs you added says: --- The fields are in this order: - optional usec time stamp in fractions of second (with -I xxx) - counter value - unit of the counter value or empty - event name - run time of counter - percentage of measurement time the counter was running - optional metric value - optional unit of metric --- and here you say it's before running/enabled fields: > > Two new fields are added: metric value and metric name before > the running/enabled fields. > thanks, jirka