All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jiri Olsa <jolsa@redhat.com>
To: Andi Kleen <andi@firstfloor.org>
Cc: acme@kernel.org, jolsa@kernel.org,
	linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org,
	eranian@google.com
Subject: Re: Support sample context in perf report
Date: Tue, 26 Feb 2019 23:33:19 +0100	[thread overview]
Message-ID: <20190226223319.GA2393@krava> (raw)
In-Reply-To: <20190226030412.23485-1-andi@firstfloor.org>

On Mon, Feb 25, 2019 at 07:04:01PM -0800, Andi Kleen wrote:
> [Changes: 
> Removed already merged patches.
> Address review feedback, see individual patches.
> Now compiles with gcc 8.
> Some minor bug fixes and improvements.]
> 
> We currently have two ways to look at sample data in perf:
> either use perf report to aggregate everything, or use
> perf script to look at all individual samples.
> 
> Both ways are useful. Of course aggregation is useful
> to quickly find the most expensive part of the code.
> 
> But sometimes a single sample is not good enough to
> determine the problem and we need to look at context, either
> through branch contexts, or other previous samples (e.g. for
> correlating different micro architecture events or computing
> metrics)
> 
> This can be done through perf script today, but it can
> be rather cumbersome to find the right samples to look
> at.
> 
> Another problem with perf report is that it aggregates
> the whole measurement period. But many real workloads
> have phases where they behave quite differently, and it is
> often not useful to combine them into a single histogram.
> 
> While this can be worked around with the --time option
> to report, it can be quite cumbersome.
> 
> This patch kit attempts to address some of these
> problems in perf report by making it time aware.
> 
> - It adds a new time sort key that allows perf report
> to separate samples from different regions. The time
> regions can be defined with a new --time-quantum option.
> 
> - Then it extends the perf script support in the
> tui record browser to allow browsing samples for 
> different time regions from within a perf report
> session.
> 
> - Extends the report browser script display
> to automatically select sensible defaults
> based on what was recorded. For example it will
> automatically show branch contexts with -b.
> 
> - Support browsing the context of individual samples.
> perf report can save a limited number of random samples
> per histogram entry with the new --samples option.
> Then the browser allows directly jumping to any
> of the saved samples and browsing the context on the current
> thread or CPU.
> 
> There could be probably be done more to make
> perf report even better for such use cases (e.g. a real
> time line display), but this basic support is good
> enough for many useful usages.
> 
> Also available in
> git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-misc.git perf/streams-2

im still getting compile error the new branch:

  CC       ui/browsers/hists.o
ui/browsers/hists.c: In function ‘perf_evsel__hists_browse’:
ui/browsers/hists.c:2567:8: error: ‘%s’ directive output may be truncated writing up to 63 bytes into a region of size between 28 and 91 [-Werror=format-truncation=]
   n += snprintf(script_opt + n, len - n, " --time %s,%s", start, end);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/stdio.h:862,
                 from ui/browsers/hists.c:5:
/usr/include/bits/stdio2.h:64:10: note: ‘__builtin___snprintf_chk’ output between 10 and 136 bytes into a destination of size 100
   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        __bos (__s), __fmt, __va_arg_pack ());
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
mv: cannot stat 'ui/browsers/.hists.o.tmp': No such file or directory


jirka

  parent reply	other threads:[~2019-02-26 22:33 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-26  3:04 Support sample context in perf report Andi Kleen
2019-02-26  3:04 ` [PATCH v2 01/11] perf tools script: Support insn output for normal samples Andi Kleen
2019-02-26  3:04 ` [PATCH v2 02/11] perf tools report: Support nano seconds Andi Kleen
2019-02-26  3:04 ` [PATCH v2 03/11] perf tools report: Parse time quantum Andi Kleen
2019-02-26  3:04 ` [PATCH v2 04/11] perf tools report: Support time sort key Andi Kleen
2019-02-26  3:04 ` [PATCH v2 05/11] perf tools report: Use less for scripts output Andi Kleen
2019-02-26  3:04 ` [PATCH v2 06/11] perf tools report: Support running scripts for current time range Andi Kleen
2019-02-26  3:04 ` [PATCH v2 07/11] perf tools: Add perf_exe() helper to find perf binary Andi Kleen
2019-02-26  3:04 ` [PATCH v2 08/11] perf tools report: Support builtin perf script in scripts menu Andi Kleen
2019-02-26  3:04 ` [PATCH v2 09/11] perf tools: Add utility function to print ns time stamps Andi Kleen
2019-02-26  3:04 ` [PATCH v2 10/11] perf tools report: Implement browsing of individual samples Andi Kleen
2019-02-26  3:04 ` [PATCH v2 11/11] perf tools: Add some new tips describing the new options Andi Kleen
2019-02-26 22:33 ` Jiri Olsa [this message]
2019-02-26 22:55   ` Support sample context in perf report Andi Kleen
2019-02-27 11:18 ` Jiri Olsa
2019-02-27 16:01   ` Andi Kleen
2019-02-27 16:16     ` Jiri Olsa
2019-02-27 17:29       ` Andi Kleen
2019-02-27 17:41         ` Arnaldo Carvalho de Melo
2019-02-27 17:56           ` Jiri Olsa
  -- strict thread matches above, loose matches on Subject: below --
2019-03-11 14:44 Andi Kleen
2019-03-09  5:56 Andi Kleen
2019-03-05 14:47 Andi Kleen
2019-03-07 10:57 ` Jiri Olsa
2019-03-07 16:57   ` Andi Kleen
2019-02-28 18:35 Andi Kleen
2019-02-24 15:37 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=20190226223319.GA2393@krava \
    --to=jolsa@redhat.com \
    --cc=acme@kernel.org \
    --cc=andi@firstfloor.org \
    --cc=eranian@google.com \
    --cc=jolsa@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.