From: David Ahern <dsa@cumulusnetworks.com>
To: acme@kernel.org
Cc: mingo@kernel.org, peterz@infradead.org, namhyung@kernel.org,
jolsa@kernel.org, linux-kernel@vger.kernel.org,
David Ahern <dsahern@gmail.com>
Subject: [PATCH v2 6/6] perf report: Add option to specify time window of interest
Date: Tue, 29 Nov 2016 10:15:46 -0700 [thread overview]
Message-ID: <1480439746-42695-7-git-send-email-dsahern@gmail.com> (raw)
In-Reply-To: <1480439746-42695-1-git-send-email-dsahern@gmail.com>
Add option to allow user to control analysis window. e.g., collect data
for time window and analyze a segment of interest within that window.
Signed-off-by: David Ahern <dsahern@gmail.com>
---
tools/perf/Documentation/perf-report.txt | 7 +++++++
tools/perf/builtin-report.c | 14 +++++++++++++-
2 files changed, 20 insertions(+), 1 deletion(-)
diff --git a/tools/perf/Documentation/perf-report.txt b/tools/perf/Documentation/perf-report.txt
index 2d1746295abf..3a166ae4a4d3 100644
--- a/tools/perf/Documentation/perf-report.txt
+++ b/tools/perf/Documentation/perf-report.txt
@@ -382,6 +382,13 @@ OPTIONS
--header-only::
Show only perf.data header (forces --stdio).
+--time::
+ Only analyze samples within given time window: <start>,<stop>. Times
+ have the format seconds.microseconds. If start is not given (i.e., time
+ string is ',x.y') then analysis starts at the beginning of the file. If
+ stop time is not given (i.e, time string is 'x.y,') then analysis goes
+ to end of file.
+
--itrace::
Options for decoding instruction tracing data. The options are:
diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c
index 3dfbfffe2ecd..d2afbe4a240d 100644
--- a/tools/perf/builtin-report.c
+++ b/tools/perf/builtin-report.c
@@ -36,7 +36,7 @@
#include "util/hist.h"
#include "util/data.h"
#include "arch/common.h"
-
+#include "util/time-utils.h"
#include "util/auxtrace.h"
#include <dlfcn.h>
@@ -59,6 +59,8 @@ struct report {
const char *pretty_printing_style;
const char *cpu_list;
const char *symbol_filter_str;
+ const char *time_str;
+ struct perf_time_interval ptime;
float min_percent;
u64 nr_entries;
u64 queue_size;
@@ -158,6 +160,9 @@ static int process_sample_event(struct perf_tool *tool,
};
int ret = 0;
+ if (perf_time__skip_sample(&rep->ptime, sample->time))
+ return 0;
+
if (machine__resolve(machine, &al, sample) < 0) {
pr_debug("problem processing %d event, skipping it.\n",
event->header.type);
@@ -830,6 +835,8 @@ int cmd_report(int argc, const char **argv, const char *prefix __maybe_unused)
OPT_CALLBACK_DEFAULT(0, "stdio-color", NULL, "mode",
"'always' (default), 'never' or 'auto' only applicable to --stdio mode",
stdio__config_color, "always"),
+ OPT_STRING(0, "time", &report.time_str, "str",
+ "Time span of interest (start,stop)"),
OPT_END()
};
struct perf_data_file file = {
@@ -1015,6 +1022,11 @@ int cmd_report(int argc, const char **argv, const char *prefix __maybe_unused)
if (symbol__init(&session->header.env) < 0)
goto error;
+ if (perf_time__parse_str(&report.ptime, report.time_str) != 0) {
+ pr_err("Invalid time string\n");
+ return -EINVAL;
+ }
+
sort__setup_elide(stdout);
ret = __cmd_report(&report);
--
2.7.4 (Apple Git-66)
next prev parent reply other threads:[~2016-11-29 17:16 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-29 17:15 [PATCH v2 0/6] perf: Add option to specify time window of interest David Ahern
2016-11-29 17:15 ` [PATCH v2 1/6] perf tool: Add time-based utility functions David Ahern
2016-12-02 10:41 ` [tip:perf/core] perf tools: " tip-bot for David Ahern
2016-11-29 17:15 ` [PATCH v2 2/6] perf tool: Move parse_nsec_time to time-utils.c David Ahern
2016-12-02 10:41 ` [tip:perf/core] perf tools: " tip-bot for David Ahern
2016-11-29 17:15 ` [PATCH v2 3/6] perf script: Add option to specify time window of interest David Ahern
2016-12-02 10:42 ` [tip:perf/core] " tip-bot for David Ahern
2016-11-29 17:15 ` [PATCH v2 4/6] perf sched timehist: " David Ahern
2016-11-29 18:56 ` Arnaldo Carvalho de Melo
2016-11-29 18:58 ` David Ahern
2016-11-29 19:21 ` Arnaldo Carvalho de Melo
2016-12-02 10:42 ` [tip:perf/core] " tip-bot for David Ahern
2016-11-29 17:15 ` [PATCH v2 5/6] perf kmem: " David Ahern
2016-12-02 10:43 ` [tip:perf/core] " tip-bot for David Ahern
2016-11-29 17:15 ` David Ahern [this message]
2016-12-02 10:43 ` [tip:perf/core] perf report: " tip-bot for David Ahern
2016-11-29 19:15 ` [PATCH v2 0/6] perf: " Arnaldo Carvalho de Melo
2016-11-30 5:26 ` Namhyung Kim
2016-11-30 14:23 ` Arnaldo Carvalho de Melo
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=1480439746-42695-7-git-send-email-dsahern@gmail.com \
--to=dsa@cumulusnetworks.com \
--cc=acme@kernel.org \
--cc=dsahern@gmail.com \
--cc=jolsa@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=namhyung@kernel.org \
--cc=peterz@infradead.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.