Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1214144 > unrolled thread

[PATCH] perf script: Add --[no-]-demangle/--[no-]-demangle-kernel

Started byYannick Brosseau <scientist@fb.com>
First post2015-08-26 21:20 +0200
Last post2015-08-31 10:40 +0200
Articles 3 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] perf script: Add --[no-]-demangle/--[no-]-demangle-kernel Yannick Brosseau <scientist@fb.com> - 2015-08-26 21:20 +0200
    Re: [PATCH] perf script: Add --[no-]-demangle/--[no-]-demangle-kernel Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-27 16:20 +0200
    [tip:perf/core] perf script: Add --[no-]-demangle/--[no-]  -demangle-kernel tip-bot for Mark Drayton <tipbot@zytor.com> - 2015-08-31 10:40 +0200

#1214144 — [PATCH] perf script: Add --[no-]-demangle/--[no-]-demangle-kernel

FromYannick Brosseau <scientist@fb.com>
Date2015-08-26 21:20 +0200
Subject[PATCH] perf script: Add --[no-]-demangle/--[no-]-demangle-kernel
Message-ID<q1OoN-6rk-5@gated-at.bofh.it>
From: Mark Drayton <mbd@fb.com>

Summary: Sometimes when post-processing output from `perf script` one
does not want to demangle C++ symbol names. Add an option to allow this.
Also add --[no-]demangle-kernel to be consistent with top/report/probe.

Signed-off-by: Mark Drayton <mbd@fb.com>
Signed-off-by: Yannick Brosseau <scientist@fb.com>
---
 tools/perf/Documentation/perf-script.txt | 7 +++++++
 tools/perf/builtin-script.c              | 4 ++++
 2 files changed, 11 insertions(+)

diff --git a/tools/perf/Documentation/perf-script.txt b/tools/perf/Documentation/perf-script.txt
index c82df57..347c73a 100644
--- a/tools/perf/Documentation/perf-script.txt
+++ b/tools/perf/Documentation/perf-script.txt
@@ -222,6 +222,13 @@ OPTIONS
 --show-mmap-events
 	Display mmap related events (e.g. MMAP, MMAP2).
 
+--demangle::
+	Demangle symbol names to human readable form. It's enabled by default,
+	disable with --no-demangle.
+
+--demangle-kernel::
+	Demangle kernel symbol names to human readable form (for C++ kernels).
+
 --header
 	Show perf.data header.
 
diff --git a/tools/perf/builtin-script.c b/tools/perf/builtin-script.c
index 24809787..f3b3ba0 100644
--- a/tools/perf/builtin-script.c
+++ b/tools/perf/builtin-script.c
@@ -1622,6 +1622,10 @@ int cmd_script(int argc, const char **argv, const char *prefix __maybe_unused)
 	OPT_CALLBACK_OPTARG(0, "itrace", &itrace_synth_opts, NULL, "opts",
 			    "Instruction Tracing options",
 			    itrace_parse_synth_opts),
+	OPT_BOOLEAN(0, "demangle", &symbol_conf.demangle,
+		    "Enable symbol demangling"),
+	OPT_BOOLEAN(0, "demangle-kernel", &symbol_conf.demangle_kernel,
+		    "Enable kernel symbol demangling"),
 	OPT_END()
 	};
 	const char * const script_subcommands[] = { "record", "report", NULL };
-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1214594

FromArnaldo Carvalho de Melo <acme@kernel.org>
Date2015-08-27 16:20 +0200
Message-ID<q26c2-6RB-7@gated-at.bofh.it>
In reply to#1214144
Em Wed, Aug 26, 2015 at 12:18:15PM -0700, Yannick Brosseau escreveu:
> From: Mark Drayton <mbd@fb.com>
> 
> Summary: Sometimes when post-processing output from `perf script` one
> does not want to demangle C++ symbol names. Add an option to allow this.
> Also add --[no-]demangle-kernel to be consistent with top/report/probe.
> 
> Signed-off-by: Mark Drayton <mbd@fb.com>
> Signed-off-by: Yannick Brosseau <scientist@fb.com>

Thanks, applied after fixing up it wrt other changes in
builtin-script.c, next time, for new features like this, make sure it
applies to my perf/core branch at:

git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git

- Arnaldo

> ---
>  tools/perf/Documentation/perf-script.txt | 7 +++++++
>  tools/perf/builtin-script.c              | 4 ++++
>  2 files changed, 11 insertions(+)
> 
> diff --git a/tools/perf/Documentation/perf-script.txt b/tools/perf/Documentation/perf-script.txt
> index c82df57..347c73a 100644
> --- a/tools/perf/Documentation/perf-script.txt
> +++ b/tools/perf/Documentation/perf-script.txt
> @@ -222,6 +222,13 @@ OPTIONS
>  --show-mmap-events
>  	Display mmap related events (e.g. MMAP, MMAP2).
>  
> +--demangle::
> +	Demangle symbol names to human readable form. It's enabled by default,
> +	disable with --no-demangle.
> +
> +--demangle-kernel::
> +	Demangle kernel symbol names to human readable form (for C++ kernels).
> +
>  --header
>  	Show perf.data header.
>  
> diff --git a/tools/perf/builtin-script.c b/tools/perf/builtin-script.c
> index 24809787..f3b3ba0 100644
> --- a/tools/perf/builtin-script.c
> +++ b/tools/perf/builtin-script.c
> @@ -1622,6 +1622,10 @@ int cmd_script(int argc, const char **argv, const char *prefix __maybe_unused)
>  	OPT_CALLBACK_OPTARG(0, "itrace", &itrace_synth_opts, NULL, "opts",
>  			    "Instruction Tracing options",
>  			    itrace_parse_synth_opts),
> +	OPT_BOOLEAN(0, "demangle", &symbol_conf.demangle,
> +		    "Enable symbol demangling"),
> +	OPT_BOOLEAN(0, "demangle-kernel", &symbol_conf.demangle_kernel,
> +		    "Enable kernel symbol demangling"),
>  	OPT_END()
>  	};
>  	const char * const script_subcommands[] = { "record", "report", NULL };
> -- 
> 2.1.4
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1216103 — [tip:perf/core] perf script: Add --[no-]-demangle/--[no-] -demangle-kernel

Fromtip-bot for Mark Drayton <tipbot@zytor.com>
Date2015-08-31 10:40 +0200
Subject[tip:perf/core] perf script: Add --[no-]-demangle/--[no-] -demangle-kernel
Message-ID<q3sNd-2pJ-31@gated-at.bofh.it>
In reply to#1214144
Commit-ID:  77e0070da41f76e1ebd15291fb0254b0c174adfa
Gitweb:     http://git.kernel.org/tip/77e0070da41f76e1ebd15291fb0254b0c174adfa
Author:     Mark Drayton <mbd@fb.com>
AuthorDate: Wed, 26 Aug 2015 12:18:15 -0700
Committer:  Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Fri, 28 Aug 2015 11:47:40 -0300

perf script: Add --[no-]-demangle/--[no-]-demangle-kernel

Sometimes when post-processing output from `perf script` one does not
want to demangle C++ symbol names. Add an option to allow this.

Also add --[no-]demangle-kernel to be consistent with top/report/probe.

Signed-off-by: Mark Drayton <mbd@fb.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Link: http://lkml.kernel.org/r/1440616695-32340-1-git-send-email-scientist@fb.com
Signed-off-by: Yannick Brosseau <scientist@fb.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/Documentation/perf-script.txt | 7 +++++++
 tools/perf/builtin-script.c              | 5 +++++
 2 files changed, 12 insertions(+)

diff --git a/tools/perf/Documentation/perf-script.txt b/tools/perf/Documentation/perf-script.txt
index c0d2479..614b2c7 100644
--- a/tools/perf/Documentation/perf-script.txt
+++ b/tools/perf/Documentation/perf-script.txt
@@ -226,6 +226,13 @@ OPTIONS
 	Display context switch events i.e. events of type PERF_RECORD_SWITCH or
 	PERF_RECORD_SWITCH_CPU_WIDE.
 
+--demangle::
+	Demangle symbol names to human readable form. It's enabled by default,
+	disable with --no-demangle.
+
+--demangle-kernel::
+	Demangle kernel symbol names to human readable form (for C++ kernels).
+
 --header
 	Show perf.data header.
 
diff --git a/tools/perf/builtin-script.c b/tools/perf/builtin-script.c
index 105332e..4430340 100644
--- a/tools/perf/builtin-script.c
+++ b/tools/perf/builtin-script.c
@@ -1671,6 +1671,11 @@ int cmd_script(int argc, const char **argv, const char *prefix __maybe_unused)
 			    itrace_parse_synth_opts),
 	OPT_BOOLEAN(0, "full-source-path", &srcline_full_filename,
 			"Show full source file name path for source lines"),
+	OPT_BOOLEAN(0, "demangle", &symbol_conf.demangle,
+			"Enable symbol demangling"),
+	OPT_BOOLEAN(0, "demangle-kernel", &symbol_conf.demangle_kernel,
+			"Enable kernel symbol demangling"),
+
 	OPT_END()
 	};
 	const char * const script_subcommands[] = { "record", "report", NULL };
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web