Lines Matching refs:sample

732 static int perf_sample__fprintf_iregs(struct perf_sample *sample,  in perf_sample__fprintf_iregs()  argument
735 return perf_sample__fprintf_regs(&sample->intr_regs, in perf_sample__fprintf_iregs()
739 static int perf_sample__fprintf_uregs(struct perf_sample *sample, in perf_sample__fprintf_uregs() argument
742 return perf_sample__fprintf_regs(&sample->user_regs, in perf_sample__fprintf_uregs()
747 struct perf_sample *sample, in perf_sample__fprintf_start() argument
758 if (PRINT_FIELD(MACHINE_PID) && sample->machine_pid) in perf_sample__fprintf_start()
759 printed += fprintf(fp, "VM:%5d ", sample->machine_pid); in perf_sample__fprintf_start()
762 if (PRINT_FIELD(VCPU) && sample->machine_pid) in perf_sample__fprintf_start()
763 printed += fprintf(fp, "VCPU:%03d ", sample->vcpu); in perf_sample__fprintf_start()
777 printed += fprintf(fp, "%5d/%-5d ", sample->pid, sample->tid); in perf_sample__fprintf_start()
779 printed += fprintf(fp, "%5d ", sample->pid); in perf_sample__fprintf_start()
781 printed += fprintf(fp, "%5d ", sample->tid); in perf_sample__fprintf_start()
785 printed += fprintf(fp, "%3d ", sample->cpu); in perf_sample__fprintf_start()
787 printed += fprintf(fp, "[%03d] ", sample->cpu); in perf_sample__fprintf_start()
794 (sample->misc & PERF_RECORD_MISC_##m) == PERF_RECORD_MISC_##m in perf_sample__fprintf_start()
821 if (sample->misc & PERF_RECORD_MISC_SWITCH_OUT_PREEMPT) in perf_sample__fprintf_start()
835 tod_scnprintf(script, tstr, sizeof(tstr), sample->time); in perf_sample__fprintf_start()
840 u64 t = sample->time; in perf_sample__fprintf_start()
843 initial_time = sample->time; in perf_sample__fprintf_start()
844 t = sample->time - initial_time; in perf_sample__fprintf_start()
847 t = sample->time - previous_time; in perf_sample__fprintf_start()
851 previous_time = sample->time; in perf_sample__fprintf_start()
888 static int perf_sample__fprintf_brstack(struct perf_sample *sample, in perf_sample__fprintf_brstack() argument
892 struct branch_stack *br = sample->branch_stack; in perf_sample__fprintf_brstack()
893 struct branch_entry *entries = perf_sample__branch_entries(sample); in perf_sample__fprintf_brstack()
908 thread__find_map_fb(thread, sample->cpumode, from, &alf); in perf_sample__fprintf_brstack()
909 thread__find_map_fb(thread, sample->cpumode, to, &alt); in perf_sample__fprintf_brstack()
932 static int perf_sample__fprintf_brstacksym(struct perf_sample *sample, in perf_sample__fprintf_brstacksym() argument
936 struct branch_stack *br = sample->branch_stack; in perf_sample__fprintf_brstacksym()
937 struct branch_entry *entries = perf_sample__branch_entries(sample); in perf_sample__fprintf_brstacksym()
952 thread__find_symbol_fb(thread, sample->cpumode, from, &alf); in perf_sample__fprintf_brstacksym()
953 thread__find_symbol_fb(thread, sample->cpumode, to, &alt); in perf_sample__fprintf_brstacksym()
974 static int perf_sample__fprintf_brstackoff(struct perf_sample *sample, in perf_sample__fprintf_brstackoff() argument
978 struct branch_stack *br = sample->branch_stack; in perf_sample__fprintf_brstackoff()
979 struct branch_entry *entries = perf_sample__branch_entries(sample); in perf_sample__fprintf_brstackoff()
994 if (thread__find_map_fb(thread, sample->cpumode, from, &alf) && in perf_sample__fprintf_brstackoff()
998 if (thread__find_map_fb(thread, sample->cpumode, to, &alt) && in perf_sample__fprintf_brstackoff()
1203 static int perf_sample__fprintf_brstackinsn(struct perf_sample *sample, in perf_sample__fprintf_brstackinsn() argument
1208 struct branch_stack *br = sample->branch_stack; in perf_sample__fprintf_brstackinsn()
1209 struct branch_entry *entries = perf_sample__branch_entries(sample); in perf_sample__fprintf_brstackinsn()
1225 x.cpu = sample->cpu; in perf_sample__fprintf_brstackinsn()
1295 if (entries[0].from == sample->ip) in perf_sample__fprintf_brstackinsn()
1309 end = sample->ip; in perf_sample__fprintf_brstackinsn()
1318 len = grab_bb(buffer, sample->ip, sample->ip, in perf_sample__fprintf_brstackinsn()
1323 printed += fprintf(fp, "\t%016" PRIx64 "\t%s", sample->ip, in perf_sample__fprintf_brstackinsn()
1324 dump_insn(&x, sample->ip, buffer, len, &ilen)); in perf_sample__fprintf_brstackinsn()
1329 print_srccode(thread, x.cpumode, sample->ip); in perf_sample__fprintf_brstackinsn()
1341 if (arch_is_branch(buffer + off, len - off, x.is64bit) && start + off != sample->ip) { in perf_sample__fprintf_brstackinsn()
1355 static int perf_sample__fprintf_addr(struct perf_sample *sample, in perf_sample__fprintf_addr() argument
1360 int printed = fprintf(fp, "%16" PRIx64, sample->addr); in perf_sample__fprintf_addr()
1365 thread__resolve(thread, &al, sample); in perf_sample__fprintf_addr()
1384 static const char *resolve_branch_sym(struct perf_sample *sample, in resolve_branch_sym() argument
1394 if (sample->flags & (PERF_IP_FLAG_CALL | PERF_IP_FLAG_TRACE_BEGIN)) { in resolve_branch_sym()
1397 thread__resolve(thread, addr_al, sample); in resolve_branch_sym()
1401 *ip = sample->addr; in resolve_branch_sym()
1403 *ip = sample->addr; in resolve_branch_sym()
1405 } else if (sample->flags & (PERF_IP_FLAG_RETURN | PERF_IP_FLAG_TRACE_END)) { in resolve_branch_sym()
1409 *ip = sample->ip; in resolve_branch_sym()
1414 static int perf_sample__fprintf_callindent(struct perf_sample *sample, in perf_sample__fprintf_callindent() argument
1422 size_t depth = thread_stack__depth(thread, sample->cpu); in perf_sample__fprintf_callindent()
1433 if (thread->ts && sample->flags & PERF_IP_FLAG_RETURN) in perf_sample__fprintf_callindent()
1436 name = resolve_branch_sym(sample, evsel, thread, al, addr_al, &ip); in perf_sample__fprintf_callindent()
1465 __weak void arch_fetch_insn(struct perf_sample *sample __maybe_unused, in arch_fetch_insn()
1471 void script_fetch_insn(struct perf_sample *sample, struct thread *thread, in script_fetch_insn() argument
1474 if (sample->insn_len == 0 && native_arch) in script_fetch_insn()
1475 arch_fetch_insn(sample, thread, machine); in script_fetch_insn()
1478 static int perf_sample__fprintf_insn(struct perf_sample *sample, in perf_sample__fprintf_insn() argument
1485 script_fetch_insn(sample, thread, machine); in perf_sample__fprintf_insn()
1488 printed += fprintf(fp, " ilen: %d", sample->insn_len); in perf_sample__fprintf_insn()
1489 if (PRINT_FIELD(INSN) && sample->insn_len) { in perf_sample__fprintf_insn()
1493 for (i = 0; i < sample->insn_len; i++) in perf_sample__fprintf_insn()
1494 printed += fprintf(fp, " %02x", (unsigned char)sample->insn[i]); in perf_sample__fprintf_insn()
1497 printed += perf_sample__fprintf_brstackinsn(sample, thread, attr, machine, fp); in perf_sample__fprintf_insn()
1502 static int perf_sample__fprintf_ipc(struct perf_sample *sample, in perf_sample__fprintf_ipc() argument
1507 if (!PRINT_FIELD(IPC) || !sample->cyc_cnt || !sample->insn_cnt) in perf_sample__fprintf_ipc()
1510 ipc = (sample->insn_cnt * 100) / sample->cyc_cnt; in perf_sample__fprintf_ipc()
1513 ipc / 100, ipc % 100, sample->insn_cnt, sample->cyc_cnt); in perf_sample__fprintf_ipc()
1516 static int perf_sample__fprintf_bts(struct perf_sample *sample, in perf_sample__fprintf_bts() argument
1529 printed += perf_sample__fprintf_callindent(sample, evsel, thread, al, addr_al, fp); in perf_sample__fprintf_bts()
1536 if (symbol_conf.use_callchain && sample->callchain && in perf_sample__fprintf_bts()
1538 sample, NULL, NULL, scripting_max_stack) == 0) in perf_sample__fprintf_bts()
1550 printed += sample__fprintf_sym(sample, al, 0, print_opts, cursor, in perf_sample__fprintf_bts()
1559 printed += perf_sample__fprintf_addr(sample, thread, attr, fp); in perf_sample__fprintf_bts()
1562 printed += perf_sample__fprintf_ipc(sample, attr, fp); in perf_sample__fprintf_bts()
1567 printed += perf_sample__fprintf_insn(sample, attr, thread, machine, fp); in perf_sample__fprintf_bts()
1735 static int perf_sample__fprintf_bpf_output(struct perf_sample *sample, FILE *fp) in perf_sample__fprintf_bpf_output() argument
1737 unsigned int nr_bytes = sample->raw_size; in perf_sample__fprintf_bpf_output()
1739 int printed = binary__fprintf(sample->raw_data, nr_bytes, 8, in perf_sample__fprintf_bpf_output()
1743 printed += fprintf(fp, "%17s \"%s\"\n", "BPF string:", (char *)(sample->raw_data)); in perf_sample__fprintf_bpf_output()
1782 static int perf_sample__fprintf_synth_ptwrite(struct perf_sample *sample, FILE *fp) in perf_sample__fprintf_synth_ptwrite() argument
1784 struct perf_synth_intel_ptwrite *data = perf_sample__synth_ptr(sample); in perf_sample__fprintf_synth_ptwrite()
1789 if (perf_sample__bad_synth_size(sample, *data)) in perf_sample__fprintf_synth_ptwrite()
1802 static int perf_sample__fprintf_synth_mwait(struct perf_sample *sample, FILE *fp) in perf_sample__fprintf_synth_mwait() argument
1804 struct perf_synth_intel_mwait *data = perf_sample__synth_ptr(sample); in perf_sample__fprintf_synth_mwait()
1807 if (perf_sample__bad_synth_size(sample, *data)) in perf_sample__fprintf_synth_mwait()
1815 static int perf_sample__fprintf_synth_pwre(struct perf_sample *sample, FILE *fp) in perf_sample__fprintf_synth_pwre() argument
1817 struct perf_synth_intel_pwre *data = perf_sample__synth_ptr(sample); in perf_sample__fprintf_synth_pwre()
1820 if (perf_sample__bad_synth_size(sample, *data)) in perf_sample__fprintf_synth_pwre()
1828 static int perf_sample__fprintf_synth_exstop(struct perf_sample *sample, FILE *fp) in perf_sample__fprintf_synth_exstop() argument
1830 struct perf_synth_intel_exstop *data = perf_sample__synth_ptr(sample); in perf_sample__fprintf_synth_exstop()
1833 if (perf_sample__bad_synth_size(sample, *data)) in perf_sample__fprintf_synth_exstop()
1840 static int perf_sample__fprintf_synth_pwrx(struct perf_sample *sample, FILE *fp) in perf_sample__fprintf_synth_pwrx() argument
1842 struct perf_synth_intel_pwrx *data = perf_sample__synth_ptr(sample); in perf_sample__fprintf_synth_pwrx()
1845 if (perf_sample__bad_synth_size(sample, *data)) in perf_sample__fprintf_synth_pwrx()
1854 static int perf_sample__fprintf_synth_cbr(struct perf_sample *sample, FILE *fp) in perf_sample__fprintf_synth_cbr() argument
1856 struct perf_synth_intel_cbr *data = perf_sample__synth_ptr(sample); in perf_sample__fprintf_synth_cbr()
1860 if (perf_sample__bad_synth_size(sample, *data)) in perf_sample__fprintf_synth_cbr()
1872 static int perf_sample__fprintf_synth_psb(struct perf_sample *sample, FILE *fp) in perf_sample__fprintf_synth_psb() argument
1874 struct perf_synth_intel_psb *data = perf_sample__synth_ptr(sample); in perf_sample__fprintf_synth_psb()
1877 if (perf_sample__bad_synth_size(sample, *data)) in perf_sample__fprintf_synth_psb()
1885 static int perf_sample__fprintf_synth_evt(struct perf_sample *sample, FILE *fp) in perf_sample__fprintf_synth_evt() argument
1887 struct perf_synth_intel_evt *data = perf_sample__synth_ptr(sample); in perf_sample__fprintf_synth_evt()
1895 if (perf_sample__bad_synth_size(sample, *data)) in perf_sample__fprintf_synth_evt()
1921 static int perf_sample__fprintf_synth_iflag_chg(struct perf_sample *sample, FILE *fp) in perf_sample__fprintf_synth_iflag_chg() argument
1923 struct perf_synth_intel_iflag_chg *data = perf_sample__synth_ptr(sample); in perf_sample__fprintf_synth_iflag_chg()
1926 if (perf_sample__bad_synth_size(sample, *data)) in perf_sample__fprintf_synth_iflag_chg()
1934 static int perf_sample__fprintf_synth(struct perf_sample *sample, in perf_sample__fprintf_synth() argument
1939 return perf_sample__fprintf_synth_ptwrite(sample, fp); in perf_sample__fprintf_synth()
1941 return perf_sample__fprintf_synth_mwait(sample, fp); in perf_sample__fprintf_synth()
1943 return perf_sample__fprintf_synth_pwre(sample, fp); in perf_sample__fprintf_synth()
1945 return perf_sample__fprintf_synth_exstop(sample, fp); in perf_sample__fprintf_synth()
1947 return perf_sample__fprintf_synth_pwrx(sample, fp); in perf_sample__fprintf_synth()
1949 return perf_sample__fprintf_synth_cbr(sample, fp); in perf_sample__fprintf_synth()
1951 return perf_sample__fprintf_synth_psb(sample, fp); in perf_sample__fprintf_synth()
1953 return perf_sample__fprintf_synth_evt(sample, fp); in perf_sample__fprintf_synth()
1955 return perf_sample__fprintf_synth_iflag_chg(sample, fp); in perf_sample__fprintf_synth()
1995 struct perf_sample *sample; member
2010 perf_sample__fprintf_start(NULL, mctx->sample, mctx->thread, mctx->evsel, in script_print_metric()
2025 perf_sample__fprintf_start(NULL, mctx->sample, mctx->thread, mctx->evsel, in script_new_line()
2033 struct perf_sample *sample, in perf_sample__fprint_metric() argument
2041 .sample = sample, in perf_sample__fprint_metric()
2055 val = sample->period * evsel->scale; in perf_sample__fprint_metric()
2058 sample->cpu, in perf_sample__fprint_metric()
2065 sample->cpu, in perf_sample__fprint_metric()
2074 static bool show_event(struct perf_sample *sample, in show_event() argument
2080 int depth = thread_stack__depth(thread, sample->cpu); in show_event()
2094 const char *name = resolve_branch_sym(sample, evsel, thread, al, addr_al, in show_event()
2117 struct perf_sample *sample, struct evsel *evsel, in process_event() argument
2135 perf_sample__fprintf_start(script, sample, thread, evsel, in process_event()
2139 fprintf(fp, "%10" PRIu64 " ", sample->period); in process_event()
2151 perf_sample__fprintf_flags(sample->flags, fp); in process_event()
2154 perf_sample__fprintf_bts(sample, evsel, thread, al, addr_al, machine, fp); in process_event()
2158 if (PRINT_FIELD(TRACE) && sample->raw_data) { in process_event()
2159 event_format__fprintf(evsel->tp_format, sample->cpu, in process_event()
2160 sample->raw_data, sample->raw_size, fp); in process_event()
2164 perf_sample__fprintf_synth(sample, evsel, fp); in process_event()
2167 perf_sample__fprintf_addr(sample, thread, attr, fp); in process_event()
2170 data_src__fprintf(sample->data_src, fp); in process_event()
2173 fprintf(fp, "%16" PRIu64, sample->weight); in process_event()
2176 fprintf(fp, "%16" PRIu16, sample->ins_lat); in process_event()
2184 if (symbol_conf.use_callchain && sample->callchain && in process_event()
2186 sample, NULL, NULL, scripting_max_stack) == 0) in process_event()
2190 sample__fprintf_sym(sample, al, 0, output[type].print_ip_opts, cursor, in process_event()
2195 perf_sample__fprintf_iregs(sample, attr, arch, fp); in process_event()
2198 perf_sample__fprintf_uregs(sample, attr, arch, fp); in process_event()
2201 perf_sample__fprintf_brstack(sample, thread, attr, fp); in process_event()
2203 perf_sample__fprintf_brstacksym(sample, thread, attr, fp); in process_event()
2205 perf_sample__fprintf_brstackoff(sample, thread, attr, fp); in process_event()
2208 perf_sample__fprintf_bpf_output(sample, fp); in process_event()
2209 perf_sample__fprintf_insn(sample, attr, thread, machine, fp); in process_event()
2212 fprintf(fp, "%16" PRIx64, sample->phys_addr); in process_event()
2215 fprintf(fp, " %s", get_page_size_name(sample->data_page_size, str)); in process_event()
2218 fprintf(fp, " %s", get_page_size_name(sample->code_page_size, str)); in process_event()
2220 perf_sample__fprintf_ipc(sample, attr, fp); in process_event()
2231 perf_sample__fprint_metric(script, thread, evsel, sample, fp); in process_event()
2302 static bool filter_cpu(struct perf_sample *sample) in filter_cpu() argument
2304 if (cpu_list && sample->cpu != (u32)-1) in filter_cpu()
2305 return !test_bit(sample->cpu, cpu_bitmap); in filter_cpu()
2311 struct perf_sample *sample, in process_sample_event() argument
2324 ret = dlfilter__filter_event_early(dlfilter, event, sample, evsel, machine, &al, &addr_al); in process_sample_event()
2332 sample->time)) { in process_sample_event()
2337 if (sample->time < last_timestamp) { in process_sample_event()
2340 sample->time); in process_sample_event()
2343 last_timestamp = sample->time; in process_sample_event()
2347 if (filter_cpu(sample)) in process_sample_event()
2350 if (!al.thread && machine__resolve(machine, &al, sample) < 0) { in process_sample_event()
2360 if (!show_event(sample, evsel, al.thread, &al, &addr_al)) in process_sample_event()
2366 ret = dlfilter__filter_event(dlfilter, event, sample, evsel, machine, &al, &addr_al); in process_sample_event()
2379 thread__resolve(al.thread, &addr_al, sample); in process_sample_event()
2382 scripting_ops->process_event(event, sample, evsel, &al, addr_al_ptr); in process_sample_event()
2384 process_event(scr, sample, evsel, &al, &addr_al, machine); in process_sample_event()
2463 struct perf_sample *sample, in print_event_with_time() argument
2469 struct evsel *evsel = evlist__id2evsel(session->evlist, sample->id); in print_event_with_time()
2473 sample->cpu = 0; in print_event_with_time()
2474 sample->time = timestamp; in print_event_with_time()
2475 sample->pid = pid; in print_event_with_time()
2476 sample->tid = tid; in print_event_with_time()
2479 if (filter_cpu(sample)) in print_event_with_time()
2486 perf_sample__fprintf_start(script, sample, thread, evsel, in print_event_with_time()
2498 struct perf_sample *sample, struct machine *machine, in print_event() argument
2501 return print_event_with_time(tool, event, sample, machine, pid, tid, 0); in print_event()
2506 struct perf_sample *sample, in process_comm_event() argument
2509 if (perf_event__process_comm(tool, event, sample, machine) < 0) in process_comm_event()
2512 return print_event(tool, event, sample, machine, event->comm.pid, in process_comm_event()
2518 struct perf_sample *sample, in process_namespaces_event() argument
2521 if (perf_event__process_namespaces(tool, event, sample, machine) < 0) in process_namespaces_event()
2524 return print_event(tool, event, sample, machine, event->namespaces.pid, in process_namespaces_event()
2530 struct perf_sample *sample, in process_cgroup_event() argument
2533 if (perf_event__process_cgroup(tool, event, sample, machine) < 0) in process_cgroup_event()
2536 return print_event(tool, event, sample, machine, sample->pid, in process_cgroup_event()
2537 sample->tid); in process_cgroup_event()
2542 struct perf_sample *sample, in process_fork_event() argument
2545 if (perf_event__process_fork(tool, event, sample, machine) < 0) in process_fork_event()
2548 return print_event_with_time(tool, event, sample, machine, in process_fork_event()
2554 struct perf_sample *sample, in process_exit_event() argument
2558 if (print_event_with_time(tool, event, sample, machine, event->fork.pid, in process_exit_event()
2562 return perf_event__process_exit(tool, event, sample, machine); in process_exit_event()
2567 struct perf_sample *sample, in process_mmap_event() argument
2570 if (perf_event__process_mmap(tool, event, sample, machine) < 0) in process_mmap_event()
2573 return print_event(tool, event, sample, machine, event->mmap.pid, in process_mmap_event()
2579 struct perf_sample *sample, in process_mmap2_event() argument
2582 if (perf_event__process_mmap2(tool, event, sample, machine) < 0) in process_mmap2_event()
2585 return print_event(tool, event, sample, machine, event->mmap2.pid, in process_mmap2_event()
2591 struct perf_sample *sample, in process_switch_event() argument
2596 if (perf_event__process_switch(tool, event, sample, machine) < 0) in process_switch_event()
2599 if (scripting_ops && scripting_ops->process_switch && !filter_cpu(sample)) in process_switch_event()
2600 scripting_ops->process_switch(event, sample, machine); in process_switch_event()
2605 return print_event(tool, event, sample, machine, sample->pid, in process_switch_event()
2606 sample->tid); in process_switch_event()
2623 struct perf_sample *sample, in process_lost_event() argument
2626 return print_event(tool, event, sample, machine, sample->pid, in process_lost_event()
2627 sample->tid); in process_lost_event()
2633 struct perf_sample *sample, in process_throttle_event() argument
2637 scripting_ops->process_throttle(event, sample, machine); in process_throttle_event()
2654 struct perf_sample *sample, in process_bpf_events() argument
2657 if (machine__process_ksymbol(machine, event, sample) < 0) in process_bpf_events()
2660 return print_event(tool, event, sample, machine, sample->pid, in process_bpf_events()
2661 sample->tid); in process_bpf_events()
2666 struct perf_sample *sample, in process_text_poke_events() argument
2669 if (perf_event__process_text_poke(tool, event, sample, machine) < 0) in process_text_poke_events()
2672 return print_event(tool, event, sample, machine, sample->pid, in process_text_poke_events()
2673 sample->tid); in process_text_poke_events()
3777 .sample = process_sample_event, in cmd_script()