514f1c67c2
Initially should look loosely like the venerable 'strace' tool, but using the infrastructure in the perf tools to allow tracing extra targets: [acme@sandy linux]$ perf trace --hell Error: unknown option `hell' usage: perf trace <PID> -p, --pid <pid> trace events on existing process id --tid <tid> trace events on existing thread id --all-cpus system-wide collection from all CPUs --cpu <cpu> list of cpus to monitor --no-inherit child tasks do not inherit counters --mmap-pages <n> number of mmap data pages --uid <user> user to profile [acme@sandy linux]$ Those should have the same semantics as when using with 'perf record'. It gets stuck sometimes, but hey, it works sometimes too! In time it should support perf.data based workloads, i.e. it should have a: -o filename Command line option that will produce a perf.data file that can then be used with 'perf trace' or any of the other perf tools (script, report, etc). It will also eventually have the set of functionalities described in the previous 'trace' prototype by Thomas Gleixner: "Announcing a new utility: 'trace'" http://lwn.net/Articles/415728/ Also planned is to have some of the features suggested in the comments of that LWN article. Cc: David Ahern <dsahern@gmail.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Mike Galbraith <efault@gmx.de> Cc: Namhyung Kim <namhyung@gmail.com> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Thomas Gleixner <tglx@linutronix.de> Link: http://lkml.kernel.org/n/tip-v9x3q9rv4caxtox7wtjpchq5@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
41 lines
2.1 KiB
C
41 lines
2.1 KiB
C
#ifndef BUILTIN_H
|
|
#define BUILTIN_H
|
|
|
|
#include "util/util.h"
|
|
#include "util/strbuf.h"
|
|
|
|
extern const char perf_usage_string[];
|
|
extern const char perf_more_info_string[];
|
|
|
|
extern void list_common_cmds_help(void);
|
|
extern const char *help_unknown_cmd(const char *cmd);
|
|
extern void prune_packed_objects(int);
|
|
extern int read_line_with_nul(char *buf, int size, FILE *file);
|
|
extern int check_pager_config(const char *cmd);
|
|
|
|
extern int cmd_annotate(int argc, const char **argv, const char *prefix);
|
|
extern int cmd_bench(int argc, const char **argv, const char *prefix);
|
|
extern int cmd_buildid_cache(int argc, const char **argv, const char *prefix);
|
|
extern int cmd_buildid_list(int argc, const char **argv, const char *prefix);
|
|
extern int cmd_diff(int argc, const char **argv, const char *prefix);
|
|
extern int cmd_evlist(int argc, const char **argv, const char *prefix);
|
|
extern int cmd_help(int argc, const char **argv, const char *prefix);
|
|
extern int cmd_sched(int argc, const char **argv, const char *prefix);
|
|
extern int cmd_list(int argc, const char **argv, const char *prefix);
|
|
extern int cmd_record(int argc, const char **argv, const char *prefix);
|
|
extern int cmd_report(int argc, const char **argv, const char *prefix);
|
|
extern int cmd_stat(int argc, const char **argv, const char *prefix);
|
|
extern int cmd_timechart(int argc, const char **argv, const char *prefix);
|
|
extern int cmd_top(int argc, const char **argv, const char *prefix);
|
|
extern int cmd_script(int argc, const char **argv, const char *prefix);
|
|
extern int cmd_version(int argc, const char **argv, const char *prefix);
|
|
extern int cmd_probe(int argc, const char **argv, const char *prefix);
|
|
extern int cmd_kmem(int argc, const char **argv, const char *prefix);
|
|
extern int cmd_lock(int argc, const char **argv, const char *prefix);
|
|
extern int cmd_kvm(int argc, const char **argv, const char *prefix);
|
|
extern int cmd_test(int argc, const char **argv, const char *prefix);
|
|
extern int cmd_trace(int argc, const char **argv, const char *prefix);
|
|
extern int cmd_inject(int argc, const char **argv, const char *prefix);
|
|
|
|
extern int find_scripts(char **scripts_array, char **scripts_path_array);
|
|
#endif
|