4ace73eef5
Move the trace-event-parse.c code that originally came from trace-cmd into their own files. The new file will be called trace-parse-events.c, as the name of trace-cmd's file was parse-events.c too, but it conflicted with the parse-events.c file in perf that parses the command line. This tries to update the code with mimimal changes. Perf specific code stays in the trace-event-parse.[ch] files and the common parsing code is now in trace-parse-events.c and trace-parse-events.h. Signed-off-by: Steven Rostedt <rostedt@goodmis.org> Cc: Ingo Molnar <mingo@kernel.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Arnaldo Carvalho de Melo <acme@infradead.org> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Borislav Petkov <bp@alien8.de> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Arun Sharma <asharma@fb.com> Cc: Namhyung Kim <namhyung.kim@lge.com> Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
53 lines
1.3 KiB
C
53 lines
1.3 KiB
C
#ifndef _PERF_UTIL_TRACE_EVENT_H
|
|
#define _PERF_UTIL_TRACE_EVENT_H
|
|
|
|
#include "parse-events.h"
|
|
#include "trace-parse-events.h"
|
|
#include "session.h"
|
|
|
|
struct machine;
|
|
struct perf_sample;
|
|
union perf_event;
|
|
struct thread;
|
|
|
|
int read_tracing_data(int fd, struct list_head *pattrs);
|
|
|
|
struct tracing_data {
|
|
/* size is only valid if temp is 'true' */
|
|
ssize_t size;
|
|
bool temp;
|
|
char temp_file[50];
|
|
};
|
|
|
|
struct tracing_data *tracing_data_get(struct list_head *pattrs,
|
|
int fd, bool temp);
|
|
void tracing_data_put(struct tracing_data *tdata);
|
|
|
|
|
|
struct scripting_ops {
|
|
const char *name;
|
|
int (*start_script) (const char *script, int argc, const char **argv);
|
|
int (*stop_script) (void);
|
|
void (*process_event) (union perf_event *event,
|
|
struct perf_sample *sample,
|
|
struct perf_evsel *evsel,
|
|
struct machine *machine,
|
|
struct thread *thread);
|
|
int (*generate_script) (const char *outfile);
|
|
};
|
|
|
|
int script_spec_register(const char *spec, struct scripting_ops *ops);
|
|
|
|
void setup_perl_scripting(void);
|
|
void setup_python_scripting(void);
|
|
|
|
struct scripting_context {
|
|
void *event_data;
|
|
};
|
|
|
|
int common_pc(struct scripting_context *context);
|
|
int common_flags(struct scripting_context *context);
|
|
int common_lock_depth(struct scripting_context *context);
|
|
|
|
#endif /* _PERF_UTIL_TRACE_EVENT_H */
|