diff options
author | Slavomir Kaslev <kaslevs@vmware.com> | 2019-04-17 21:31:57 +0300 |
---|---|---|
committer | Steven Rostedt (VMware) <rostedt@goodmis.org> | 2019-04-17 15:16:12 -0400 |
commit | d8fbd7bf84a4079831e55fddaccbaf74f8d0816b (patch) | |
tree | 3c29d4ff86b83d91f51865e22e7adb2d29dfb42f | |
parent | 14c1cd26bd0052f02130b2ec6bb3d1f31d7603f5 (diff) | |
download | trace-cmd-d8fbd7bf84a4079831e55fddaccbaf74f8d0816b.tar.gz |
trace-cmd: Add --no-filter option to not filter out recording processes
Add trace-cmd --no-filter option that disables filtering out of trace-cmd
recording processes from the trace.
Link: http://lore.kernel.org/linux-trace-devel/20190417183157.8776-2-kaslevs@vmware.com
Tested-by: Phil Auld <pauld@redhat.com>
Suggested-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Signed-off-by: Slavomir Kaslev <kaslevs@vmware.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
-rw-r--r-- | Documentation/trace-cmd-record.1.txt | 5 | ||||
-rw-r--r-- | tracecmd/trace-record.c | 14 | ||||
-rw-r--r-- | tracecmd/trace-usage.c | 1 |
3 files changed, 17 insertions, 3 deletions
diff --git a/Documentation/trace-cmd-record.1.txt b/Documentation/trace-cmd-record.1.txt index 68afa161..26a8299c 100644 --- a/Documentation/trace-cmd-record.1.txt +++ b/Documentation/trace-cmd-record.1.txt @@ -83,6 +83,11 @@ OPTIONS The above are usually safe to use to compare fields. +*--no-filter*:: + Do not filter out the trace-cmd threads. By default, the threads are + filtered out to not be traced by events. This option will have the trace-cmd + threads also be traced. + *-R* 'trigger':: Specify a trigger for the previous event. This must come after a *-e*. This will add a given trigger to the given event. To only enable the trigger diff --git a/tracecmd/trace-record.c b/tracecmd/trace-record.c index d5c66ab0..45231280 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; @@ -1065,6 +1066,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); @@ -4379,9 +4383,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, @@ -4605,6 +4609,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, '?'}, @@ -4879,6 +4884,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 9ea19063..d2a10895 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 include trace-cmd threads in the trace\n" }, { "start", |