Messages in this thread | | | Date | Wed, 20 May 2020 18:13:31 -0300 | From | Arnaldo Carvalho de Melo <> | Subject | Re: [PATCH 17/19] perf ftrace: add option -d/--delay to delay tracing |
| |
Em Sun, May 10, 2020 at 11:06:26PM +0800, Changbin Du escreveu: > This adds an option '-d/--delay' to allow us to start tracing some > times later after workload is launched.
[acme@five perf]$ perf record -h delay
Usage: perf record [<options>] [<command>] or: perf record [<options>] -- <command> [<options>]
-D, --delay <n> ms to wait before starting measurement after program start
[acme@five perf]$
> Signed-off-by: Changbin Du <changbin.du@gmail.com> > --- > tools/perf/builtin-ftrace.c | 19 ++++++++++++++++--- > 1 file changed, 16 insertions(+), 3 deletions(-) > > diff --git a/tools/perf/builtin-ftrace.c b/tools/perf/builtin-ftrace.c > index 8d04e5afe2d3..d376b37c53fc 100644 > --- a/tools/perf/builtin-ftrace.c > +++ b/tools/perf/builtin-ftrace.c > @@ -49,6 +49,7 @@ struct perf_ftrace { > bool trace_children; > unsigned buffer_size_kb; > bool no_pager; > + unsigned initial_delay; > }; > > struct filter_entry { > @@ -617,13 +618,23 @@ static int __cmd_ftrace(struct perf_ftrace *ftrace, int argc, const char **argv) > /* display column headers */ > read_tracing_file_to_stdout("trace"); > > - if (write_tracing_file("tracing_on", "1") < 0) { > - pr_err("can't enable tracing\n"); > - goto out_close_fd; > + if (!ftrace->initial_delay) { > + if (write_tracing_file("tracing_on", "1") < 0) { > + pr_err("can't enable tracing\n"); > + goto out_close_fd; > + } > } > > perf_evlist__start_workload(ftrace->evlist); > > + if (ftrace->initial_delay) { > + usleep(ftrace->initial_delay * 1000); > + if (write_tracing_file("tracing_on", "1") < 0) { > + pr_err("can't enable tracing\n"); > + goto out_close_fd; > + } > + } > + > while (!done) { > if (poll(&pollfd, 1, -1) < 0) > break; > @@ -747,6 +758,8 @@ int cmd_ftrace(int argc, const char **argv) > "size of per cpu buffer in kb"), > OPT_BOOLEAN('P', "no-pager", &ftrace.no_pager, > "Do not use pager"), > + OPT_UINTEGER('d', "delay", &ftrace.initial_delay, > + "Wait <n> ms before tracing"), > OPT_END() > }; > > -- > 2.25.1 >
--
- Arnaldo
| |