Lines Matching refs:sample
750 static int perf_sample__fprintf_iregs(struct perf_sample *sample, in perf_sample__fprintf_iregs() argument
753 return perf_sample__fprintf_regs(&sample->intr_regs, in perf_sample__fprintf_iregs()
757 static int perf_sample__fprintf_uregs(struct perf_sample *sample, in perf_sample__fprintf_uregs() argument
760 return perf_sample__fprintf_regs(&sample->user_regs, in perf_sample__fprintf_uregs()
765 struct perf_sample *sample, in perf_sample__fprintf_start() argument
776 if (PRINT_FIELD(MACHINE_PID) && sample->machine_pid) in perf_sample__fprintf_start()
777 printed += fprintf(fp, "VM:%5d ", sample->machine_pid); in perf_sample__fprintf_start()
780 if (PRINT_FIELD(VCPU) && sample->machine_pid) in perf_sample__fprintf_start()
781 printed += fprintf(fp, "VCPU:%03d ", sample->vcpu); in perf_sample__fprintf_start()
795 printed += fprintf(fp, "%5d/%-5d ", sample->pid, sample->tid); in perf_sample__fprintf_start()
797 printed += fprintf(fp, "%5d ", sample->pid); in perf_sample__fprintf_start()
799 printed += fprintf(fp, "%5d ", sample->tid); in perf_sample__fprintf_start()
803 printed += fprintf(fp, "%3d ", sample->cpu); in perf_sample__fprintf_start()
805 printed += fprintf(fp, "[%03d] ", sample->cpu); in perf_sample__fprintf_start()
812 (sample->misc & PERF_RECORD_MISC_##m) == PERF_RECORD_MISC_##m in perf_sample__fprintf_start()
839 if (sample->misc & PERF_RECORD_MISC_SWITCH_OUT_PREEMPT) in perf_sample__fprintf_start()
853 tod_scnprintf(script, tstr, sizeof(tstr), sample->time); in perf_sample__fprintf_start()
858 u64 t = sample->time; in perf_sample__fprintf_start()
861 initial_time = sample->time; in perf_sample__fprintf_start()
862 t = sample->time - initial_time; in perf_sample__fprintf_start()
865 t = sample->time - previous_time; in perf_sample__fprintf_start()
869 previous_time = sample->time; in perf_sample__fprintf_start()
907 static int perf_sample__fprintf_brstack(struct perf_sample *sample, in perf_sample__fprintf_brstack() argument
911 struct branch_stack *br = sample->branch_stack; in perf_sample__fprintf_brstack()
912 struct branch_entry *entries = perf_sample__branch_entries(sample); in perf_sample__fprintf_brstack()
927 thread__find_map_fb(thread, sample->cpumode, from, &alf); in perf_sample__fprintf_brstack()
928 thread__find_map_fb(thread, sample->cpumode, to, &alt); in perf_sample__fprintf_brstack()
951 static int perf_sample__fprintf_brstacksym(struct perf_sample *sample, in perf_sample__fprintf_brstacksym() argument
955 struct branch_stack *br = sample->branch_stack; in perf_sample__fprintf_brstacksym()
956 struct branch_entry *entries = perf_sample__branch_entries(sample); in perf_sample__fprintf_brstacksym()
971 thread__find_symbol_fb(thread, sample->cpumode, from, &alf); in perf_sample__fprintf_brstacksym()
972 thread__find_symbol_fb(thread, sample->cpumode, to, &alt); in perf_sample__fprintf_brstacksym()
993 static int perf_sample__fprintf_brstackoff(struct perf_sample *sample, in perf_sample__fprintf_brstackoff() argument
997 struct branch_stack *br = sample->branch_stack; in perf_sample__fprintf_brstackoff()
998 struct branch_entry *entries = perf_sample__branch_entries(sample); in perf_sample__fprintf_brstackoff()
1013 if (thread__find_map_fb(thread, sample->cpumode, from, &alf) && in perf_sample__fprintf_brstackoff()
1017 if (thread__find_map_fb(thread, sample->cpumode, to, &alt) && in perf_sample__fprintf_brstackoff()
1222 static int perf_sample__fprintf_brstackinsn(struct perf_sample *sample, in perf_sample__fprintf_brstackinsn() argument
1227 struct branch_stack *br = sample->branch_stack; in perf_sample__fprintf_brstackinsn()
1228 struct branch_entry *entries = perf_sample__branch_entries(sample); in perf_sample__fprintf_brstackinsn()
1244 x.cpu = sample->cpu; in perf_sample__fprintf_brstackinsn()
1314 if (entries[0].from == sample->ip) in perf_sample__fprintf_brstackinsn()
1328 end = sample->ip; in perf_sample__fprintf_brstackinsn()
1337 len = grab_bb(buffer, sample->ip, sample->ip, in perf_sample__fprintf_brstackinsn()
1342 printed += fprintf(fp, "\t%016" PRIx64 "\t%s", sample->ip, in perf_sample__fprintf_brstackinsn()
1343 dump_insn(&x, sample->ip, buffer, len, &ilen)); in perf_sample__fprintf_brstackinsn()
1348 print_srccode(thread, x.cpumode, sample->ip); in perf_sample__fprintf_brstackinsn()
1360 if (arch_is_branch(buffer + off, len - off, x.is64bit) && start + off != sample->ip) { in perf_sample__fprintf_brstackinsn()
1374 static int perf_sample__fprintf_addr(struct perf_sample *sample, in perf_sample__fprintf_addr() argument
1379 int printed = fprintf(fp, "%16" PRIx64, sample->addr); in perf_sample__fprintf_addr()
1384 thread__resolve(thread, &al, sample); in perf_sample__fprintf_addr()
1403 static const char *resolve_branch_sym(struct perf_sample *sample, in resolve_branch_sym() argument
1413 if (sample->flags & (PERF_IP_FLAG_CALL | PERF_IP_FLAG_TRACE_BEGIN)) { in resolve_branch_sym()
1416 thread__resolve(thread, addr_al, sample); in resolve_branch_sym()
1420 *ip = sample->addr; in resolve_branch_sym()
1422 *ip = sample->addr; in resolve_branch_sym()
1424 } else if (sample->flags & (PERF_IP_FLAG_RETURN | PERF_IP_FLAG_TRACE_END)) { in resolve_branch_sym()
1428 *ip = sample->ip; in resolve_branch_sym()
1433 static int perf_sample__fprintf_callindent(struct perf_sample *sample, in perf_sample__fprintf_callindent() argument
1441 size_t depth = thread_stack__depth(thread, sample->cpu); in perf_sample__fprintf_callindent()
1452 if (thread->ts && sample->flags & PERF_IP_FLAG_RETURN) in perf_sample__fprintf_callindent()
1455 name = resolve_branch_sym(sample, evsel, thread, al, addr_al, &ip); in perf_sample__fprintf_callindent()
1484 __weak void arch_fetch_insn(struct perf_sample *sample __maybe_unused, in arch_fetch_insn()
1490 void script_fetch_insn(struct perf_sample *sample, struct thread *thread, in script_fetch_insn() argument
1493 if (sample->insn_len == 0 && native_arch) in script_fetch_insn()
1494 arch_fetch_insn(sample, thread, machine); in script_fetch_insn()
1497 static int perf_sample__fprintf_insn(struct perf_sample *sample, in perf_sample__fprintf_insn() argument
1504 script_fetch_insn(sample, thread, machine); in perf_sample__fprintf_insn()
1507 printed += fprintf(fp, " ilen: %d", sample->insn_len); in perf_sample__fprintf_insn()
1508 if (PRINT_FIELD(INSN) && sample->insn_len) { in perf_sample__fprintf_insn()
1512 for (i = 0; i < sample->insn_len; i++) in perf_sample__fprintf_insn()
1513 printed += fprintf(fp, " %02x", (unsigned char)sample->insn[i]); in perf_sample__fprintf_insn()
1516 printed += perf_sample__fprintf_brstackinsn(sample, thread, attr, machine, fp); in perf_sample__fprintf_insn()
1521 static int perf_sample__fprintf_ipc(struct perf_sample *sample, in perf_sample__fprintf_ipc() argument
1526 if (!PRINT_FIELD(IPC) || !sample->cyc_cnt || !sample->insn_cnt) in perf_sample__fprintf_ipc()
1529 ipc = (sample->insn_cnt * 100) / sample->cyc_cnt; in perf_sample__fprintf_ipc()
1532 ipc / 100, ipc % 100, sample->insn_cnt, sample->cyc_cnt); in perf_sample__fprintf_ipc()
1535 static int perf_sample__fprintf_bts(struct perf_sample *sample, in perf_sample__fprintf_bts() argument
1548 printed += perf_sample__fprintf_callindent(sample, evsel, thread, al, addr_al, fp); in perf_sample__fprintf_bts()
1555 if (symbol_conf.use_callchain && sample->callchain && in perf_sample__fprintf_bts()
1557 sample, NULL, NULL, scripting_max_stack) == 0) in perf_sample__fprintf_bts()
1569 printed += sample__fprintf_sym(sample, al, 0, print_opts, cursor, in perf_sample__fprintf_bts()
1578 printed += perf_sample__fprintf_addr(sample, thread, attr, fp); in perf_sample__fprintf_bts()
1581 printed += perf_sample__fprintf_ipc(sample, attr, fp); in perf_sample__fprintf_bts()
1586 printed += perf_sample__fprintf_insn(sample, attr, thread, machine, fp); in perf_sample__fprintf_bts()
1754 static int perf_sample__fprintf_bpf_output(struct perf_sample *sample, FILE *fp) in perf_sample__fprintf_bpf_output() argument
1756 unsigned int nr_bytes = sample->raw_size; in perf_sample__fprintf_bpf_output()
1758 int printed = binary__fprintf(sample->raw_data, nr_bytes, 8, in perf_sample__fprintf_bpf_output()
1762 printed += fprintf(fp, "%17s \"%s\"\n", "BPF string:", (char *)(sample->raw_data)); in perf_sample__fprintf_bpf_output()
1801 static int perf_sample__fprintf_synth_ptwrite(struct perf_sample *sample, FILE *fp) in perf_sample__fprintf_synth_ptwrite() argument
1803 struct perf_synth_intel_ptwrite *data = perf_sample__synth_ptr(sample); in perf_sample__fprintf_synth_ptwrite()
1808 if (perf_sample__bad_synth_size(sample, *data)) in perf_sample__fprintf_synth_ptwrite()
1821 static int perf_sample__fprintf_synth_mwait(struct perf_sample *sample, FILE *fp) in perf_sample__fprintf_synth_mwait() argument
1823 struct perf_synth_intel_mwait *data = perf_sample__synth_ptr(sample); in perf_sample__fprintf_synth_mwait()
1826 if (perf_sample__bad_synth_size(sample, *data)) in perf_sample__fprintf_synth_mwait()
1834 static int perf_sample__fprintf_synth_pwre(struct perf_sample *sample, FILE *fp) in perf_sample__fprintf_synth_pwre() argument
1836 struct perf_synth_intel_pwre *data = perf_sample__synth_ptr(sample); in perf_sample__fprintf_synth_pwre()
1839 if (perf_sample__bad_synth_size(sample, *data)) in perf_sample__fprintf_synth_pwre()
1847 static int perf_sample__fprintf_synth_exstop(struct perf_sample *sample, FILE *fp) in perf_sample__fprintf_synth_exstop() argument
1849 struct perf_synth_intel_exstop *data = perf_sample__synth_ptr(sample); in perf_sample__fprintf_synth_exstop()
1852 if (perf_sample__bad_synth_size(sample, *data)) in perf_sample__fprintf_synth_exstop()
1859 static int perf_sample__fprintf_synth_pwrx(struct perf_sample *sample, FILE *fp) in perf_sample__fprintf_synth_pwrx() argument
1861 struct perf_synth_intel_pwrx *data = perf_sample__synth_ptr(sample); in perf_sample__fprintf_synth_pwrx()
1864 if (perf_sample__bad_synth_size(sample, *data)) in perf_sample__fprintf_synth_pwrx()
1873 static int perf_sample__fprintf_synth_cbr(struct perf_sample *sample, FILE *fp) in perf_sample__fprintf_synth_cbr() argument
1875 struct perf_synth_intel_cbr *data = perf_sample__synth_ptr(sample); in perf_sample__fprintf_synth_cbr()
1879 if (perf_sample__bad_synth_size(sample, *data)) in perf_sample__fprintf_synth_cbr()
1891 static int perf_sample__fprintf_synth_psb(struct perf_sample *sample, FILE *fp) in perf_sample__fprintf_synth_psb() argument
1893 struct perf_synth_intel_psb *data = perf_sample__synth_ptr(sample); in perf_sample__fprintf_synth_psb()
1896 if (perf_sample__bad_synth_size(sample, *data)) in perf_sample__fprintf_synth_psb()
1904 static int perf_sample__fprintf_synth_evt(struct perf_sample *sample, FILE *fp) in perf_sample__fprintf_synth_evt() argument
1906 struct perf_synth_intel_evt *data = perf_sample__synth_ptr(sample); in perf_sample__fprintf_synth_evt()
1914 if (perf_sample__bad_synth_size(sample, *data)) in perf_sample__fprintf_synth_evt()
1940 static int perf_sample__fprintf_synth_iflag_chg(struct perf_sample *sample, FILE *fp) in perf_sample__fprintf_synth_iflag_chg() argument
1942 struct perf_synth_intel_iflag_chg *data = perf_sample__synth_ptr(sample); in perf_sample__fprintf_synth_iflag_chg()
1945 if (perf_sample__bad_synth_size(sample, *data)) in perf_sample__fprintf_synth_iflag_chg()
1953 static int perf_sample__fprintf_synth(struct perf_sample *sample, in perf_sample__fprintf_synth() argument
1958 return perf_sample__fprintf_synth_ptwrite(sample, fp); in perf_sample__fprintf_synth()
1960 return perf_sample__fprintf_synth_mwait(sample, fp); in perf_sample__fprintf_synth()
1962 return perf_sample__fprintf_synth_pwre(sample, fp); in perf_sample__fprintf_synth()
1964 return perf_sample__fprintf_synth_exstop(sample, fp); in perf_sample__fprintf_synth()
1966 return perf_sample__fprintf_synth_pwrx(sample, fp); in perf_sample__fprintf_synth()
1968 return perf_sample__fprintf_synth_cbr(sample, fp); in perf_sample__fprintf_synth()
1970 return perf_sample__fprintf_synth_psb(sample, fp); in perf_sample__fprintf_synth()
1972 return perf_sample__fprintf_synth_evt(sample, fp); in perf_sample__fprintf_synth()
1974 return perf_sample__fprintf_synth_iflag_chg(sample, fp); in perf_sample__fprintf_synth()
2014 struct perf_sample *sample; member
2029 perf_sample__fprintf_start(NULL, mctx->sample, mctx->thread, mctx->evsel, in script_print_metric()
2044 perf_sample__fprintf_start(NULL, mctx->sample, mctx->thread, mctx->evsel, in script_new_line()
2052 struct perf_sample *sample, in perf_sample__fprint_metric() argument
2060 .sample = sample, in perf_sample__fprint_metric()
2074 val = sample->period * evsel->scale; in perf_sample__fprint_metric()
2077 sample->cpu, in perf_sample__fprint_metric()
2084 sample->cpu, in perf_sample__fprint_metric()
2093 static bool show_event(struct perf_sample *sample, in show_event() argument
2099 int depth = thread_stack__depth(thread, sample->cpu); in show_event()
2113 const char *name = resolve_branch_sym(sample, evsel, thread, al, addr_al, in show_event()
2136 struct perf_sample *sample, struct evsel *evsel, in process_event() argument
2154 perf_sample__fprintf_start(script, sample, thread, evsel, in process_event()
2158 fprintf(fp, "%10" PRIu64 " ", sample->period); in process_event()
2170 perf_sample__fprintf_flags(sample->flags, fp); in process_event()
2173 perf_sample__fprintf_bts(sample, evsel, thread, al, addr_al, machine, fp); in process_event()
2177 if (PRINT_FIELD(TRACE) && sample->raw_data) { in process_event()
2178 event_format__fprintf(evsel->tp_format, sample->cpu, in process_event()
2179 sample->raw_data, sample->raw_size, fp); in process_event()
2183 perf_sample__fprintf_synth(sample, evsel, fp); in process_event()
2186 perf_sample__fprintf_addr(sample, thread, attr, fp); in process_event()
2189 data_src__fprintf(sample->data_src, fp); in process_event()
2192 fprintf(fp, "%16" PRIu64, sample->weight); in process_event()
2195 fprintf(fp, "%16" PRIu16, sample->ins_lat); in process_event()
2198 fprintf(fp, "%16" PRIu16, sample->retire_lat); in process_event()
2206 if (symbol_conf.use_callchain && sample->callchain && in process_event()
2208 sample, NULL, NULL, scripting_max_stack) == 0) in process_event()
2212 sample__fprintf_sym(sample, al, 0, output[type].print_ip_opts, cursor, in process_event()
2217 perf_sample__fprintf_iregs(sample, attr, arch, fp); in process_event()
2220 perf_sample__fprintf_uregs(sample, attr, arch, fp); in process_event()
2223 perf_sample__fprintf_brstack(sample, thread, attr, fp); in process_event()
2225 perf_sample__fprintf_brstacksym(sample, thread, attr, fp); in process_event()
2227 perf_sample__fprintf_brstackoff(sample, thread, attr, fp); in process_event()
2230 perf_sample__fprintf_bpf_output(sample, fp); in process_event()
2231 perf_sample__fprintf_insn(sample, attr, thread, machine, fp); in process_event()
2234 fprintf(fp, "%16" PRIx64, sample->phys_addr); in process_event()
2237 fprintf(fp, " %s", get_page_size_name(sample->data_page_size, str)); in process_event()
2240 fprintf(fp, " %s", get_page_size_name(sample->code_page_size, str)); in process_event()
2245 sample->cgroup); in process_event()
2253 perf_sample__fprintf_ipc(sample, attr, fp); in process_event()
2264 perf_sample__fprint_metric(script, thread, evsel, sample, fp); in process_event()
2337 static bool filter_cpu(struct perf_sample *sample) in filter_cpu() argument
2339 if (cpu_list && sample->cpu != (u32)-1) in filter_cpu()
2340 return !test_bit(sample->cpu, cpu_bitmap); in filter_cpu()
2346 struct perf_sample *sample, in process_sample_event() argument
2359 ret = dlfilter__filter_event_early(dlfilter, event, sample, evsel, machine, &al, &addr_al); in process_sample_event()
2367 sample->time)) { in process_sample_event()
2372 if (sample->time < last_timestamp) { in process_sample_event()
2375 sample->time); in process_sample_event()
2378 last_timestamp = sample->time; in process_sample_event()
2382 if (filter_cpu(sample)) in process_sample_event()
2385 if (!al.thread && machine__resolve(machine, &al, sample) < 0) { in process_sample_event()
2395 if (!show_event(sample, evsel, al.thread, &al, &addr_al)) in process_sample_event()
2401 ret = dlfilter__filter_event(dlfilter, event, sample, evsel, machine, &al, &addr_al); in process_sample_event()
2414 thread__resolve(al.thread, &addr_al, sample); in process_sample_event()
2417 scripting_ops->process_event(event, sample, evsel, &al, addr_al_ptr); in process_sample_event()
2419 process_event(scr, sample, evsel, &al, &addr_al, machine); in process_sample_event()
2498 struct perf_sample *sample, in print_event_with_time() argument
2504 struct evsel *evsel = evlist__id2evsel(session->evlist, sample->id); in print_event_with_time()
2508 sample->cpu = 0; in print_event_with_time()
2509 sample->time = timestamp; in print_event_with_time()
2510 sample->pid = pid; in print_event_with_time()
2511 sample->tid = tid; in print_event_with_time()
2514 if (filter_cpu(sample)) in print_event_with_time()
2521 perf_sample__fprintf_start(script, sample, thread, evsel, in print_event_with_time()
2533 struct perf_sample *sample, struct machine *machine, in print_event() argument
2536 return print_event_with_time(tool, event, sample, machine, pid, tid, 0); in print_event()
2541 struct perf_sample *sample, in process_comm_event() argument
2544 if (perf_event__process_comm(tool, event, sample, machine) < 0) in process_comm_event()
2547 return print_event(tool, event, sample, machine, event->comm.pid, in process_comm_event()
2553 struct perf_sample *sample, in process_namespaces_event() argument
2556 if (perf_event__process_namespaces(tool, event, sample, machine) < 0) in process_namespaces_event()
2559 return print_event(tool, event, sample, machine, event->namespaces.pid, in process_namespaces_event()
2565 struct perf_sample *sample, in process_cgroup_event() argument
2568 if (perf_event__process_cgroup(tool, event, sample, machine) < 0) in process_cgroup_event()
2571 return print_event(tool, event, sample, machine, sample->pid, in process_cgroup_event()
2572 sample->tid); in process_cgroup_event()
2577 struct perf_sample *sample, in process_fork_event() argument
2580 if (perf_event__process_fork(tool, event, sample, machine) < 0) in process_fork_event()
2583 return print_event_with_time(tool, event, sample, machine, in process_fork_event()
2589 struct perf_sample *sample, in process_exit_event() argument
2593 if (print_event_with_time(tool, event, sample, machine, event->fork.pid, in process_exit_event()
2597 return perf_event__process_exit(tool, event, sample, machine); in process_exit_event()
2602 struct perf_sample *sample, in process_mmap_event() argument
2605 if (perf_event__process_mmap(tool, event, sample, machine) < 0) in process_mmap_event()
2608 return print_event(tool, event, sample, machine, event->mmap.pid, in process_mmap_event()
2614 struct perf_sample *sample, in process_mmap2_event() argument
2617 if (perf_event__process_mmap2(tool, event, sample, machine) < 0) in process_mmap2_event()
2620 return print_event(tool, event, sample, machine, event->mmap2.pid, in process_mmap2_event()
2626 struct perf_sample *sample, in process_switch_event() argument
2631 if (perf_event__process_switch(tool, event, sample, machine) < 0) in process_switch_event()
2634 if (scripting_ops && scripting_ops->process_switch && !filter_cpu(sample)) in process_switch_event()
2635 scripting_ops->process_switch(event, sample, machine); in process_switch_event()
2640 return print_event(tool, event, sample, machine, sample->pid, in process_switch_event()
2641 sample->tid); in process_switch_event()
2658 struct perf_sample *sample, in process_lost_event() argument
2661 return print_event(tool, event, sample, machine, sample->pid, in process_lost_event()
2662 sample->tid); in process_lost_event()
2668 struct perf_sample *sample, in process_throttle_event() argument
2672 scripting_ops->process_throttle(event, sample, machine); in process_throttle_event()
2689 struct perf_sample *sample, in process_bpf_events() argument
2692 if (machine__process_ksymbol(machine, event, sample) < 0) in process_bpf_events()
2695 return print_event(tool, event, sample, machine, sample->pid, in process_bpf_events()
2696 sample->tid); in process_bpf_events()
2701 struct perf_sample *sample, in process_text_poke_events() argument
2704 if (perf_event__process_text_poke(tool, event, sample, machine) < 0) in process_text_poke_events()
2707 return print_event(tool, event, sample, machine, sample->pid, in process_text_poke_events()
2708 sample->tid); in process_text_poke_events()
3812 .sample = process_sample_event, in cmd_script()