All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC/PATCH] perf report: Show random usage tip on the help line
@ 2016-01-05  5:36 Namhyung Kim
  2016-01-05  6:32 ` Wangnan (F)
  0 siblings, 1 reply; 13+ messages in thread
From: Namhyung Kim @ 2016-01-05  5:36 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: Ingo Molnar, Peter Zijlstra, Jiri Olsa, LKML, David Ahern,
	Stephane Eranian, Andi Kleen, Masami Hiramatsu, Wang Nan

Currently perf report only shows a help message "For a higher level
overview, try: perf report --sort comm,dso" unconditionally (even if
the sort keys were used).  Add more help tips and show randomly.

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
---
 tools/perf/builtin-report.c |  2 +-
 tools/perf/perf.c           |  4 ++++
 tools/perf/util/util.c      | 22 ++++++++++++++++++++++
 tools/perf/util/util.h      |  2 ++
 4 files changed, 29 insertions(+), 1 deletion(-)

diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c
index f10c663af996..c9cc15431a0f 100644
--- a/tools/perf/builtin-report.c
+++ b/tools/perf/builtin-report.c
@@ -433,7 +433,7 @@ static int report__browse_hists(struct report *rep)
 	int ret;
 	struct perf_session *session = rep->session;
 	struct perf_evlist *evlist = session->evlist;
-	const char *help = "For a higher level overview, try: perf report --sort comm,dso";
+	const char *help = perf_report_tip();
 
 	switch (use_browser) {
 	case 1:
diff --git a/tools/perf/perf.c b/tools/perf/perf.c
index cb1d2499c45c..a929618b8eb6 100644
--- a/tools/perf/perf.c
+++ b/tools/perf/perf.c
@@ -19,6 +19,8 @@
 #include "util/debug.h"
 #include <api/fs/tracing_path.h>
 #include <pthread.h>
+#include <stdlib.h>
+#include <time.h>
 
 const char perf_usage_string[] =
 	"perf [--version] [--help] [OPTIONS] COMMAND [ARGS]";
@@ -542,6 +544,8 @@ int main(int argc, const char **argv)
 	if (!cmd)
 		cmd = "perf-help";
 
+	srandom(time(NULL));
+
 	/* get debugfs/tracefs mount point from /proc/mounts */
 	tracing_path_mount();
 
diff --git a/tools/perf/util/util.c b/tools/perf/util/util.c
index aff0cfd83662..09c6d6cb932b 100644
--- a/tools/perf/util/util.c
+++ b/tools/perf/util/util.c
@@ -663,3 +663,25 @@ fetch_kernel_version(unsigned int *puint, char *str,
 		*puint = (version << 16) + (patchlevel << 8) + sublevel;
 	return 0;
 }
+
+const char *perf_report_tip(void)
+{
+	const char *tips[] = {
+		"For a higher level overview, try: perf report --sort comm,dso",
+		"Group related events with: perf record -e '{cycles,instructions}'",
+		"Compare performance with: perf diff [<old file> <new file>]",
+		"Boolean options have negative forms like: perf report --no-children",
+		"Customize output of perf script with: perf script -F event,ip,sym",
+		"Generate a script for your data: perf script -g <lang>",
+		"Save output of perf stat using: perf stat record",
+		"Create archive of data to see it on other machine: perf archive",
+		"Search options using a keyword: perf report -h filter",
+		"Use parent filter to see specific call path: perf report -p <regex>",
+		"listing interested events using substring match: perf list cpu",
+		"To see list of saved events and attributes: perf evlist -v",
+		"Use --symfs <dir> if your symbol files are in non-standard location",
+		"To see callchains in a more compact form: perf report -g folded",
+	};
+
+	return tips[random() % ARRAY_SIZE(tips)];
+}
diff --git a/tools/perf/util/util.h b/tools/perf/util/util.h
index 4b519c59bdc3..8e9cec4bf376 100644
--- a/tools/perf/util/util.h
+++ b/tools/perf/util/util.h
@@ -342,4 +342,6 @@ int fetch_kernel_version(unsigned int *puint,
 #define KVER_FMT	"%d.%d.%d"
 #define KVER_PARAM(x)	KVER_VERSION(x), KVER_PATCHLEVEL(x), KVER_SUBLEVEL(x)
 
+const char *perf_report_tip(void);
+
 #endif /* GIT_COMPAT_UTIL_H */
-- 
2.6.4


^ permalink raw reply related	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2016-01-08 15:41 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-05  5:36 [RFC/PATCH] perf report: Show random usage tip on the help line Namhyung Kim
2016-01-05  6:32 ` Wangnan (F)
2016-01-05 10:43   ` Namhyung Kim
2016-01-05 16:40     ` Arnaldo Carvalho de Melo
2016-01-05 19:19       ` Namhyung Kim
2016-01-05 20:55         ` Arnaldo Carvalho de Melo
2016-01-05 20:59           ` Andi Kleen
2016-01-05 23:29             ` Namhyung Kim
2016-01-06  1:49               ` Arnaldo Carvalho de Melo
2016-01-05 20:52     ` Andi Kleen
2016-01-05 23:37       ` Namhyung Kim
2016-01-06  1:51         ` Arnaldo Carvalho de Melo
2016-01-08 15:41         ` Arnaldo Carvalho de Melo

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.