Lines Matching refs:script
748 tod_scnprintf(struct perf_script *script, char *buf, int buflen, in tod_scnprintf() argument
759 if (buflen < 64 || !script) in tod_scnprintf()
762 env = perf_session__env(script->session); in tod_scnprintf()
815 static int perf_sample__fprintf_start(struct perf_script *script, in perf_sample__fprintf_start() argument
916 tod_scnprintf(script, tstr, sizeof(tstr), sample->time); in perf_sample__fprintf_start()
2107 static void perf_sample__fprint_metric(struct perf_script *script, in perf_sample__fprint_metric() argument
2129 evlist__alloc_stats(&stat_config, script->session->evlist, /*alloc_raw=*/false); in perf_sample__fprint_metric()
2187 static void process_event(struct perf_script *script, in process_event() argument
2206 perf_sample__fprintf_start(script, sample, thread, evsel, in process_event()
2215 if (!script->name_width) in process_event()
2216 script->name_width = evlist__max_name_len(script->session->evlist); in process_event()
2218 fprintf(fp, "%*s: ", script->name_width, evname ?: "[unknown]"); in process_event()
2271 if (script->stitch_lbr) in process_event()
2323 perf_sample__fprint_metric(script, thread, evsel, sample, fp); in process_event()
2562 struct perf_script *script = container_of(tool, struct perf_script, tool); in print_event_with_time() local
2563 struct perf_session *session = script->session; in print_event_with_time()
2581 perf_sample__fprintf_start(script, sample, thread, evsel, in print_event_with_time()
2689 struct perf_script *script = container_of(tool, struct perf_script, tool); in process_switch_event() local
2697 if (!script->show_switch_events) in process_switch_event()
2784 static void perf_script__fclose_per_event_dump(struct perf_script *script) in perf_script__fclose_per_event_dump() argument
2786 struct evlist *evlist = script->session->evlist; in perf_script__fclose_per_event_dump()
2797 static int perf_script__fopen_per_event_dump(struct perf_script *script) in perf_script__fopen_per_event_dump() argument
2801 evlist__for_each_entry(script->session->evlist, evsel) { in perf_script__fopen_per_event_dump()
2812 evsel->priv = evsel_script__new(evsel, script->session->data); in perf_script__fopen_per_event_dump()
2820 perf_script__fclose_per_event_dump(script); in perf_script__fopen_per_event_dump()
2824 static int perf_script__setup_per_event_dump(struct perf_script *script) in perf_script__setup_per_event_dump() argument
2828 if (script->per_event_dump) in perf_script__setup_per_event_dump()
2829 return perf_script__fopen_per_event_dump(script); in perf_script__setup_per_event_dump()
2833 evlist__for_each_entry(script->session->evlist, evsel) in perf_script__setup_per_event_dump()
2839 static void perf_script__exit_per_event_dump_stats(struct perf_script *script) in perf_script__exit_per_event_dump_stats() argument
2843 evlist__for_each_entry(script->session->evlist, evsel) { in perf_script__exit_per_event_dump_stats()
2852 static void perf_script__exit(struct perf_script *script) in perf_script__exit() argument
2854 perf_thread_map__put(script->threads); in perf_script__exit()
2855 perf_cpu_map__put(script->cpus); in perf_script__exit()
2858 static int __cmd_script(struct perf_script *script) in __cmd_script() argument
2865 if (script->show_task_events) { in __cmd_script()
2866 script->tool.comm = process_comm_event; in __cmd_script()
2867 script->tool.fork = process_fork_event; in __cmd_script()
2868 script->tool.exit = process_exit_event; in __cmd_script()
2870 if (script->show_mmap_events) { in __cmd_script()
2871 script->tool.mmap = process_mmap_event; in __cmd_script()
2872 script->tool.mmap2 = process_mmap2_event; in __cmd_script()
2874 if (script->show_switch_events || (scripting_ops && scripting_ops->process_switch)) in __cmd_script()
2875 script->tool.context_switch = process_switch_event; in __cmd_script()
2877 script->tool.auxtrace_error = process_auxtrace_error; in __cmd_script()
2878 if (script->show_namespace_events) in __cmd_script()
2879 script->tool.namespaces = process_namespaces_event; in __cmd_script()
2880 if (script->show_cgroup_events) in __cmd_script()
2881 script->tool.cgroup = process_cgroup_event; in __cmd_script()
2882 if (script->show_lost_events) in __cmd_script()
2883 script->tool.lost = process_lost_event; in __cmd_script()
2884 if (script->show_round_events) { in __cmd_script()
2885 script->tool.ordered_events = false; in __cmd_script()
2886 script->tool.finished_round = process_finished_round_event; in __cmd_script()
2888 if (script->show_bpf_events) { in __cmd_script()
2889 script->tool.ksymbol = process_bpf_events; in __cmd_script()
2890 script->tool.bpf = process_bpf_events; in __cmd_script()
2891 script->tool.bpf_metadata = process_bpf_metadata_event; in __cmd_script()
2893 if (script->show_text_poke_events) { in __cmd_script()
2894 script->tool.ksymbol = process_bpf_events; in __cmd_script()
2895 script->tool.text_poke = process_text_poke_events; in __cmd_script()
2898 if (perf_script__setup_per_event_dump(script)) { in __cmd_script()
2903 ret = perf_session__process_events(script->session); in __cmd_script()
2905 if (script->per_event_dump) in __cmd_script()
2906 perf_script__exit_per_event_dump_stats(script); in __cmd_script()
2930 static char *find_script(const char *script) in find_script() argument
2935 const char *ext = strrchr(script, '.'); in find_script()
2945 if (access(script, R_OK)) { in find_script()
2951 exec_path, scripting_ops->dirname, script); in find_script()
2953 script = path; in find_script()
2954 if (access(script, R_OK)) in find_script()
2957 return strdup(script); in find_script()
2964 const char *script, *ext; in parse_scriptname() local
2972 script = strchr(str, ':'); in parse_scriptname()
2973 if (script) { in parse_scriptname()
2974 len = script - str; in parse_scriptname()
2986 script++; in parse_scriptname()
2988 script = str; in parse_scriptname()
2989 ext = strrchr(script, '.'); in parse_scriptname()
3001 script_name = find_script(script); in parse_scriptname()
3003 script_name = strdup(script); in parse_scriptname()
3505 static void script__setup_sample_type(struct perf_script *script) in script__setup_sample_type() argument
3507 struct perf_session *session = script->session; in script__setup_sample_type()
3512 if (script->stitch_lbr && (callchain_param.record_mode != CALLCHAIN_LBR)) { in script__setup_sample_type()
3515 script->stitch_lbr = false; in script__setup_sample_type()
3548 static int set_maps(struct perf_script *script) in set_maps() argument
3550 struct evlist *evlist = script->session->evlist; in set_maps()
3552 if (!script->cpus || !script->threads) in set_maps()
3555 if (WARN_ONCE(script->allocated, "stats double allocation\n")) in set_maps()
3558 perf_evlist__set_maps(&evlist->core, script->cpus, script->threads); in set_maps()
3563 script->allocated = true; in set_maps()
3572 struct perf_script *script = container_of(tool, struct perf_script, tool); in process_thread_map_event() local
3577 if (script->threads) { in process_thread_map_event()
3582 script->threads = thread_map__new_event(&event->thread_map); in process_thread_map_event()
3583 if (!script->threads) in process_thread_map_event()
3586 return set_maps(script); in process_thread_map_event()
3594 struct perf_script *script = container_of(tool, struct perf_script, tool); in process_cpu_map_event() local
3599 if (script->cpus) { in process_cpu_map_event()
3604 script->cpus = cpu_map__new_data(&event->cpu_map.data); in process_cpu_map_event()
3605 if (!script->cpus) in process_cpu_map_event()
3608 return set_maps(script); in process_cpu_map_event()
3627 struct perf_script *script = container_of(tool, struct perf_script, tool); in perf_script__process_auxtrace_info() local
3629 ret = perf_script__setup_per_event_dump(script); in perf_script__process_auxtrace_info()
3713 struct perf_script script = {}; in cmd_script() local
3801 OPT_BOOLEAN('\0', "show-task-events", &script.show_task_events, in cmd_script()
3803 OPT_BOOLEAN('\0', "show-mmap-events", &script.show_mmap_events, in cmd_script()
3805 OPT_BOOLEAN('\0', "show-switch-events", &script.show_switch_events, in cmd_script()
3807 OPT_BOOLEAN('\0', "show-namespace-events", &script.show_namespace_events, in cmd_script()
3809 OPT_BOOLEAN('\0', "show-cgroup-events", &script.show_cgroup_events, in cmd_script()
3811 OPT_BOOLEAN('\0', "show-lost-events", &script.show_lost_events, in cmd_script()
3813 OPT_BOOLEAN('\0', "show-round-events", &script.show_round_events, in cmd_script()
3815 OPT_BOOLEAN('\0', "show-bpf-events", &script.show_bpf_events, in cmd_script()
3817 OPT_BOOLEAN('\0', "show-text-poke-events", &script.show_text_poke_events, in cmd_script()
3819 OPT_BOOLEAN('\0', "per-event-dump", &script.per_event_dump, in cmd_script()
3837 OPT_STRING(0, "time", &script.time_str, "str", in cmd_script()
3852 OPT_BOOLEAN('\0', "stitch-lbr", &script.stitch_lbr, in cmd_script()
3854 OPTS_EVSWITCH(&script.evswitch), in cmd_script()
4081 perf_tool__init(&script.tool, !unsorted_dump); in cmd_script()
4082 script.tool.sample = process_sample_event; in cmd_script()
4083 script.tool.mmap = perf_event__process_mmap; in cmd_script()
4084 script.tool.mmap2 = perf_event__process_mmap2; in cmd_script()
4085 script.tool.comm = perf_event__process_comm; in cmd_script()
4086 script.tool.namespaces = perf_event__process_namespaces; in cmd_script()
4087 script.tool.cgroup = perf_event__process_cgroup; in cmd_script()
4088 script.tool.exit = perf_event__process_exit; in cmd_script()
4089 script.tool.fork = perf_event__process_fork; in cmd_script()
4090 script.tool.attr = process_attr; in cmd_script()
4091 script.tool.event_update = perf_event__process_event_update; in cmd_script()
4093 script.tool.tracing_data = perf_event__process_tracing_data; in cmd_script()
4095 script.tool.feature = process_feature_event; in cmd_script()
4096 script.tool.build_id = perf_event__process_build_id; in cmd_script()
4097 script.tool.id_index = perf_event__process_id_index; in cmd_script()
4098 script.tool.auxtrace_info = perf_script__process_auxtrace_info; in cmd_script()
4099 script.tool.auxtrace = perf_event__process_auxtrace; in cmd_script()
4100 script.tool.auxtrace_error = perf_event__process_auxtrace_error; in cmd_script()
4101 script.tool.stat = perf_event__process_stat_event; in cmd_script()
4102 script.tool.stat_round = process_stat_round_event; in cmd_script()
4103 script.tool.stat_config = process_stat_config_event; in cmd_script()
4104 script.tool.thread_map = process_thread_map_event; in cmd_script()
4105 script.tool.cpu_map = process_cpu_map_event; in cmd_script()
4106 script.tool.throttle = process_throttle_event; in cmd_script()
4107 script.tool.unthrottle = process_throttle_event; in cmd_script()
4108 script.tool.ordering_requires_timestamps = true; in cmd_script()
4109 session = perf_session__new(&data, &script.tool); in cmd_script()
4115 script.tool.show_feat_hdr = SHOW_FEAT_HEADER; in cmd_script()
4121 script.tool.show_feat_hdr = SHOW_FEAT_HEADER_FULL_INFO; in cmd_script()
4137 script.session = session; in cmd_script()
4138 script__setup_sample_type(&script); in cmd_script()
4229 if (script.time_str) { in cmd_script()
4230 err = perf_time__parse_for_ranges_reltime(script.time_str, session, in cmd_script()
4231 &script.ptime_range, in cmd_script()
4232 &script.range_size, in cmd_script()
4233 &script.range_num, in cmd_script()
4239 script.ptime_range, in cmd_script()
4240 script.range_num); in cmd_script()
4243 err = evswitch__init(&script.evswitch, session->evlist, stderr); in cmd_script()
4250 err = __cmd_script(&script); in cmd_script()
4258 if (script.ptime_range) { in cmd_script()
4260 zfree(&script.ptime_range); in cmd_script()
4266 perf_script__exit(&script); in cmd_script()