Lines Matching refs:rep

124 	struct report *rep = cb;
133 rep->min_percent = pcnt;
142 return perf_config_u64(&rep->queue_size, var, value);
154 rep->skip_empty = perf_config_bool(var, value);
167 struct report *rep = arg;
174 if (!ui__has_annotation() && !rep->symbol_ipc)
185 } else if (rep->mem_mode) {
210 struct report *rep = arg;
216 branch_type_count(&rep->brtype_stat, &bi->flags,
219 if (!ui__has_annotation() && !rep->symbol_ipc)
242 struct report *rep = container_of(session->tool, struct report, tool);
251 } else if (rep->header_only) {
260 setup_forced_leader(rep, session->evlist);
270 struct report *rep = container_of(tool, struct report, tool);
280 if (perf_time__ranges_skip_sample(rep->ptime_range, rep->range_num,
285 if (evswitch__discard(&rep->evswitch, evsel))
296 if (rep->stitch_lbr)
302 if (rep->cpu_list && !test_bit(sample->cpu, rep->cpu_bitmap))
315 } else if (rep->mem_mode) {
326 if (ui__has_annotation() || rep->symbol_ipc || rep->total_cycles_mode) {
328 rep->nonany_branch_mode,
329 &rep->total_cycles);
332 ret = hist_entry_iter__add(&iter, &al, rep->max_stack, rep);
346 struct report *rep = container_of(tool, struct report, tool);
348 if (rep->show_threads) {
350 int err = perf_read_values_add_value(&rep->show_threads_values,
364 static int report__setup_sample_type(struct report *rep)
366 struct perf_session *session = rep->session;
444 callchain_param_setup(sample_type, perf_env__arch(&rep->session->header.env));
446 if (rep->stitch_lbr && (callchain_param.record_mode != CALLCHAIN_LBR)) {
449 rep->stitch_lbr = false;
454 rep->nonany_branch_mode = true;
471 static size_t hists__fprintf_nr_sample_events(struct hists *hists, struct report *rep,
517 if (rep->time_str)
518 ret += fprintf(fp, " (time slices: %s)", rep->time_str);
524 if (rep->mem_mode) {
536 static int evlist__tui_block_hists_browse(struct evlist *evlist, struct report *rep)
542 ret = report__browse_block_hists(&rep->block_reports[i++].hist,
543 rep->min_percent, pos,
544 &rep->session->header.env,
545 &rep->annotation_opts);
553 static int evlist__tty_browse_hists(struct evlist *evlist, struct report *rep, const char *help)
570 if (rep->skip_empty && !hists->stats.nr_samples)
573 hists__fprintf_nr_sample_events(hists, rep, evname, stdout);
575 if (rep->total_cycles_mode) {
576 report__browse_block_hists(&rep->block_reports[i++].hist,
577 rep->min_percent, pos,
582 hists__fprintf(hists, !quiet, 0, 0, rep->min_percent, stdout,
591 if (rep->show_threads) {
592 bool style = !strcmp(rep->pretty_printing_style, "raw");
593 perf_read_values_display(stdout, &rep->show_threads_values,
595 perf_read_values_destroy(&rep->show_threads_values);
599 branch_type_stat_display(stdout, &rep->brtype_stat);
604 static void report__warn_kptr_restrict(const struct report *rep)
606 struct map *kernel_map = machine__kernel_map(&rep->session->machines.host);
609 if (evlist__exclude_kernel(rep->session->evlist))
633 static int report__gtk_browse_hists(struct report *rep, const char *help)
645 return hist_browser(rep->session->evlist, help, NULL, rep->min_percent);
648 static int report__browse_hists(struct report *rep)
651 struct perf_session *session = rep->session;
667 if (rep->total_cycles_mode) {
668 ret = evlist__tui_block_hists_browse(evlist, rep);
672 ret = evlist__tui_browse_hists(evlist, help, NULL, rep->min_percent,
673 &session->header.env, true, &rep->annotation_opts);
682 ret = report__gtk_browse_hists(rep, help);
685 ret = evlist__tty_browse_hists(evlist, rep, help);
692 static int report__collapse_hists(struct report *rep)
698 ui_progress__init(&prog, rep->nr_entries, "Merging related events...");
700 evlist__for_each_entry(rep->session->evlist, pos) {
704 hists->symbol_filter_str = rep->symbol_filter_str;
706 hists->socket_filter = rep->socket_filter;
727 struct report *rep = arg;
730 if (rep->symbol_ipc && sym && !sym->annotate2) {
733 symbol__annotate2(&he->ms, evsel, &rep->annotation_opts, NULL);
739 static void report__output_resort(struct report *rep)
744 ui_progress__init(&prog, rep->nr_entries, "Sorting events for output...");
746 evlist__for_each_entry(rep->session->evlist, pos) {
747 evsel__output_resort_cb(pos, &prog, hists__resort_cb, rep);
770 struct report *rep = container_of(tool, struct report, tool);
773 evsel = evlist__id2evsel(rep->session->evlist, sample->id);
785 static void stats_setup(struct report *rep)
787 memset(&rep->tool, 0, sizeof(rep->tool));
788 rep->tool.attr = process_attr;
789 rep->tool.sample = count_sample_event;
790 rep->tool.lost_samples = count_lost_samples_event;
791 rep->tool.no_warn = true;
794 static int stats_print(struct report *rep)
796 struct perf_session *session = rep->session;
798 perf_session__fprintf_nr_events(session, stdout, rep->skip_empty);
799 evlist__fprintf_nr_events(session->evlist, stdout, rep->skip_empty);
803 static void tasks_setup(struct report *rep)
805 memset(&rep->tool, 0, sizeof(rep->tool));
806 rep->tool.ordered_events = true;
807 if (rep->mmaps_mode) {
808 rep->tool.mmap = perf_event__process_mmap;
809 rep->tool.mmap2 = perf_event__process_mmap2;
811 rep->tool.attr = process_attr;
812 rep->tool.comm = perf_event__process_comm;
813 rep->tool.exit = perf_event__process_exit;
814 rep->tool.fork = perf_event__process_fork;
815 rep->tool.no_warn = true;
888 static int tasks_print(struct report *rep, FILE *fp)
890 struct perf_session *session = rep->session;
955 static int __cmd_report(struct report *rep)
958 struct perf_session *session = rep->session;
964 if (rep->cpu_list) {
965 ret = perf_session__cpu_bitmap(session, rep->cpu_list,
966 rep->cpu_bitmap);
971 session->itrace_synth_opts->cpu_bitmap = rep->cpu_bitmap;
974 if (rep->show_threads) {
975 ret = perf_read_values_init(&rep->show_threads_values);
980 ret = report__setup_sample_type(rep);
986 if (rep->stats_mode)
987 stats_setup(rep);
989 if (rep->tasks_mode)
990 tasks_setup(rep);
1000 if (rep->stats_mode)
1001 return stats_print(rep);
1003 if (rep->tasks_mode)
1004 return tasks_print(rep, stdout);
1006 report__warn_kptr_restrict(rep);
1009 rep->nr_entries += evsel__hists(pos)->nr_entries;
1020 rep->skip_empty);
1022 rep->skip_empty);
1027 ret = report__collapse_hists(rep);
1040 rep->nr_entries = 0;
1042 rep->nr_entries += evsel__hists(pos)->nr_entries;
1044 if (rep->nr_entries == 0) {
1049 report__output_resort(rep);
1051 if (rep->total_cycles_mode) {
1061 rep->block_reports = block_info__create_report(session->evlist,
1062 rep->total_cycles,
1064 &rep->nr_block_reports);
1065 if (!rep->block_reports)
1069 return report__browse_hists(rep);
1158 struct report *rep = opt->value;
1161 rep->min_percent = pcnt;