From: Jiri Olsa <jolsa@redhat.com>
To: Andi Kleen <andi@firstfloor.org>
Cc: acme@kernel.org, jolsa@kernel.org, linux-kernel@vger.kernel.org,
Andi Kleen <ak@linux.intel.com>
Subject: Re: [PATCH 10/13] perf, tools, stat: Output JSON MetricExpr metric
Date: Tue, 21 Mar 2017 15:48:36 +0100 [thread overview]
Message-ID: <20170321144836.GA6931@krava> (raw)
In-Reply-To: <20170320201711.14142-11-andi@firstfloor.org>
On Mon, Mar 20, 2017 at 01:17:08PM -0700, Andi Kleen wrote:
> From: Andi Kleen <ak@linux.intel.com>
>
> Add generic infrastructure to perf stat to output ratios for "MetricExpr"
> entries in the event lists. Many events are more useful as ratios
> than in raw form, typically some count in relation to total ticks.
>
> Transfer the MetricExpr information from the alias to the evsel.
>
> We mark the events that need to be collected for MetricExpr, and also
> link the events using them with a pointer. The code is careful
> to always prefer the right event in the same group to minimize
> multiplexing errors. At the moment only a single relation is supported.
>
> Then add a rblist to the stat shadow code that remembers stats based
> on the cpu and context.
>
> Then finally update and retrieve and print these values similarly to the
> existing hardcoded perf metrics. We use the simple expression parser
> added earlier to evaluate the expression.
>
> Normally we just output the result without further commentary,
> but for --metric-only this would lead to empty columns. So for this
> case use the original event as description.
>
> There is no attempt to automatically add the MetricExpr event,
> if it is missing, however we suggest it to the user, because
> the user tool doesn't have enough information to reliably
> construct a group that is guaranteed to schedule. So we leave
> that to the user.
>
> % perf stat -a -I 1000 -e '{unc_p_clockticks,unc_p_freq_max_os_cycles}'
> 1.000147889 800,085,181 unc_p_clockticks
> 1.000147889 93,126,241 unc_p_freq_max_os_cycles # 11.6
> 2.000448381 800,218,217 unc_p_clockticks
> 2.000448381 142,516,095 unc_p_freq_max_os_cycles # 17.8
> 3.000639852 800,243,057 unc_p_clockticks
> 3.000639852 162,292,689 unc_p_freq_max_os_cycles # 20.3
>
> % perf stat -a -I 1000 -e '{unc_p_clockticks,unc_p_freq_max_os_cycles}' --metric-only
> 1.000127077 0.9
> 2.000301436 0.7
> 3.000456379 0.0
The comment above suggest I'll see 'original event as description' in this example??
jirka
next prev parent reply other threads:[~2017-03-21 14:48 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-20 20:16 perf: Improve support for uncore JSON event lists Andi Kleen
2017-03-20 20:16 ` [PATCH 01/13] perf, tools, stat: Factor out callback for collecting event values Andi Kleen
2017-03-24 18:46 ` [tip:perf/core] perf " tip-bot for Andi Kleen
2017-03-20 20:17 ` [PATCH 02/13] perf, tools, stat: Collapse identically named events Andi Kleen
2017-03-24 18:47 ` [tip:perf/core] perf " tip-bot for Andi Kleen
2017-03-20 20:17 ` [PATCH 03/13] perf, tools, stat: Handle partially bad results with merging Andi Kleen
2017-03-24 18:48 ` [tip:perf/core] perf " tip-bot for Andi Kleen
2017-03-20 20:17 ` [PATCH 04/13] perf, tools: Factor out PMU matching in parser Andi Kleen
2017-03-24 18:48 ` [tip:perf/core] perf " tip-bot for Andi Kleen
2017-03-20 20:17 ` [PATCH 05/13] perf, tools: Expand PMU events by prefix match Andi Kleen
2017-03-24 18:49 ` [tip:perf/core] perf pmu: " tip-bot for Andi Kleen
2017-03-20 20:17 ` [PATCH 06/13] perf, tools: Special case uncore_ prefix Andi Kleen
2017-03-24 18:49 ` [tip:perf/core] perf pmu: " tip-bot for Andi Kleen
2017-03-20 20:17 ` [PATCH 07/13] perf, tools: Add a simple expression parser for JSON Andi Kleen
2017-03-21 19:14 ` Arnaldo Carvalho de Melo
2017-03-21 19:15 ` Arnaldo Carvalho de Melo
2017-03-21 22:08 ` Build errors, was " Arnaldo Carvalho de Melo
2017-03-24 18:50 ` [tip:perf/core] perf " tip-bot for Andi Kleen
2017-03-20 20:17 ` [PATCH 08/13] perf, tools: Update Intel uncore JSON event files Andi Kleen
2017-03-24 18:50 ` [tip:perf/core] perf vendor events intel: " tip-bot for Andi Kleen
2017-03-20 20:17 ` [PATCH 09/13] perf, tools: Support MetricExpr header in JSON event list Andi Kleen
2017-03-24 18:51 ` [tip:perf/core] perf pmu: " tip-bot for Andi Kleen
2017-03-20 20:17 ` [PATCH 10/13] perf, tools, stat: Output JSON MetricExpr metric Andi Kleen
2017-03-21 14:48 ` Jiri Olsa [this message]
2017-03-21 15:45 ` Andi Kleen
2017-03-21 19:42 ` Arnaldo Carvalho de Melo
2017-03-21 19:49 ` Andi Kleen
2017-03-24 18:51 ` [tip:perf/core] perf " tip-bot for Andi Kleen
2017-03-20 20:17 ` [PATCH 11/13] perf, tools, list: Support printing MetricExpr with --debug Andi Kleen
2017-03-24 18:52 ` [tip:perf/core] perf " tip-bot for Andi Kleen
2017-03-20 20:17 ` [PATCH 12/13] perf, tools: Add support for MetricName JSON attribute Andi Kleen
2017-03-24 18:53 ` [tip:perf/core] perf pmu: " tip-bot for Andi Kleen
2017-03-20 20:17 ` [PATCH 13/13] perf, tools, list: Move extra details printing to new option Andi Kleen
2017-03-24 18:53 ` [tip:perf/core] perf " tip-bot for Andi Kleen
2017-03-21 14:48 ` perf: Improve support for uncore JSON event lists Jiri Olsa
2017-03-21 19:53 ` Arnaldo Carvalho de Melo
-- strict thread matches above, loose matches on Subject: below --
2017-03-10 21:24 Andi Kleen
2017-03-10 21:24 ` [PATCH 10/13] perf, tools, stat: Output JSON MetricExpr metric Andi Kleen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170321144836.GA6931@krava \
--to=jolsa@redhat.com \
--cc=acme@kernel.org \
--cc=ak@linux.intel.com \
--cc=andi@firstfloor.org \
--cc=jolsa@kernel.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).