Message ID | 20190415230016.13932-3-kaslevs@vmware.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Optimize pid filters and add --no-filter option | expand |
On Tue, 16 Apr 2019 02:00:16 +0300 Slavomir Kaslev <kaslevs@vmware.com> wrote: > Add --no-filter option which doesn't install filters for the trace-cmd recording > processes pids. > > Signed-off-by: Slavomir Kaslev <kaslevs@vmware.com> > Suggested-by: Steven Rostedt (VMware) <rostedt@goodmis.org> I'll apply this, but we should also update the man page. -- Steve > --- > tracecmd/trace-record.c | 14 +++++++++++--- > tracecmd/trace-usage.c | 1 + > 2 files changed, 12 insertions(+), 3 deletions(-) > > diff --git a/tracecmd/trace-record.c b/tracecmd/trace-record.c > index dae0396..05a313b 100644 > --- a/tracecmd/trace-record.c > +++ b/tracecmd/trace-record.c > @@ -86,6 +86,7 @@ static int do_ptrace; > > static int filter_task; > static int filter_pid = -1; > +static bool no_filter = false; > > static int local_cpu_count; > > @@ -1063,6 +1064,9 @@ static void update_task_filter(void) > struct buffer_instance *instance; > int pid = getpid(); > > + if (no_filter) > + return; > + > if (filter_task) > add_filter_pid(pid, 0); > > @@ -4377,9 +4381,9 @@ void update_first_instance(struct buffer_instance *instance, int topt) > } > > enum { > - > - OPT_quiet = 246, > - OPT_debug = 247, > + OPT_quiet = 245, > + OPT_debug = 246, > + OPT_no_filter = 247, > OPT_max_graph_depth = 248, > OPT_tsoffset = 249, > OPT_bycomm = 250, > @@ -4603,6 +4607,7 @@ static void parse_record_options(int argc, > {"by-comm", no_argument, NULL, OPT_bycomm}, > {"ts-offset", required_argument, NULL, OPT_tsoffset}, > {"max-graph-depth", required_argument, NULL, OPT_max_graph_depth}, > + {"no-filter", no_argument, NULL, OPT_no_filter}, > {"debug", no_argument, NULL, OPT_debug}, > {"quiet", no_argument, NULL, OPT_quiet}, > {"help", no_argument, NULL, '?'}, > @@ -4877,6 +4882,9 @@ static void parse_record_options(int argc, > if (!ctx->max_graph_depth) > die("Could not allocate option"); > break; > + case OPT_no_filter: > + no_filter = true; > + break; > case OPT_debug: > debug = 1; > break; > diff --git a/tracecmd/trace-usage.c b/tracecmd/trace-usage.c > index 9ea1906..29a7081 100644 > --- a/tracecmd/trace-usage.c > +++ b/tracecmd/trace-usage.c > @@ -56,6 +56,7 @@ static struct usage_help usage_help[] = { > " --func-stack perform a stack trace for function tracer\n" > " (use with caution)\n" > " --max-graph-depth limit function_graph depth\n" > + " --no-filter do not set any event filters\n" > }, > { > "start",
diff --git a/tracecmd/trace-record.c b/tracecmd/trace-record.c index dae0396..05a313b 100644 --- a/tracecmd/trace-record.c +++ b/tracecmd/trace-record.c @@ -86,6 +86,7 @@ static int do_ptrace; static int filter_task; static int filter_pid = -1; +static bool no_filter = false; static int local_cpu_count; @@ -1063,6 +1064,9 @@ static void update_task_filter(void) struct buffer_instance *instance; int pid = getpid(); + if (no_filter) + return; + if (filter_task) add_filter_pid(pid, 0); @@ -4377,9 +4381,9 @@ void update_first_instance(struct buffer_instance *instance, int topt) } enum { - - OPT_quiet = 246, - OPT_debug = 247, + OPT_quiet = 245, + OPT_debug = 246, + OPT_no_filter = 247, OPT_max_graph_depth = 248, OPT_tsoffset = 249, OPT_bycomm = 250, @@ -4603,6 +4607,7 @@ static void parse_record_options(int argc, {"by-comm", no_argument, NULL, OPT_bycomm}, {"ts-offset", required_argument, NULL, OPT_tsoffset}, {"max-graph-depth", required_argument, NULL, OPT_max_graph_depth}, + {"no-filter", no_argument, NULL, OPT_no_filter}, {"debug", no_argument, NULL, OPT_debug}, {"quiet", no_argument, NULL, OPT_quiet}, {"help", no_argument, NULL, '?'}, @@ -4877,6 +4882,9 @@ static void parse_record_options(int argc, if (!ctx->max_graph_depth) die("Could not allocate option"); break; + case OPT_no_filter: + no_filter = true; + break; case OPT_debug: debug = 1; break; diff --git a/tracecmd/trace-usage.c b/tracecmd/trace-usage.c index 9ea1906..29a7081 100644 --- a/tracecmd/trace-usage.c +++ b/tracecmd/trace-usage.c @@ -56,6 +56,7 @@ static struct usage_help usage_help[] = { " --func-stack perform a stack trace for function tracer\n" " (use with caution)\n" " --max-graph-depth limit function_graph depth\n" + " --no-filter do not set any event filters\n" }, { "start",
Add --no-filter option which doesn't install filters for the trace-cmd recording processes pids. Signed-off-by: Slavomir Kaslev <kaslevs@vmware.com> Suggested-by: Steven Rostedt (VMware) <rostedt@goodmis.org> --- tracecmd/trace-record.c | 14 +++++++++++--- tracecmd/trace-usage.c | 1 + 2 files changed, 12 insertions(+), 3 deletions(-)