Lines Matching defs:evsel

19 #include "util/evsel.h"
293 static inline struct evsel_script *evsel_script(struct evsel *evsel)
295 return (struct evsel_script *)evsel->priv;
298 static struct evsel_script *evsel_script__new(struct evsel *evsel, struct perf_data *data)
303 if (asprintf(&es->filename, "%s.%s.dump", data->file.path, evsel__name(evsel)) < 0)
381 static int evsel__do_check_stype(struct evsel *evsel, u64 sample_type, const char *sample_msg,
384 struct perf_event_attr *attr = &evsel->core.attr;
394 evname = evsel__name(evsel);
403 evname = evsel__name(evsel);
411 static int evsel__check_stype(struct evsel *evsel, u64 sample_type, const char *sample_msg,
414 return evsel__do_check_stype(evsel, sample_type, sample_msg, field, false);
417 static int evsel__check_attr(struct evsel *evsel, struct perf_session *session)
419 struct perf_event_attr *attr = &evsel->core.attr;
433 if (evsel__check_stype(evsel, PERF_SAMPLE_IP, "IP", PERF_OUTPUT_IP))
438 evsel__do_check_stype(evsel, PERF_SAMPLE_ADDR, "ADDR", PERF_OUTPUT_ADDR, allow_user_set))
442 evsel__check_stype(evsel, PERF_SAMPLE_DATA_SRC, "DATA_SRC", PERF_OUTPUT_DATA_SRC))
446 evsel__check_stype(evsel, PERF_SAMPLE_WEIGHT, "WEIGHT", PERF_OUTPUT_WEIGHT))
450 !(evsel->core.attr.sample_type & (PERF_SAMPLE_IP|PERF_SAMPLE_ADDR))) {
462 !(evsel->core.attr.sample_type & (PERF_SAMPLE_IP|PERF_SAMPLE_ADDR))) {
478 evsel__check_stype(evsel, PERF_SAMPLE_TID, "TID", PERF_OUTPUT_TID|PERF_OUTPUT_PID))
482 evsel__check_stype(evsel, PERF_SAMPLE_TIME, "TIME", PERF_OUTPUT_TIME))
486 evsel__do_check_stype(evsel, PERF_SAMPLE_CPU, "CPU", PERF_OUTPUT_CPU, allow_user_set))
490 evsel__do_check_stype(evsel, PERF_SAMPLE_REGS_INTR, "IREGS", PERF_OUTPUT_IREGS, allow_user_set))
494 evsel__check_stype(evsel, PERF_SAMPLE_REGS_USER, "UREGS", PERF_OUTPUT_UREGS))
498 evsel__check_stype(evsel, PERF_SAMPLE_PHYS_ADDR, "PHYS_ADDR", PERF_OUTPUT_PHYS_ADDR))
533 struct evsel *evsel;
536 evsel = perf_session__find_first_evtype(session, attr_type(j));
542 if (!evsel && output[j].user_set && !output[j].wildcard_set &&
550 if (evsel && output[j].fields &&
551 evsel__check_attr(evsel, session))
554 if (evsel == NULL)
557 set_print_ip_opts(&evsel->core.attr);
565 evlist__for_each_entry(session->evlist, evsel) {
567 if (evsel__has_callchain(evsel)) {
584 evlist__for_each_entry(session->evlist, evsel) {
585 if (evsel->core.attr.type != j)
588 if (evsel__has_callchain(evsel)) {
593 set_print_ip_opts(&evsel->core.attr);
694 struct evsel *evsel,
697 struct perf_event_attr *attr = &evsel->core.attr;
708 else if (PRINT_FIELD(IP) && evsel__has_callchain(evsel) && symbol_conf.use_callchain)
1307 struct evsel *evsel,
1313 struct perf_event_attr *attr = &evsel->core.attr;
1336 struct evsel *evsel,
1340 struct perf_event_attr *attr = &evsel->core.attr;
1355 name = resolve_branch_sym(sample, evsel, thread, al, &ip);
1430 struct evsel *evsel,
1435 struct perf_event_attr *attr = &evsel->core.attr;
1441 printed += perf_sample__fprintf_callindent(sample, evsel, thread, al, fp);
1449 thread__resolve_callchain(al->thread, &callchain_cursor, evsel,
1468 ((evsel->core.attr.sample_type & PERF_SAMPLE_ADDR) &&
1739 struct evsel *evsel, FILE *fp)
1741 switch (evsel->core.attr.config) {
1763 struct evsel *evsel;
1766 evlist__for_each_entry(evlist, evsel) {
1767 int len = strlen(evsel__name(evsel));
1795 struct evsel *evsel;
1808 perf_sample__fprintf_start(NULL, mctx->sample, mctx->thread, mctx->evsel,
1823 perf_sample__fprintf_start(NULL, mctx->sample, mctx->thread, mctx->evsel,
1830 struct evsel *evsel,
1840 .evsel = evsel,
1845 struct evsel *ev2;
1848 if (!evsel->stats)
1850 if (evsel_script(evsel->leader)->gnum++ == 0)
1852 val = sample->period * evsel->scale;
1853 perf_stat__update_shadow_stats(evsel,
1857 evsel_script(evsel)->val = val;
1858 if (evsel_script(evsel->leader)->gnum == evsel->leader->core.nr_members) {
1859 for_each_group_member (ev2, evsel->leader) {
1867 evsel_script(evsel->leader)->gnum = 0;
1872 struct evsel *evsel,
1890 const char *name = resolve_branch_sym(sample, evsel, thread, al,
1913 struct perf_sample *sample, struct evsel *evsel,
1918 struct perf_event_attr *attr = &evsel->core.attr;
1920 struct evsel_script *es = evsel->priv;
1926 if (!show_event(sample, evsel, thread, al))
1929 if (evswitch__discard(&script->evswitch, evsel))
1934 perf_sample__fprintf_start(script, sample, thread, evsel,
1941 const char *evname = evsel__name(evsel);
1953 perf_sample__fprintf_bts(sample, evsel, thread, al, machine, fp);
1958 event_format__fprintf(evsel->tp_format, sample->cpu,
1963 perf_sample__fprintf_synth(sample, evsel, fp);
1981 thread__resolve_callchain(al->thread, &callchain_cursor, evsel,
2003 if (evsel__is_bpf_output(evsel) && PRINT_FIELD(BPF_OUTPUT))
2021 perf_sample__fprint_metric(script, thread, evsel, sample, fp);
2029 static void __process_stat(struct evsel *counter, u64 tstamp)
2063 static void process_stat(struct evsel *counter, u64 tstamp)
2105 struct evsel *evsel,
2140 scripting_ops->process_event(event, sample, evsel, &al);
2142 process_event(scr, sample, evsel, &al, machine);
2157 struct evsel *evsel, *pos;
2166 evsel = evlist__last(*pevlist);
2168 if (!evsel->priv) {
2170 evsel->priv = evsel_script__new(evsel, scr->session->data);
2171 if (!evsel->priv)
2175 evsel->priv = &es_stdout;
2179 if (evsel->core.attr.type >= PERF_TYPE_MAX &&
2180 evsel->core.attr.type != PERF_TYPE_SYNTH)
2184 if (pos->core.attr.type == evsel->core.attr.type && pos != evsel)
2188 if (evsel->core.attr.sample_type) {
2189 err = evsel__check_attr(evsel, scr->session);
2207 int type = output_type(evsel->core.attr.type);
2214 set_print_ip_opts(&evsel->core.attr);
2226 struct evsel *evsel = perf_evlist__id2evsel(session->evlist, sample->id);
2229 if (evsel && !evsel->core.attr.sample_id_all) {
2242 if (evsel) {
2243 perf_sample__fprintf_start(script, sample, thread, evsel,
2419 struct evsel *evsel;
2421 evlist__for_each_entry(evlist, evsel) {
2422 if (!evsel->priv)
2424 evsel_script__delete(evsel->priv);
2425 evsel->priv = NULL;
2431 struct evsel *evsel;
2433 evlist__for_each_entry(script->session->evlist, evsel) {
2441 if (evsel->priv != NULL)
2444 evsel->priv = evsel_script__new(evsel, script->session->data);
2445 if (evsel->priv == NULL)
2458 struct evsel *evsel;
2465 evlist__for_each_entry(script->session->evlist, evsel)
2466 evsel->priv = &es_stdout;
2473 struct evsel *evsel;
2475 evlist__for_each_entry(script->session->evlist, evsel) {
2476 struct evsel_script *es = evsel->priv;
2480 evsel->priv = NULL;
3046 struct evsel *pos;
3285 struct evsel *counter;