diff options
author | Masami Hiramatsu <mhiramat@redhat.com> | 2009-10-16 20:08:10 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-10-17 09:54:00 +0200 |
commit | 89c69c0eee7515cdc217f4278de43547284b3458 (patch) | |
tree | 914114cca2d004e7e22093a32b91540cd9beb1cc /tools/perf/builtin-probe.c | |
parent | 074fc0e4b3f5d24306c2995f2f3b0bd4759e8aeb (diff) | |
download | kernel_goldelico_gta04-89c69c0eee7515cdc217f4278de43547284b3458.zip kernel_goldelico_gta04-89c69c0eee7515cdc217f4278de43547284b3458.tar.gz kernel_goldelico_gta04-89c69c0eee7515cdc217f4278de43547284b3458.tar.bz2 |
perf: Use eprintf() for debug messages in perf-probe
Replace debug() macro with eprintf() and add -v option for
showing those messages in perf-probe.
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
LKML-Reference: <20091017000810.16556.38013.stgit@dhcp-100-2-132.bos.redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'tools/perf/builtin-probe.c')
-rw-r--r-- | tools/perf/builtin-probe.c | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/tools/perf/builtin-probe.c b/tools/perf/builtin-probe.c index a1467d1..b5ad86a 100644 --- a/tools/perf/builtin-probe.c +++ b/tools/perf/builtin-probe.c @@ -35,6 +35,8 @@ #include "perf.h" #include "builtin.h" #include "util/util.h" +#include "util/event.h" +#include "util/debug.h" #include "util/parse-options.h" #include "util/parse-events.h" /* For debugfs_path */ #include "util/probe-finder.h" @@ -76,7 +78,7 @@ static int parse_probepoint(const struct option *opt __used, if (!str) /* The end of probe points */ return 0; - debug("Probe-define(%d): %s\n", session.nr_probe, str); + eprintf("probe-definition(%d): %s\n", session.nr_probe, str); if (++session.nr_probe == MAX_PROBES) semantic_error("Too many probes"); @@ -101,7 +103,7 @@ static int parse_probepoint(const struct option *opt __used, die("strndup"); if (++argc == MAX_PROBE_ARGS) semantic_error("Too many arguments"); - debug("argv[%d]=%s\n", argc, argv[argc - 1]); + eprintf("argv[%d]=%s\n", argc, argv[argc - 1]); } } while (*str != '\0'); if (argc < 2) @@ -131,7 +133,7 @@ static int parse_probepoint(const struct option *opt __used, pp->line = atoi(ptr); if (!pp->file || !pp->line) semantic_error("Failed to parse line."); - debug("file:%s line:%d\n", pp->file, pp->line); + eprintf("file:%s line:%d\n", pp->file, pp->line); } else { /* Function name */ ptr = strchr(arg, '+'); @@ -148,7 +150,7 @@ static int parse_probepoint(const struct option *opt __used, pp->file = strdup(ptr); } pp->function = strdup(arg); - debug("symbol:%s file:%s offset:%d\n", + eprintf("symbol:%s file:%s offset:%d\n", pp->function, pp->file, pp->offset); } free(argv[1]); @@ -173,7 +175,7 @@ static int parse_probepoint(const struct option *opt __used, session.need_dwarf = 1; } - debug("%d arguments\n", pp->nr_args); + eprintf("%d arguments\n", pp->nr_args); return 0; } @@ -186,7 +188,7 @@ static int open_default_vmlinux(void) ret = uname(&uts); if (ret) { - debug("uname() failed.\n"); + eprintf("uname() failed.\n"); return -errno; } session.release = uts.release; @@ -194,11 +196,12 @@ static int open_default_vmlinux(void) ret = snprintf(fname, MAX_PATH_LEN, default_search_path[i], session.release); if (ret >= MAX_PATH_LEN || ret < 0) { - debug("Filename(%d,%s) is too long.\n", i, uts.release); + eprintf("Filename(%d,%s) is too long.\n", i, + uts.release); errno = E2BIG; return -E2BIG; } - debug("try to open %s\n", fname); + eprintf("try to open %s\n", fname); fd = open(fname, O_RDONLY); if (fd >= 0) break; @@ -213,6 +216,8 @@ static const char * const probe_usage[] = { }; static const struct option options[] = { + OPT_BOOLEAN('v', "verbose", &verbose, + "be more verbose (show parsed arguments, etc)"), #ifndef NO_LIBDWARF OPT_STRING('k', "vmlinux", &session.vmlinux, "file", "vmlinux/module pathname"), @@ -336,7 +341,7 @@ int cmd_probe(int argc, const char **argv, const char *prefix __used) ret = find_probepoint(fd, pp); if (ret <= 0) die("No probe point found.\n"); - debug("probe event %s found\n", session.events[j]); + eprintf("probe event %s found\n", session.events[j]); } close(fd); |