• Home
  • Raw
  • Download

Lines Matching +full:event +full:-

15 #include "event.h"
24 #include "time-utils.h"
33 #include "bpf-event.h"
104 type == 'A') || strcmp(name, args->name)) in find_symbol_cb()
107 args->start = start; in find_symbol_cb()
117 return -1; in kallsyms__get_function_start()
124 struct perf_record_stat_config *event) in perf_event__read_stat_config() argument
128 for (i = 0; i < event->nr; i++) { in perf_event__read_stat_config()
130 switch (event->data[i].tag) { in perf_event__read_stat_config()
133 config->__val = event->data[i].val; \ in perf_event__read_stat_config()
142 event->data[i].tag); in perf_event__read_stat_config()
147 size_t perf_event__fprintf_comm(union perf_event *event, FILE *fp) in perf_event__fprintf_comm() argument
151 if (event->header.misc & PERF_RECORD_MISC_COMM_EXEC) in perf_event__fprintf_comm()
156 return fprintf(fp, "%s: %s:%d/%d\n", s, event->comm.comm, event->comm.pid, event->comm.tid); in perf_event__fprintf_comm()
159 size_t perf_event__fprintf_namespaces(union perf_event *event, FILE *fp) in perf_event__fprintf_namespaces() argument
165 ns_link_info = event->namespaces.link_info; in perf_event__fprintf_namespaces()
166 nr_namespaces = event->namespaces.nr_namespaces; in perf_event__fprintf_namespaces()
168 ret += fprintf(fp, " %d/%d - nr_namespaces: %u\n\t\t[", in perf_event__fprintf_namespaces()
169 event->namespaces.pid, in perf_event__fprintf_namespaces()
170 event->namespaces.tid, in perf_event__fprintf_namespaces()
186 size_t perf_event__fprintf_cgroup(union perf_event *event, FILE *fp) in perf_event__fprintf_cgroup() argument
189 event->cgroup.id, event->cgroup.path); in perf_event__fprintf_cgroup()
193 union perf_event *event, in perf_event__process_comm() argument
197 return machine__process_comm_event(machine, event, sample); in perf_event__process_comm()
201 union perf_event *event, in perf_event__process_namespaces() argument
205 return machine__process_namespaces_event(machine, event, sample); in perf_event__process_namespaces()
209 union perf_event *event, in perf_event__process_cgroup() argument
213 return machine__process_cgroup_event(machine, event, sample); in perf_event__process_cgroup()
217 union perf_event *event, in perf_event__process_lost() argument
221 return machine__process_lost_event(machine, event, sample); in perf_event__process_lost()
225 union perf_event *event, in perf_event__process_aux() argument
229 return machine__process_aux_event(machine, event); in perf_event__process_aux()
233 union perf_event *event, in perf_event__process_itrace_start() argument
237 return machine__process_itrace_start_event(machine, event); in perf_event__process_itrace_start()
241 union perf_event *event, in perf_event__process_lost_samples() argument
245 return machine__process_lost_samples_event(machine, event, sample); in perf_event__process_lost_samples()
249 union perf_event *event, in perf_event__process_switch() argument
253 return machine__process_switch_event(machine, event); in perf_event__process_switch()
257 union perf_event *event, in perf_event__process_ksymbol() argument
261 return machine__process_ksymbol(machine, event, sample); in perf_event__process_ksymbol()
265 union perf_event *event, in perf_event__process_bpf() argument
269 return machine__process_bpf(machine, event, sample); in perf_event__process_bpf()
273 union perf_event *event, in perf_event__process_text_poke() argument
277 return machine__process_text_poke(machine, event, sample); in perf_event__process_text_poke()
280 size_t perf_event__fprintf_mmap(union perf_event *event, FILE *fp) in perf_event__fprintf_mmap() argument
283 event->mmap.pid, event->mmap.tid, event->mmap.start, in perf_event__fprintf_mmap()
284 event->mmap.len, event->mmap.pgoff, in perf_event__fprintf_mmap()
285 (event->header.misc & PERF_RECORD_MISC_MMAP_DATA) ? 'r' : 'x', in perf_event__fprintf_mmap()
286 event->mmap.filename); in perf_event__fprintf_mmap()
289 size_t perf_event__fprintf_mmap2(union perf_event *event, FILE *fp) in perf_event__fprintf_mmap2() argument
293 event->mmap2.pid, event->mmap2.tid, event->mmap2.start, in perf_event__fprintf_mmap2()
294 event->mmap2.len, event->mmap2.pgoff, event->mmap2.maj, in perf_event__fprintf_mmap2()
295 event->mmap2.min, event->mmap2.ino, in perf_event__fprintf_mmap2()
296 event->mmap2.ino_generation, in perf_event__fprintf_mmap2()
297 (event->mmap2.prot & PROT_READ) ? 'r' : '-', in perf_event__fprintf_mmap2()
298 (event->mmap2.prot & PROT_WRITE) ? 'w' : '-', in perf_event__fprintf_mmap2()
299 (event->mmap2.prot & PROT_EXEC) ? 'x' : '-', in perf_event__fprintf_mmap2()
300 (event->mmap2.flags & MAP_SHARED) ? 's' : 'p', in perf_event__fprintf_mmap2()
301 event->mmap2.filename); in perf_event__fprintf_mmap2()
304 size_t perf_event__fprintf_thread_map(union perf_event *event, FILE *fp) in perf_event__fprintf_thread_map() argument
306 struct perf_thread_map *threads = thread_map__new_event(&event->thread_map); in perf_event__fprintf_thread_map()
314 ret += fprintf(fp, "failed to get threads from event\n"); in perf_event__fprintf_thread_map()
320 size_t perf_event__fprintf_cpu_map(union perf_event *event, FILE *fp) in perf_event__fprintf_cpu_map() argument
322 struct perf_cpu_map *cpus = cpu_map__new_data(&event->cpu_map.data); in perf_event__fprintf_cpu_map()
330 ret += fprintf(fp, "failed to get cpumap from event\n"); in perf_event__fprintf_cpu_map()
337 union perf_event *event, in perf_event__process_mmap() argument
341 return machine__process_mmap_event(machine, event, sample); in perf_event__process_mmap()
345 union perf_event *event, in perf_event__process_mmap2() argument
349 return machine__process_mmap2_event(machine, event, sample); in perf_event__process_mmap2()
352 size_t perf_event__fprintf_task(union perf_event *event, FILE *fp) in perf_event__fprintf_task() argument
355 event->fork.pid, event->fork.tid, in perf_event__fprintf_task()
356 event->fork.ppid, event->fork.ptid); in perf_event__fprintf_task()
360 union perf_event *event, in perf_event__process_fork() argument
364 return machine__process_fork_event(machine, event, sample); in perf_event__process_fork()
368 union perf_event *event, in perf_event__process_exit() argument
372 return machine__process_exit_event(machine, event, sample); in perf_event__process_exit()
375 size_t perf_event__fprintf_aux(union perf_event *event, FILE *fp) in perf_event__fprintf_aux() argument
378 event->aux.aux_offset, event->aux.aux_size, in perf_event__fprintf_aux()
379 event->aux.flags, in perf_event__fprintf_aux()
380 event->aux.flags & PERF_AUX_FLAG_TRUNCATED ? "T" : "", in perf_event__fprintf_aux()
381 event->aux.flags & PERF_AUX_FLAG_OVERWRITE ? "O" : "", in perf_event__fprintf_aux()
382 event->aux.flags & PERF_AUX_FLAG_PARTIAL ? "P" : ""); in perf_event__fprintf_aux()
385 size_t perf_event__fprintf_itrace_start(union perf_event *event, FILE *fp) in perf_event__fprintf_itrace_start() argument
388 event->itrace_start.pid, event->itrace_start.tid); in perf_event__fprintf_itrace_start()
391 size_t perf_event__fprintf_switch(union perf_event *event, FILE *fp) in perf_event__fprintf_switch() argument
393 bool out = event->header.misc & PERF_RECORD_MISC_SWITCH_OUT; in perf_event__fprintf_switch()
395 !(event->header.misc & PERF_RECORD_MISC_SWITCH_OUT_PREEMPT) ? in perf_event__fprintf_switch()
398 if (event->header.type == PERF_RECORD_SWITCH) in perf_event__fprintf_switch()
401 return fprintf(fp, " %s %s pid/tid: %5d/%-5d\n", in perf_event__fprintf_switch()
403 event->context_switch.next_prev_pid, in perf_event__fprintf_switch()
404 event->context_switch.next_prev_tid); in perf_event__fprintf_switch()
407 static size_t perf_event__fprintf_lost(union perf_event *event, FILE *fp) in perf_event__fprintf_lost() argument
409 return fprintf(fp, " lost %" PRI_lu64 "\n", event->lost.lost); in perf_event__fprintf_lost()
412 size_t perf_event__fprintf_ksymbol(union perf_event *event, FILE *fp) in perf_event__fprintf_ksymbol() argument
415 event->ksymbol.addr, event->ksymbol.len, in perf_event__fprintf_ksymbol()
416 event->ksymbol.ksym_type, in perf_event__fprintf_ksymbol()
417 event->ksymbol.flags, event->ksymbol.name); in perf_event__fprintf_ksymbol()
420 size_t perf_event__fprintf_bpf(union perf_event *event, FILE *fp) in perf_event__fprintf_bpf() argument
423 event->bpf.type, event->bpf.flags, event->bpf.id); in perf_event__fprintf_bpf()
443 size_t perf_event__fprintf_text_poke(union perf_event *event, struct machine *machine, FILE *fp) in perf_event__fprintf_text_poke() argument
445 struct perf_record_text_poke_event *tp = &event->text_poke; in perf_event__fprintf_text_poke()
449 ret = fprintf(fp, " %" PRI_lx64 " ", tp->addr); in perf_event__fprintf_text_poke()
453 al.map = maps__find(&machine->kmaps, tp->addr); in perf_event__fprintf_text_poke()
455 al.addr = al.map->map_ip(al.map, tp->addr); in perf_event__fprintf_text_poke()
461 ret += fprintf(fp, " old len %u new len %u\n", tp->old_len, tp->new_len); in perf_event__fprintf_text_poke()
463 ret += binary__fprintf(tp->bytes, tp->old_len, 16, text_poke_printer, in perf_event__fprintf_text_poke()
466 ret += binary__fprintf(tp->bytes + tp->old_len, tp->new_len, 16, in perf_event__fprintf_text_poke()
471 size_t perf_event__fprintf(union perf_event *event, struct machine *machine, FILE *fp) in perf_event__fprintf() argument
474 perf_event__name(event->header.type)); in perf_event__fprintf()
476 switch (event->header.type) { in perf_event__fprintf()
478 ret += perf_event__fprintf_comm(event, fp); in perf_event__fprintf()
482 ret += perf_event__fprintf_task(event, fp); in perf_event__fprintf()
485 ret += perf_event__fprintf_mmap(event, fp); in perf_event__fprintf()
488 ret += perf_event__fprintf_namespaces(event, fp); in perf_event__fprintf()
491 ret += perf_event__fprintf_cgroup(event, fp); in perf_event__fprintf()
494 ret += perf_event__fprintf_mmap2(event, fp); in perf_event__fprintf()
497 ret += perf_event__fprintf_aux(event, fp); in perf_event__fprintf()
500 ret += perf_event__fprintf_itrace_start(event, fp); in perf_event__fprintf()
504 ret += perf_event__fprintf_switch(event, fp); in perf_event__fprintf()
507 ret += perf_event__fprintf_lost(event, fp); in perf_event__fprintf()
510 ret += perf_event__fprintf_ksymbol(event, fp); in perf_event__fprintf()
513 ret += perf_event__fprintf_bpf(event, fp); in perf_event__fprintf()
516 ret += perf_event__fprintf_text_poke(event, machine, fp); in perf_event__fprintf()
526 union perf_event *event, in perf_event__process() argument
530 return machine__process_event(machine, event, sample); in perf_event__process()
536 struct maps *maps = thread->maps; in thread__find_map()
537 struct machine *machine = maps->machine; in thread__find_map()
540 al->maps = maps; in thread__find_map()
541 al->thread = thread; in thread__find_map()
542 al->addr = addr; in thread__find_map()
543 al->cpumode = cpumode; in thread__find_map()
544 al->filtered = 0; in thread__find_map()
547 al->map = NULL; in thread__find_map()
552 al->level = 'k'; in thread__find_map()
553 al->maps = maps = &machine->kmaps; in thread__find_map()
556 al->level = '.'; in thread__find_map()
558 al->level = 'g'; in thread__find_map()
559 al->maps = maps = &machine->kmaps; in thread__find_map()
562 al->level = 'u'; in thread__find_map()
564 al->level = 'H'; in thread__find_map()
565 al->map = NULL; in thread__find_map()
570 al->filtered |= (1 << HIST_FILTER__GUEST); in thread__find_map()
574 al->filtered |= (1 << HIST_FILTER__HOST); in thread__find_map()
579 al->map = maps__find(maps, al->addr); in thread__find_map()
580 if (al->map != NULL) { in thread__find_map()
586 map__load(al->map); in thread__find_map()
587 al->addr = al->map->map_ip(al->map, al->addr); in thread__find_map()
590 return al->map; in thread__find_map()
602 struct machine *machine = thread->maps->machine; in thread__find_map_fb()
614 al->sym = NULL; in thread__find_symbol()
616 al->sym = map__find_symbol(al->map, al->addr); in thread__find_symbol()
617 return al->sym; in thread__find_symbol()
623 al->sym = NULL; in thread__find_symbol_fb()
625 al->sym = map__find_symbol(al->map, al->addr); in thread__find_symbol_fb()
626 return al->sym; in thread__find_symbol_fb()
630 * Callers need to drop the reference to al->thread, obtained in
636 struct thread *thread = machine__findnew_thread(machine, sample->pid, in machine__resolve()
637 sample->tid); in machine__resolve()
640 return -1; in machine__resolve()
642 dump_printf(" ... thread: %s:%d\n", thread__comm_str(thread), thread->tid); in machine__resolve()
643 thread__find_map(thread, sample->cpumode, sample->ip, al); in machine__resolve()
645 al->map ? al->map->dso->long_name : in machine__resolve()
646 al->level == 'H' ? "[hypervisor]" : "<not found>"); in machine__resolve()
649 al->filtered |= (1 << HIST_FILTER__THREAD); in machine__resolve()
651 al->sym = NULL; in machine__resolve()
652 al->cpu = sample->cpu; in machine__resolve()
653 al->socket = -1; in machine__resolve()
654 al->srcline = NULL; in machine__resolve()
656 if (al->cpu >= 0) { in machine__resolve()
657 struct perf_env *env = machine->env; in machine__resolve()
659 if (env && env->cpu) in machine__resolve()
660 al->socket = env->cpu[al->cpu].socket_id; in machine__resolve()
663 if (al->map) { in machine__resolve()
664 struct dso *dso = al->map->dso; in machine__resolve()
668 dso->short_name) || in machine__resolve()
669 (dso->short_name != dso->long_name && in machine__resolve()
671 dso->long_name))))) { in machine__resolve()
672 al->filtered |= (1 << HIST_FILTER__DSO); in machine__resolve()
675 al->sym = map__find_symbol(al->map, al->addr); in machine__resolve()
677 al->filtered |= (1 << HIST_FILTER__DSO); in machine__resolve()
685 if (al->sym) { in machine__resolve()
687 al->sym->name); in machine__resolve()
689 if (!ret && al->sym) { in machine__resolve()
691 al->map->unmap_ip(al->map, al->sym->start)); in machine__resolve()
696 al->filtered |= (1 << HIST_FILTER__SYMBOL); in machine__resolve()
710 thread__zput(al->thread); in addr_location__put()
715 return attr->type == PERF_TYPE_HARDWARE && in is_bts_event()
716 (attr->config & PERF_COUNT_HW_BRANCH_INSTRUCTIONS) && in is_bts_event()
717 attr->sample_period == 1; in is_bts_event()
722 if (attr->type == PERF_TYPE_SOFTWARE && in sample_addr_correlates_sym()
723 (attr->config == PERF_COUNT_SW_PAGE_FAULTS || in sample_addr_correlates_sym()
724 attr->config == PERF_COUNT_SW_PAGE_FAULTS_MIN || in sample_addr_correlates_sym()
725 attr->config == PERF_COUNT_SW_PAGE_FAULTS_MAJ)) in sample_addr_correlates_sym()
737 thread__find_map_fb(thread, sample->cpumode, sample->addr, al); in thread__resolve()
739 al->cpu = sample->cpu; in thread__resolve()
740 al->sym = NULL; in thread__resolve()
742 if (al->map) in thread__resolve()
743 al->sym = map__find_symbol(al->map, al->addr); in thread__resolve()