Re: [PATCH 2/8] perf ui/tui: Split help message for perf top andreport

From: Arnaldo Carvalho de Melo
Date: Thu Dec 26 2013 - 09:05:51 EST


Em Thu, Dec 26, 2013 at 02:37:58PM +0900, Namhyung Kim escreveu:
> From: Namhyung Kim <namhyung.kim@xxxxxxx>
>
> Some hotkeys don't work for perf top so split help messages for them.
> It'll be helpful to a future modification. Also sort the message by
> alphabetical order of the hotkey.
>
> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>
> ---
> tools/perf/ui/browsers/hists.c | 49 ++++++++++++++++++++++++++----------------
> 1 file changed, 30 insertions(+), 19 deletions(-)
>
> diff --git a/tools/perf/ui/browsers/hists.c b/tools/perf/ui/browsers/hists.c
> index a440e03cd8c2..d43ec79ea4e3 100644
> --- a/tools/perf/ui/browsers/hists.c
> +++ b/tools/perf/ui/browsers/hists.c
> @@ -1400,6 +1400,35 @@ static int perf_evsel__hists_browse(struct perf_evsel *evsel, int nr_events,
> char script_opt[64];
> int delay_secs = hbt ? hbt->refresh : 0;
>
> +#define HIST_BROWSER_HELP_COMMON \
> + "h/?/F1 Show this window\n" \
> + "UP/DOWN/PGUP\n" \
> + "PGDN/SPACE Navigate\n" \
> + "q/ESC/CTRL+C Exit browser\n\n" \
> + "For multiple event sessions:\n\n" \
> + "TAB/UNTAB Switch events\n\n" \
> + "For symbolic views (--sort has sym):\n\n" \
> + "-> Zoom into DSO/Threads & Annotate current symbol\n" \
> + "<- Zoom out\n" \
> + "a Annotate current symbol\n" \
> + "C Collapse all callchains\n" \
> + "d Zoom into current DSO\n" \
> + "E Expand all callchains\n" \
> +
> + /* help messages are sorted by lexical order of the hotkey */
> + const char report_help[] = HIST_BROWSER_HELP_COMMON
> + "P Print histograms to perf.hist.N\n"
> + "r Run available scripts\n"
> + "s Switch to another data file in PWD\n"
> + "t Zoom into current Thread\n"
> + "V Verbose (DSO names in callchains, etc)\n"
> + "/ Filter symbol by name";
> + const char top_help[] = HIST_BROWSER_HELP_COMMON
> + "P Print histograms to perf.hist.N\n"
> + "t Zoom into current Thread\n"
> + "V Verbose (DSO names in callchains, etc)\n"
> + "/ Filter symbol by name";
> +
> if (browser == NULL)
return -1;

This wastes space, why not have the HIST_BROWSER_HELP_COMMON as a

const char common_help[] = ...

and then use:
ui_browser_helo(..., "%s%s", common_help,
is_report_browser(hbt) ? report_help : top_help);

?

- Arnaldo

>
> @@ -1488,25 +1517,7 @@ static int perf_evsel__hists_browse(struct perf_evsel *evsel, int nr_events,
> case 'h':
> case '?':
> ui_browser__help_window(&browser->b,
> - "h/?/F1 Show this window\n"
> - "UP/DOWN/PGUP\n"
> - "PGDN/SPACE Navigate\n"
> - "q/ESC/CTRL+C Exit browser\n\n"
> - "For multiple event sessions:\n\n"
> - "TAB/UNTAB Switch events\n\n"
> - "For symbolic views (--sort has sym):\n\n"
> - "-> Zoom into DSO/Threads & Annotate current symbol\n"
> - "<- Zoom out\n"
> - "a Annotate current symbol\n"
> - "C Collapse all callchains\n"
> - "E Expand all callchains\n"
> - "d Zoom into current DSO\n"
> - "t Zoom into current Thread\n"
> - "r Run available scripts('perf report' only)\n"
> - "s Switch to another data file in PWD ('perf report' only)\n"
> - "P Print histograms to perf.hist.N\n"
> - "V Verbose (DSO names in callchains, etc)\n"
> - "/ Filter symbol by name");
> + is_report_browser(hbt) ? report_help : top_help);
> continue;
> case K_ENTER:
> case K_RIGHT:
> --
> 1.7.11.7
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/