Lines Matching refs:rep

125 	struct report *rep = cb;
134 rep->min_percent = pcnt;
143 return perf_config_u64(&rep->queue_size, var, value);
155 rep->skip_empty = perf_config_bool(var, value);
168 struct report *rep = arg;
175 if (!ui__has_annotation() && !rep->symbol_ipc && !rep->data_type)
186 } else if (rep->mem_mode) {
211 struct report *rep = arg;
217 branch_type_count(&rep->brtype_stat, &bi->flags,
220 if (!ui__has_annotation() && !rep->symbol_ipc)
243 struct report *rep = container_of(session->tool, struct report, tool);
252 } else if (rep->header_only) {
261 setup_forced_leader(rep, session->evlist);
271 struct report *rep = container_of(tool, struct report, tool);
281 if (perf_time__ranges_skip_sample(rep->ptime_range, rep->range_num,
286 if (evswitch__discard(&rep->evswitch, evsel))
297 if (rep->stitch_lbr)
303 if (rep->cpu_list && !test_bit(sample->cpu, rep->cpu_bitmap))
316 } else if (rep->mem_mode) {
327 if (ui__has_annotation() || rep->symbol_ipc || rep->total_cycles_mode) {
329 rep->nonany_branch_mode,
330 &rep->total_cycles);
333 ret = hist_entry_iter__add(&iter, &al, rep->max_stack, rep);
347 struct report *rep = container_of(tool, struct report, tool);
349 if (rep->show_threads) {
351 int err = perf_read_values_add_value(&rep->show_threads_values,
365 static int report__setup_sample_type(struct report *rep)
367 struct perf_session *session = rep->session;
445 callchain_param_setup(sample_type, perf_env__arch(&rep->session->header.env));
447 if (rep->stitch_lbr && (callchain_param.record_mode != CALLCHAIN_LBR)) {
450 rep->stitch_lbr = false;
455 rep->nonany_branch_mode = true;
472 static size_t hists__fprintf_nr_sample_events(struct hists *hists, struct report *rep,
518 if (rep->time_str)
519 ret += fprintf(fp, " (time slices: %s)", rep->time_str);
525 if (rep->mem_mode) {
537 static int evlist__tui_block_hists_browse(struct evlist *evlist, struct report *rep)
543 ret = report__browse_block_hists(&rep->block_reports[i++].hist,
544 rep->min_percent, pos,
545 &rep->session->header.env);
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, NULL);
581 hists__fprintf(hists, !quiet, 0, 0, rep->min_percent, stdout,
590 if (rep->show_threads) {
591 bool style = !strcmp(rep->pretty_printing_style, "raw");
592 perf_read_values_display(stdout, &rep->show_threads_values,
594 perf_read_values_destroy(&rep->show_threads_values);
598 branch_type_stat_display(stdout, &rep->brtype_stat);
603 static void report__warn_kptr_restrict(const struct report *rep)
605 struct map *kernel_map = machine__kernel_map(&rep->session->machines.host);
608 if (evlist__exclude_kernel(rep->session->evlist))
632 static int report__gtk_browse_hists(struct report *rep, const char *help)
644 return hist_browser(rep->session->evlist, help, NULL, rep->min_percent);
647 static int report__browse_hists(struct report *rep)
650 struct perf_session *session = rep->session;
666 if (rep->total_cycles_mode) {
667 ret = evlist__tui_block_hists_browse(evlist, rep);
671 ret = evlist__tui_browse_hists(evlist, help, NULL, rep->min_percent,
681 ret = report__gtk_browse_hists(rep, help);
684 ret = evlist__tty_browse_hists(evlist, rep, help);
691 static int report__collapse_hists(struct report *rep)
693 struct perf_session *session = rep->session;
712 ui_progress__init(&prog, rep->nr_entries, "Merging related events...");
714 evlist__for_each_entry(rep->session->evlist, pos) {
718 hists->symbol_filter_str = rep->symbol_filter_str;
720 hists->socket_filter = rep->socket_filter;
741 struct report *rep = arg;
744 if (rep->symbol_ipc && sym && !sym->annotate2) {
753 static void report__output_resort(struct report *rep)
758 ui_progress__init(&prog, rep->nr_entries, "Sorting events for output...");
760 evlist__for_each_entry(rep->session->evlist, pos) {
761 evsel__output_resort_cb(pos, &prog, hists__resort_cb, rep);
784 struct report *rep = container_of(tool, struct report, tool);
787 evsel = evlist__id2evsel(rep->session->evlist, sample->id);
799 static void stats_setup(struct report *rep)
801 memset(&rep->tool, 0, sizeof(rep->tool));
802 rep->tool.attr = process_attr;
803 rep->tool.sample = count_sample_event;
804 rep->tool.lost_samples = count_lost_samples_event;
805 rep->tool.no_warn = true;
808 static int stats_print(struct report *rep)
810 struct perf_session *session = rep->session;
812 perf_session__fprintf_nr_events(session, stdout, rep->skip_empty);
813 evlist__fprintf_nr_events(session->evlist, stdout, rep->skip_empty);
817 static void tasks_setup(struct report *rep)
819 memset(&rep->tool, 0, sizeof(rep->tool));
820 rep->tool.ordered_events = true;
821 if (rep->mmaps_mode) {
822 rep->tool.mmap = perf_event__process_mmap;
823 rep->tool.mmap2 = perf_event__process_mmap2;
825 rep->tool.attr = process_attr;
826 rep->tool.comm = perf_event__process_comm;
827 rep->tool.exit = perf_event__process_exit;
828 rep->tool.fork = perf_event__process_fork;
829 rep->tool.no_warn = true;
1006 static int tasks_print(struct report *rep, FILE *fp)
1008 struct machine *machine = &rep->session->machines.host;
1027 static int __cmd_report(struct report *rep)
1030 struct perf_session *session = rep->session;
1036 if (rep->cpu_list) {
1037 ret = perf_session__cpu_bitmap(session, rep->cpu_list,
1038 rep->cpu_bitmap);
1043 session->itrace_synth_opts->cpu_bitmap = rep->cpu_bitmap;
1046 if (rep->show_threads) {
1047 ret = perf_read_values_init(&rep->show_threads_values);
1052 ret = report__setup_sample_type(rep);
1058 if (rep->stats_mode)
1059 stats_setup(rep);
1061 if (rep->tasks_mode)
1062 tasks_setup(rep);
1072 if (rep->stats_mode)
1073 return stats_print(rep);
1075 if (rep->tasks_mode)
1076 return tasks_print(rep, stdout);
1078 report__warn_kptr_restrict(rep);
1081 rep->nr_entries += evsel__hists(pos)->nr_entries;
1092 rep->skip_empty);
1094 rep->skip_empty);
1099 ret = report__collapse_hists(rep);
1112 rep->nr_entries = 0;
1114 rep->nr_entries += evsel__hists(pos)->nr_entries;
1116 if (rep->nr_entries == 0) {
1121 report__output_resort(rep);
1123 if (rep->total_cycles_mode) {
1133 rep->block_reports = block_info__create_report(session->evlist,
1134 rep->total_cycles,
1136 &rep->nr_block_reports);
1137 if (!rep->block_reports)
1141 return report__browse_hists(rep);
1230 struct report *rep = opt->value;
1233 rep->min_percent = pcnt;