Lines Matching refs:tool
18 #include "util/tool.h"
38 struct perf_tool tool;
61 static int dso__inject_build_id(struct dso *dso, struct perf_tool *tool,
76 static int perf_event__repipe_synth(struct perf_tool *tool,
79 struct perf_inject *inject = container_of(tool, struct perf_inject,
80 tool);
85 static int perf_event__repipe_oe_synth(struct perf_tool *tool,
89 return perf_event__repipe_synth(tool, event);
93 static int perf_event__drop_oe(struct perf_tool *tool __maybe_unused,
104 return perf_event__repipe_synth(session->tool, event);
111 return perf_event__repipe_synth(session->tool, event);
114 static int perf_event__repipe_attr(struct perf_tool *tool,
118 struct perf_inject *inject = container_of(tool, struct perf_inject,
119 tool);
122 ret = perf_event__process_attr(tool, event, pevlist);
129 return perf_event__repipe_synth(tool, event);
132 static int perf_event__repipe_event_update(struct perf_tool *tool,
136 return perf_event__repipe_synth(tool, event);
163 struct perf_tool *tool = session->tool;
164 struct perf_inject *inject = container_of(tool, struct perf_inject,
165 tool);
210 static int perf_event__repipe(struct perf_tool *tool,
215 return perf_event__repipe_synth(tool, event);
218 static int perf_event__drop(struct perf_tool *tool __maybe_unused,
226 static int perf_event__drop_aux(struct perf_tool *tool,
231 struct perf_inject *inject = container_of(tool, struct perf_inject, tool);
261 typedef int (*inject_handler)(struct perf_tool *tool,
267 static int perf_event__repipe_sample(struct perf_tool *tool,
273 struct perf_inject *inject = container_of(tool, struct perf_inject,
274 tool);
278 return f(tool, event, sample, evsel, machine);
281 build_id__mark_dso_hit(tool, event, sample, evsel, machine);
286 return perf_event__repipe_synth(tool, event);
289 static int perf_event__repipe_mmap(struct perf_tool *tool,
296 err = perf_event__process_mmap(tool, event, sample, machine);
297 perf_event__repipe(tool, event, sample, machine);
303 static int perf_event__jit_repipe_mmap(struct perf_tool *tool,
308 struct perf_inject *inject = container_of(tool, struct perf_inject, tool);
323 return perf_event__repipe_mmap(tool, event, sample, machine);
371 static int perf_event__repipe_buildid_mmap(struct perf_tool *tool,
383 dso__inject_build_id(dso, tool, machine, sample->cpumode, 0);
387 return perf_event__repipe(tool, event, sample, machine);
390 static int perf_event__repipe_mmap2(struct perf_tool *tool,
397 err = perf_event__process_mmap2(tool, event, sample, machine);
398 perf_event__repipe(tool, event, sample, machine);
404 static int perf_event__jit_repipe_mmap2(struct perf_tool *tool,
409 struct perf_inject *inject = container_of(tool, struct perf_inject, tool);
424 return perf_event__repipe_mmap2(tool, event, sample, machine);
428 static int perf_event__repipe_buildid_mmap2(struct perf_tool *tool,
446 dso__inject_build_id(dso, tool, machine, sample->cpumode,
451 perf_event__repipe(tool, event, sample, machine);
456 static int perf_event__repipe_fork(struct perf_tool *tool,
463 err = perf_event__process_fork(tool, event, sample, machine);
464 perf_event__repipe(tool, event, sample, machine);
469 static int perf_event__repipe_comm(struct perf_tool *tool,
476 err = perf_event__process_comm(tool, event, sample, machine);
477 perf_event__repipe(tool, event, sample, machine);
482 static int perf_event__repipe_namespaces(struct perf_tool *tool,
487 int err = perf_event__process_namespaces(tool, event, sample, machine);
489 perf_event__repipe(tool, event, sample, machine);
494 static int perf_event__repipe_exit(struct perf_tool *tool,
501 err = perf_event__process_exit(tool, event, sample, machine);
502 perf_event__repipe(tool, event, sample, machine);
512 perf_event__repipe_synth(session->tool, event);
533 static int dso__inject_build_id(struct dso *dso, struct perf_tool *tool,
548 err = perf_event__synthesize_build_id(tool, dso, cpumode,
558 int perf_event__inject_buildid(struct perf_tool *tool, union perf_event *event,
576 dso__inject_build_id(al.map->dso, tool, machine,
583 perf_event__repipe(tool, event, sample, machine);
587 static int perf_inject__sched_process_exit(struct perf_tool *tool,
593 struct perf_inject *inject = container_of(tool, struct perf_inject, tool);
607 static int perf_inject__sched_switch(struct perf_tool *tool,
613 struct perf_inject *inject = container_of(tool, struct perf_inject, tool);
616 perf_inject__sched_process_exit(tool, event, sample, evsel, machine);
631 static int perf_inject__sched_stat(struct perf_tool *tool,
640 struct perf_inject *inject = container_of(tool, struct perf_inject, tool);
657 build_id__mark_dso_hit(tool, event_sw, &sample_sw, evsel, machine);
658 return perf_event__repipe(tool, event_sw, &sample_sw, machine);
680 static int drop_sample(struct perf_tool *tool __maybe_unused,
694 inject->tool.context_switch = perf_event__drop;
712 inject->tool.mmap = perf_event__repipe_mmap;
713 inject->tool.mmap2 = perf_event__repipe_mmap2;
714 inject->tool.fork = perf_event__repipe_fork;
715 inject->tool.tracing_data = perf_event__repipe_tracing_data;
721 inject->tool.mmap = perf_event__repipe_buildid_mmap;
722 inject->tool.mmap2 = perf_event__repipe_buildid_mmap2;
724 inject->tool.sample = perf_event__inject_buildid;
744 inject->tool.comm = perf_event__repipe_comm;
745 inject->tool.namespaces = perf_event__repipe_namespaces;
746 inject->tool.exit = perf_event__repipe_exit;
747 inject->tool.id_index = perf_event__process_id_index;
748 inject->tool.auxtrace_info = perf_event__process_auxtrace_info;
749 inject->tool.auxtrace = perf_event__process_auxtrace;
750 inject->tool.aux = perf_event__drop_aux;
751 inject->tool.itrace_start = perf_event__drop_aux,
752 inject->tool.ordered_events = true;
753 inject->tool.ordering_requires_timestamps = true;
804 .tool = {
908 inject.session = perf_session__new(&data, inject.output.is_pipe, &inject.tool);
924 inject.tool.ordered_events = true;
925 inject.tool.ordering_requires_timestamps = true;
929 inject.tool.ordered_events = true;
934 inject.tool.mmap2 = perf_event__jit_repipe_mmap2;
935 inject.tool.mmap = perf_event__jit_repipe_mmap;
936 inject.tool.ordered_events = true;
937 inject.tool.ordering_requires_timestamps = true;
942 inject.tool.finished_round = perf_event__drop_oe;