[PATCH] perf tool: more user-friendly errors from trace

From: Ramkumar Ramachandra
Date: Thu Oct 03 2013 - 04:35:24 EST


Currently, execution of 'perf trace' reports the following cryptic
message to the user:

$ perf trace
Couldn't read the raw_syscalls tracepoints information!

Now, it prints a detailed message:

$ perf trace
Error: No permissions to read $debugfs/tracing/events/raw_syscalls
Hint: Change the permissions of debugfs: /sys/kernel/debug
The directory will be present if your kernel was compiled with debugfs support.

Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Ramkumar Ramachandra <artagnon@xxxxxxxxx>
---
tools/perf/builtin-trace.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c
index 71aa3e3..544707a 100644
--- a/tools/perf/builtin-trace.c
+++ b/tools/perf/builtin-trace.c
@@ -916,14 +916,18 @@ static int trace__run(struct trace *trace, int argc, const char **argv)

if (perf_evlist__add_newtp(evlist, "raw_syscalls", "sys_enter", trace__sys_enter) ||
perf_evlist__add_newtp(evlist, "raw_syscalls", "sys_exit", trace__sys_exit)) {
- fprintf(trace->output, "Couldn't read the raw_syscalls tracepoints information!\n");
+ fprintf(trace->output, "Error:\tNo permissions to read $debugfs/tracing/events/raw_syscalls\n");
+ fprintf(trace->output, "Hint:\tChange the permissions of debugfs: /sys/kernel/debug\n");
+ fprintf(trace->output, "\tThe directory will be present if your kernel was compiled with debugfs support.\n");
goto out_delete_evlist;
}

if (trace->sched &&
perf_evlist__add_newtp(evlist, "sched", "sched_stat_runtime",
trace__sched_stat_runtime)) {
- fprintf(trace->output, "Couldn't read the sched_stat_runtime tracepoint information!\n");
+ fprintf(trace->output, "Error:\tNo permissions to read $debugfs/tracing/events/sched/sched_stat_runtime\n");
+ fprintf(trace->output, "Hint:\tChange the permissions of debugfs: /sys/kernel/debug\n");
+ fprintf(trace->output, "\tThe directory will be present if your kernel was compiled with debugfs support.\n");
goto out_delete_evlist;
}

--
1.8.4.477.g5d89aa9

--
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/