Lines Matching full:sample
517 pr_err("Display of symbols requested but neither sample IP nor " in evsel__check_attr()
518 "sample address\navailable. Hence, no addresses to convert " in evsel__check_attr()
533 pr_err("Display of source line number requested but sample IP is not\n" in evsel__check_attr()
793 static int perf_sample__fprintf_iregs(struct perf_sample *sample, in perf_sample__fprintf_iregs() argument
796 if (!sample->intr_regs) in perf_sample__fprintf_iregs()
799 return perf_sample__fprintf_regs(perf_sample__intr_regs(sample), in perf_sample__fprintf_iregs()
803 static int perf_sample__fprintf_uregs(struct perf_sample *sample, in perf_sample__fprintf_uregs() argument
806 if (!sample->user_regs) in perf_sample__fprintf_uregs()
809 return perf_sample__fprintf_regs(perf_sample__user_regs(sample), in perf_sample__fprintf_uregs()
814 struct perf_sample *sample, in perf_sample__fprintf_start() argument
837 if (PRINT_FIELD(MACHINE_PID) && sample->machine_pid) in perf_sample__fprintf_start()
838 printed += fprintf(fp, "VM:%5d ", sample->machine_pid); in perf_sample__fprintf_start()
841 if (PRINT_FIELD(VCPU) && sample->machine_pid) in perf_sample__fprintf_start()
842 printed += fprintf(fp, "VCPU:%03d ", sample->vcpu); in perf_sample__fprintf_start()
856 printed += fprintf(fp, "%7d/%-7d ", sample->pid, sample->tid); in perf_sample__fprintf_start()
858 printed += fprintf(fp, "%7d ", sample->pid); in perf_sample__fprintf_start()
860 printed += fprintf(fp, "%7d ", sample->tid); in perf_sample__fprintf_start()
864 printed += fprintf(fp, "%3d ", sample->cpu); in perf_sample__fprintf_start()
866 printed += fprintf(fp, "[%03d] ", sample->cpu); in perf_sample__fprintf_start()
873 (sample->misc & PERF_RECORD_MISC_##m) == PERF_RECORD_MISC_##m in perf_sample__fprintf_start()
900 if (sample->misc & PERF_RECORD_MISC_SWITCH_OUT_PREEMPT) in perf_sample__fprintf_start()
914 tod_scnprintf(script, tstr, sizeof(tstr), sample->time); in perf_sample__fprintf_start()
919 u64 t = sample->time; in perf_sample__fprintf_start()
922 initial_time = sample->time; in perf_sample__fprintf_start()
923 t = sample->time - initial_time; in perf_sample__fprintf_start()
926 t = sample->time - previous_time; in perf_sample__fprintf_start()
930 previous_time = sample->time; in perf_sample__fprintf_start()
974 static int perf_sample__fprintf_brstack(struct perf_sample *sample, in perf_sample__fprintf_brstack() argument
978 struct branch_stack *br = sample->branch_stack; in perf_sample__fprintf_brstack()
979 struct branch_entry *entries = perf_sample__branch_entries(sample); in perf_sample__fprintf_brstack()
996 thread__find_map_fb(thread, sample->cpumode, from, &alf); in perf_sample__fprintf_brstack()
997 thread__find_map_fb(thread, sample->cpumode, to, &alt); in perf_sample__fprintf_brstack()
1013 static int perf_sample__fprintf_brstacksym(struct perf_sample *sample, in perf_sample__fprintf_brstacksym() argument
1017 struct branch_stack *br = sample->branch_stack; in perf_sample__fprintf_brstacksym()
1018 struct branch_entry *entries = perf_sample__branch_entries(sample); in perf_sample__fprintf_brstacksym()
1033 thread__find_symbol_fb(thread, sample->cpumode, from, &alf); in perf_sample__fprintf_brstacksym()
1034 thread__find_symbol_fb(thread, sample->cpumode, to, &alt); in perf_sample__fprintf_brstacksym()
1051 static int perf_sample__fprintf_brstackoff(struct perf_sample *sample, in perf_sample__fprintf_brstackoff() argument
1055 struct branch_stack *br = sample->branch_stack; in perf_sample__fprintf_brstackoff()
1056 struct branch_entry *entries = perf_sample__branch_entries(sample); in perf_sample__fprintf_brstackoff()
1071 if (thread__find_map_fb(thread, sample->cpumode, from, &alf) && in perf_sample__fprintf_brstackoff()
1075 if (thread__find_map_fb(thread, sample->cpumode, to, &alt) && in perf_sample__fprintf_brstackoff()
1349 static int perf_sample__fprintf_brstackinsn(struct perf_sample *sample, in perf_sample__fprintf_brstackinsn() argument
1355 struct branch_stack *br = sample->branch_stack; in perf_sample__fprintf_brstackinsn()
1356 struct branch_entry *entries = perf_sample__branch_entries(sample); in perf_sample__fprintf_brstackinsn()
1374 x.cpu = sample->cpu; in perf_sample__fprintf_brstackinsn()
1376 if (PRINT_FIELD(BRCNTR) && sample->branch_stack_cntr) in perf_sample__fprintf_brstackinsn()
1377 br_cntr = sample->branch_stack_cntr[nr - 1]; in perf_sample__fprintf_brstackinsn()
1420 if (PRINT_FIELD(BRCNTR) && sample->branch_stack_cntr) in perf_sample__fprintf_brstackinsn()
1421 br_cntr = sample->branch_stack_cntr[i]; in perf_sample__fprintf_brstackinsn()
1449 if (entries[0].from == sample->ip) in perf_sample__fprintf_brstackinsn()
1455 * Print final block up to sample in perf_sample__fprintf_brstackinsn()
1459 * between final branch and sample. When this happens just in perf_sample__fprintf_brstackinsn()
1463 end = sample->ip; in perf_sample__fprintf_brstackinsn()
1472 len = grab_bb(buffer, sample->ip, sample->ip, in perf_sample__fprintf_brstackinsn()
1477 printed += fprintf(fp, "\t%016" PRIx64 "\t", sample->ip); in perf_sample__fprintf_brstackinsn()
1478 printed += any_dump_insn(evsel, &x, sample->ip, buffer, len, &ilen, fp); in perf_sample__fprintf_brstackinsn()
1483 print_srccode(thread, x.cpumode, sample->ip); in perf_sample__fprintf_brstackinsn()
1497 && start + off != sample->ip) { in perf_sample__fprintf_brstackinsn()
1501 printed += fprintf(fp, "\t... not reaching sample ...\n"); in perf_sample__fprintf_brstackinsn()
1511 static int perf_sample__fprintf_addr(struct perf_sample *sample, in perf_sample__fprintf_addr() argument
1516 int printed = fprintf(fp, "%16" PRIx64, sample->addr); in perf_sample__fprintf_addr()
1522 thread__resolve(thread, &al, sample); in perf_sample__fprintf_addr()
1539 static const char *resolve_branch_sym(struct perf_sample *sample, in resolve_branch_sym() argument
1548 if (sample->flags & (PERF_IP_FLAG_CALL | PERF_IP_FLAG_TRACE_BEGIN)) { in resolve_branch_sym()
1551 thread__resolve(thread, addr_al, sample); in resolve_branch_sym()
1555 *ip = sample->addr; in resolve_branch_sym()
1557 *ip = sample->addr; in resolve_branch_sym()
1559 } else if (sample->flags & (PERF_IP_FLAG_RETURN | PERF_IP_FLAG_TRACE_END)) { in resolve_branch_sym()
1563 *ip = sample->ip; in resolve_branch_sym()
1568 static int perf_sample__fprintf_callindent(struct perf_sample *sample, in perf_sample__fprintf_callindent() argument
1575 size_t depth = thread_stack__depth(thread, sample->cpu); in perf_sample__fprintf_callindent()
1586 if (thread__ts(thread) && sample->flags & PERF_IP_FLAG_RETURN) in perf_sample__fprintf_callindent()
1589 name = resolve_branch_sym(sample, evsel, thread, al, addr_al, &ip); in perf_sample__fprintf_callindent()
1618 static int perf_sample__fprintf_insn(struct perf_sample *sample, in perf_sample__fprintf_insn() argument
1627 script_fetch_insn(sample, thread, machine, native_arch); in perf_sample__fprintf_insn()
1630 printed += fprintf(fp, " ilen: %d", sample->insn_len); in perf_sample__fprintf_insn()
1631 if (PRINT_FIELD(INSN) && sample->insn_len) { in perf_sample__fprintf_insn()
1633 printed += sample__fprintf_insn_raw(sample, fp); in perf_sample__fprintf_insn()
1635 if (PRINT_FIELD(DISASM) && sample->insn_len) { in perf_sample__fprintf_insn()
1637 printed += sample__fprintf_insn_asm(sample, thread, machine, fp, al); in perf_sample__fprintf_insn()
1640 printed += perf_sample__fprintf_brstackinsn(sample, evsel, thread, attr, machine, fp); in perf_sample__fprintf_insn()
1645 static int perf_sample__fprintf_ipc(struct perf_sample *sample, in perf_sample__fprintf_ipc() argument
1650 if (!PRINT_FIELD(IPC) || !sample->cyc_cnt || !sample->insn_cnt) in perf_sample__fprintf_ipc()
1653 ipc = (sample->insn_cnt * 100) / sample->cyc_cnt; in perf_sample__fprintf_ipc()
1656 ipc / 100, ipc % 100, sample->insn_cnt, sample->cyc_cnt); in perf_sample__fprintf_ipc()
1659 static int perf_sample__fprintf_bts(struct perf_sample *sample, in perf_sample__fprintf_bts() argument
1672 printed += perf_sample__fprintf_callindent(sample, evsel, thread, al, addr_al, fp); in perf_sample__fprintf_bts()
1679 if (symbol_conf.use_callchain && sample->callchain) { in perf_sample__fprintf_bts()
1682 sample, NULL, NULL, in perf_sample__fprintf_bts()
1695 printed += sample__fprintf_sym(sample, al, 0, print_opts, cursor, in perf_sample__fprintf_bts()
1704 printed += perf_sample__fprintf_addr(sample, thread, evsel, fp); in perf_sample__fprintf_bts()
1707 printed += perf_sample__fprintf_ipc(sample, evsel, fp); in perf_sample__fprintf_bts()
1712 printed += perf_sample__fprintf_insn(sample, evsel, attr, thread, machine, fp, al); in perf_sample__fprintf_bts()
1805 static int perf_sample__fprintf_bpf_output(struct perf_sample *sample, FILE *fp) in perf_sample__fprintf_bpf_output() argument
1807 unsigned int nr_bytes = sample->raw_size; in perf_sample__fprintf_bpf_output()
1809 int printed = binary__fprintf(sample->raw_data, nr_bytes, 8, in perf_sample__fprintf_bpf_output()
1813 printed += fprintf(fp, "%17s \"%s\"\n", "BPF string:", (char *)(sample->raw_data)); in perf_sample__fprintf_bpf_output()
1852 static int perf_sample__fprintf_synth_ptwrite(struct perf_sample *sample, FILE *fp) in perf_sample__fprintf_synth_ptwrite() argument
1854 struct perf_synth_intel_ptwrite *data = perf_sample__synth_ptr(sample); in perf_sample__fprintf_synth_ptwrite()
1859 if (perf_sample__bad_synth_size(sample, *data)) in perf_sample__fprintf_synth_ptwrite()
1872 static int perf_sample__fprintf_synth_mwait(struct perf_sample *sample, FILE *fp) in perf_sample__fprintf_synth_mwait() argument
1874 struct perf_synth_intel_mwait *data = perf_sample__synth_ptr(sample); in perf_sample__fprintf_synth_mwait()
1877 if (perf_sample__bad_synth_size(sample, *data)) in perf_sample__fprintf_synth_mwait()
1885 static int perf_sample__fprintf_synth_pwre(struct perf_sample *sample, FILE *fp) in perf_sample__fprintf_synth_pwre() argument
1887 struct perf_synth_intel_pwre *data = perf_sample__synth_ptr(sample); in perf_sample__fprintf_synth_pwre()
1890 if (perf_sample__bad_synth_size(sample, *data)) in perf_sample__fprintf_synth_pwre()
1898 static int perf_sample__fprintf_synth_exstop(struct perf_sample *sample, FILE *fp) in perf_sample__fprintf_synth_exstop() argument
1900 struct perf_synth_intel_exstop *data = perf_sample__synth_ptr(sample); in perf_sample__fprintf_synth_exstop()
1903 if (perf_sample__bad_synth_size(sample, *data)) in perf_sample__fprintf_synth_exstop()
1910 static int perf_sample__fprintf_synth_pwrx(struct perf_sample *sample, FILE *fp) in perf_sample__fprintf_synth_pwrx() argument
1912 struct perf_synth_intel_pwrx *data = perf_sample__synth_ptr(sample); in perf_sample__fprintf_synth_pwrx()
1915 if (perf_sample__bad_synth_size(sample, *data)) in perf_sample__fprintf_synth_pwrx()
1924 static int perf_sample__fprintf_synth_cbr(struct perf_sample *sample, FILE *fp) in perf_sample__fprintf_synth_cbr() argument
1926 struct perf_synth_intel_cbr *data = perf_sample__synth_ptr(sample); in perf_sample__fprintf_synth_cbr()
1930 if (perf_sample__bad_synth_size(sample, *data)) in perf_sample__fprintf_synth_cbr()
1942 static int perf_sample__fprintf_synth_psb(struct perf_sample *sample, FILE *fp) in perf_sample__fprintf_synth_psb() argument
1944 struct perf_synth_intel_psb *data = perf_sample__synth_ptr(sample); in perf_sample__fprintf_synth_psb()
1947 if (perf_sample__bad_synth_size(sample, *data)) in perf_sample__fprintf_synth_psb()
1955 static int perf_sample__fprintf_synth_evt(struct perf_sample *sample, FILE *fp) in perf_sample__fprintf_synth_evt() argument
1957 struct perf_synth_intel_evt *data = perf_sample__synth_ptr(sample); in perf_sample__fprintf_synth_evt()
1965 if (perf_sample__bad_synth_size(sample, *data)) in perf_sample__fprintf_synth_evt()
1991 static int perf_sample__fprintf_synth_iflag_chg(struct perf_sample *sample, FILE *fp) in perf_sample__fprintf_synth_iflag_chg() argument
1993 struct perf_synth_intel_iflag_chg *data = perf_sample__synth_ptr(sample); in perf_sample__fprintf_synth_iflag_chg()
1996 if (perf_sample__bad_synth_size(sample, *data)) in perf_sample__fprintf_synth_iflag_chg()
2004 static int perf_sample__fprintf_synth(struct perf_sample *sample, in perf_sample__fprintf_synth() argument
2009 return perf_sample__fprintf_synth_ptwrite(sample, fp); in perf_sample__fprintf_synth()
2011 return perf_sample__fprintf_synth_mwait(sample, fp); in perf_sample__fprintf_synth()
2013 return perf_sample__fprintf_synth_pwre(sample, fp); in perf_sample__fprintf_synth()
2015 return perf_sample__fprintf_synth_exstop(sample, fp); in perf_sample__fprintf_synth()
2017 return perf_sample__fprintf_synth_pwrx(sample, fp); in perf_sample__fprintf_synth()
2019 return perf_sample__fprintf_synth_cbr(sample, fp); in perf_sample__fprintf_synth()
2021 return perf_sample__fprintf_synth_psb(sample, fp); in perf_sample__fprintf_synth()
2023 return perf_sample__fprintf_synth_evt(sample, fp); in perf_sample__fprintf_synth()
2025 return perf_sample__fprintf_synth_iflag_chg(sample, fp); in perf_sample__fprintf_synth()
2070 struct perf_sample *sample; member
2085 perf_sample__fprintf_start(NULL, mctx->sample, mctx->thread, mctx->evsel, in script_print_metric()
2100 perf_sample__fprintf_start(NULL, mctx->sample, mctx->thread, mctx->evsel, in script_new_line()
2108 struct perf_sample *sample, in perf_sample__fprint_metric() argument
2116 .sample = sample, in perf_sample__fprint_metric()
2130 val = sample->period * evsel->scale; in perf_sample__fprint_metric()
2136 sample->cpu, in perf_sample__fprint_metric()
2144 static bool show_event(struct perf_sample *sample, in show_event() argument
2150 int depth = thread_stack__depth(thread, sample->cpu); in show_event()
2164 const char *name = resolve_branch_sym(sample, evsel, thread, al, addr_al, in show_event()
2187 struct perf_sample *sample, struct evsel *evsel, in process_event() argument
2205 perf_sample__fprintf_start(script, sample, thread, evsel, in process_event()
2209 fprintf(fp, "%10" PRIu64 " ", sample->period); in process_event()
2221 perf_sample__fprintf_flags(sample->flags, fp); in process_event()
2224 perf_sample__fprintf_bts(sample, evsel, thread, al, addr_al, machine, fp); in process_event()
2228 if (PRINT_FIELD(TRACE) && sample->raw_data) { in process_event()
2232 event_format__fprintf(tp_format, sample->cpu, in process_event()
2233 sample->raw_data, sample->raw_size, in process_event()
2239 perf_sample__fprintf_synth(sample, evsel, fp); in process_event()
2242 perf_sample__fprintf_addr(sample, thread, evsel, fp); in process_event()
2245 data_src__fprintf(sample->data_src, fp); in process_event()
2248 fprintf(fp, "%16" PRIu64, sample->weight); in process_event()
2251 fprintf(fp, "%16" PRIu16, sample->ins_lat); in process_event()
2254 fprintf(fp, "%16" PRIu16, sample->retire_lat); in process_event()
2259 sample->cgroup); in process_event()
2273 if (symbol_conf.use_callchain && sample->callchain) { in process_event()
2276 sample, NULL, NULL, in process_event()
2281 sample__fprintf_sym(sample, al, 0, output[type].print_ip_opts, cursor, in process_event()
2286 perf_sample__fprintf_iregs(sample, attr, arch, fp); in process_event()
2289 perf_sample__fprintf_uregs(sample, attr, arch, fp); in process_event()
2292 perf_sample__fprintf_brstack(sample, thread, evsel, fp); in process_event()
2294 perf_sample__fprintf_brstacksym(sample, thread, evsel, fp); in process_event()
2296 perf_sample__fprintf_brstackoff(sample, thread, evsel, fp); in process_event()
2299 perf_sample__fprintf_bpf_output(sample, fp); in process_event()
2300 perf_sample__fprintf_insn(sample, evsel, attr, thread, machine, fp, al); in process_event()
2303 fprintf(fp, "%16" PRIx64, sample->phys_addr); in process_event()
2306 fprintf(fp, " %s", get_page_size_name(sample->data_page_size, str)); in process_event()
2309 fprintf(fp, " %s", get_page_size_name(sample->code_page_size, str)); in process_event()
2311 perf_sample__fprintf_ipc(sample, evsel, fp); in process_event()
2322 perf_sample__fprint_metric(script, thread, evsel, sample, fp); in process_event()
2395 static bool filter_cpu(struct perf_sample *sample) in filter_cpu() argument
2397 if (cpu_list && sample->cpu != (u32)-1) in filter_cpu()
2398 return !test_bit(sample->cpu, cpu_bitmap); in filter_cpu()
2404 struct perf_sample *sample, in process_sample_event() argument
2417 ret = dlfilter__filter_event_early(dlfilter, event, sample, evsel, machine, &al, &addr_al); in process_sample_event()
2425 sample->time)) { in process_sample_event()
2430 if (sample->time < last_timestamp) { in process_sample_event()
2433 sample->time); in process_sample_event()
2436 last_timestamp = sample->time; in process_sample_event()
2440 if (filter_cpu(sample)) in process_sample_event()
2443 if (!al.thread && machine__resolve(machine, &al, sample) < 0) { in process_sample_event()
2453 if (!show_event(sample, evsel, al.thread, &al, &addr_al)) in process_sample_event()
2459 ret = dlfilter__filter_event(dlfilter, event, sample, evsel, machine, &al, &addr_al); in process_sample_event()
2472 thread__resolve(al.thread, &addr_al, sample); in process_sample_event()
2475 scripting_ops->process_event(event, sample, evsel, &al, addr_al_ptr); in process_sample_event()
2477 process_event(scr, sample, evsel, &al, &addr_al, machine); in process_sample_event()
2557 struct perf_sample *sample, in print_event_with_time() argument
2563 struct evsel *evsel = evlist__id2evsel(session->evlist, sample->id); in print_event_with_time()
2567 sample->cpu = 0; in print_event_with_time()
2568 sample->time = timestamp; in print_event_with_time()
2569 sample->pid = pid; in print_event_with_time()
2570 sample->tid = tid; in print_event_with_time()
2573 if (filter_cpu(sample)) in print_event_with_time()
2580 perf_sample__fprintf_start(script, sample, thread, evsel, in print_event_with_time()
2592 struct perf_sample *sample, struct machine *machine, in print_event() argument
2595 return print_event_with_time(tool, event, sample, machine, pid, tid, 0); in print_event()
2600 struct perf_sample *sample, in process_comm_event() argument
2603 if (perf_event__process_comm(tool, event, sample, machine) < 0) in process_comm_event()
2606 return print_event(tool, event, sample, machine, event->comm.pid, in process_comm_event()
2612 struct perf_sample *sample, in process_namespaces_event() argument
2615 if (perf_event__process_namespaces(tool, event, sample, machine) < 0) in process_namespaces_event()
2618 return print_event(tool, event, sample, machine, event->namespaces.pid, in process_namespaces_event()
2624 struct perf_sample *sample, in process_cgroup_event() argument
2627 if (perf_event__process_cgroup(tool, event, sample, machine) < 0) in process_cgroup_event()
2630 return print_event(tool, event, sample, machine, sample->pid, in process_cgroup_event()
2631 sample->tid); in process_cgroup_event()
2636 struct perf_sample *sample, in process_fork_event() argument
2639 if (perf_event__process_fork(tool, event, sample, machine) < 0) in process_fork_event()
2642 return print_event_with_time(tool, event, sample, machine, in process_fork_event()
2648 struct perf_sample *sample, in process_exit_event() argument
2652 if (print_event_with_time(tool, event, sample, machine, event->fork.pid, in process_exit_event()
2656 return perf_event__process_exit(tool, event, sample, machine); in process_exit_event()
2661 struct perf_sample *sample, in process_mmap_event() argument
2664 if (perf_event__process_mmap(tool, event, sample, machine) < 0) in process_mmap_event()
2667 return print_event(tool, event, sample, machine, event->mmap.pid, in process_mmap_event()
2673 struct perf_sample *sample, in process_mmap2_event() argument
2676 if (perf_event__process_mmap2(tool, event, sample, machine) < 0) in process_mmap2_event()
2679 return print_event(tool, event, sample, machine, event->mmap2.pid, in process_mmap2_event()
2685 struct perf_sample *sample, in process_switch_event() argument
2690 if (perf_event__process_switch(tool, event, sample, machine) < 0) in process_switch_event()
2693 if (scripting_ops && scripting_ops->process_switch && !filter_cpu(sample)) in process_switch_event()
2694 scripting_ops->process_switch(event, sample, machine); in process_switch_event()
2699 return print_event(tool, event, sample, machine, sample->pid, in process_switch_event()
2700 sample->tid); in process_switch_event()
2717 struct perf_sample *sample, in process_lost_event() argument
2720 return print_event(tool, event, sample, machine, sample->pid, in process_lost_event()
2721 sample->tid); in process_lost_event()
2727 struct perf_sample *sample, in process_throttle_event() argument
2731 scripting_ops->process_throttle(event, sample, machine); in process_throttle_event()
2748 struct perf_sample *sample, in process_bpf_events() argument
2751 if (machine__process_ksymbol(machine, event, sample) < 0) in process_bpf_events()
2754 return print_event(tool, event, sample, machine, sample->pid, in process_bpf_events()
2755 sample->tid); in process_bpf_events()
2760 struct perf_sample *sample, in process_text_poke_events() argument
2763 if (perf_event__process_text_poke(tool, event, sample, machine) < 0) in process_text_poke_events()
2766 return print_event(tool, event, sample, machine, sample->pid, in process_text_poke_events()
2767 sample->tid); in process_text_poke_events()
3870 * Enable guest sample processing. in cmd_script()
4071 script.tool.sample = process_sample_event; in cmd_script()