Lines Matching full:report

3  * builtin-report.c
5 * Builtin report command: Analyze the perf.data input file,
76 struct report { struct
126 struct report *rep = cb; in report__config() argument
128 if (!strcmp(var, "report.group")) { in report__config()
132 if (!strcmp(var, "report.percent-limit")) { in report__config()
139 if (!strcmp(var, "report.children")) { in report__config()
143 if (!strcmp(var, "report.queue-size")) in report__config()
146 if (!strcmp(var, "report.sort_order")) { in report__config()
149 pr_err("Not enough memory for report.sort_order\n"); in report__config()
155 if (!strcmp(var, "report.skip-empty")) { in report__config()
169 struct report *rep = arg; in hist_iter__report_callback()
212 struct report *rep = arg; in hist_iter__branch_callback()
234 static void setup_forced_leader(struct report *report, in setup_forced_leader() argument
237 if (report->group_set) in setup_forced_leader()
244 struct report *rep = container_of(session->tool, struct report, tool); in process_feature_event()
272 struct report *rep = container_of(tool, struct report, tool); in process_sample_event()
348 struct report *rep = container_of(tool, struct report, tool); in process_read_event()
366 static int report__setup_sample_type(struct report *rep) in report__setup_sample_type()
473 static size_t hists__fprintf_nr_sample_events(struct hists *hists, struct report *rep, in hists__fprintf_nr_sample_events()
538 static int evlist__tui_block_hists_browse(struct evlist *evlist, struct report *rep) in evlist__tui_block_hists_browse()
554 static int evlist__tty_browse_hists(struct evlist *evlist, struct report *rep, const char *help) in evlist__tty_browse_hists()
612 static void report__warn_kptr_restrict(const struct report *rep) in report__warn_kptr_restrict()
641 static int report__gtk_browse_hists(struct report *rep, const char *help) in report__gtk_browse_hists()
656 static int report__browse_hists(struct report *rep) in report__browse_hists()
700 static int report__collapse_hists(struct report *rep) in report__collapse_hists()
750 struct report *rep = arg; in hists__resort_cb()
762 static void report__output_resort(struct report *rep) in report__output_resort()
793 struct report *rep = container_of(tool, struct report, tool); in count_lost_samples_event()
813 static void stats_setup(struct report *rep) in stats_setup()
823 static int stats_print(struct report *rep) in stats_print()
832 static void tasks_setup(struct report *rep) in tasks_setup()
1020 static int tasks_print(struct report *rep, FILE *fp) in tasks_print()
1041 static int __cmd_report(struct report *rep) in __cmd_report()
1246 struct report *rep = opt->value; in parse_percent_limit()
1289 "perf report [<options>]", in cmd_report()
1292 struct report report = { in cmd_report() local
1309 OPT_BOOLEAN(0, "stats", &report.stats_mode, "Display event stats"), in cmd_report()
1310 OPT_BOOLEAN(0, "tasks", &report.tasks_mode, "Display recorded tasks"), in cmd_report()
1311 OPT_BOOLEAN(0, "mmaps", &report.mmaps_mode, "Display recorded tasks memory maps"), in cmd_report()
1323 OPT_BOOLEAN('T', "threads", &report.show_threads, in cmd_report()
1325 OPT_STRING(0, "pretty", &report.pretty_printing_style, "key", in cmd_report()
1328 OPT_BOOLEAN(0, "tui", &report.use_tui, "Use the TUI interface"), in cmd_report()
1331 OPT_BOOLEAN(0, "gtk", &report.use_gtk, "Use the GTK2 interface"), in cmd_report()
1333 OPT_BOOLEAN(0, "stdio", &report.use_stdio, in cmd_report()
1335 OPT_BOOLEAN(0, "header", &report.header, "Show data header."), in cmd_report()
1336 OPT_BOOLEAN(0, "header-only", &report.header_only, in cmd_report()
1357 OPT_INTEGER(0, "max-stack", &report.max_stack, in cmd_report()
1361 OPT_BOOLEAN('G', "inverted", &report.inverted_callchain, in cmd_report()
1376 OPT_STRING(0, "symbol-filter", &report.symbol_filter_str, "filter", in cmd_report()
1389 OPT_STRING('C', "cpu", &report.cpu_list, "cpu", in cmd_report()
1391 OPT_BOOLEAN('I', "show-info", &report.show_full_info, in cmd_report()
1405 OPT_BOOLEAN_SET(0, "group", &symbol_conf.event_group, &report.group_set, in cmd_report()
1424 OPT_BOOLEAN(0, "mem-mode", &report.mem_mode, "mem access profile"), in cmd_report()
1427 OPT_CALLBACK(0, "percent-limit", &report, "percent", in cmd_report()
1438 OPT_BOOLEAN(0, "stitch-lbr", &report.stitch_lbr, in cmd_report()
1440 OPT_INTEGER(0, "socket-filter", &report.socket_filter, in cmd_report()
1449 OPT_STRING(0, "time", &report.time_str, "str", in cmd_report()
1460 OPTS_EVSWITCH(&report.evswitch), in cmd_report()
1461 OPT_BOOLEAN(0, "total-cycles", &report.total_cycles_mode, in cmd_report()
1463 OPT_BOOLEAN(0, "disable-order", &report.disable_order, in cmd_report()
1465 OPT_BOOLEAN(0, "skip-empty", &report.skip_empty, in cmd_report()
1488 ret = perf_config(report__config, &report); in cmd_report()
1501 report.symbol_filter_str = argv[0]; in cmd_report()
1525 if (report.mmaps_mode) in cmd_report()
1526 report.tasks_mode = true; in cmd_report()
1528 if (dump_trace && report.disable_order) in cmd_report()
1538 if (report.inverted_callchain) in cmd_report()
1544 (int)itrace_synth_opts.callchain_sz > report.max_stack) in cmd_report()
1545 report.max_stack = itrace_synth_opts.callchain_sz; in cmd_report()
1557 symbol_conf.skip_empty = report.skip_empty; in cmd_report()
1560 perf_tool__init(&report.tool, ordered_events); in cmd_report()
1561 report.tool.sample = process_sample_event; in cmd_report()
1562 report.tool.mmap = perf_event__process_mmap; in cmd_report()
1563 report.tool.mmap2 = perf_event__process_mmap2; in cmd_report()
1564 report.tool.comm = perf_event__process_comm; in cmd_report()
1565 report.tool.namespaces = perf_event__process_namespaces; in cmd_report()
1566 report.tool.cgroup = perf_event__process_cgroup; in cmd_report()
1567 report.tool.exit = perf_event__process_exit; in cmd_report()
1568 report.tool.fork = perf_event__process_fork; in cmd_report()
1569 report.tool.lost = perf_event__process_lost; in cmd_report()
1570 report.tool.read = process_read_event; in cmd_report()
1571 report.tool.attr = process_attr; in cmd_report()
1573 report.tool.tracing_data = perf_event__process_tracing_data; in cmd_report()
1575 report.tool.build_id = perf_event__process_build_id; in cmd_report()
1576 report.tool.id_index = perf_event__process_id_index; in cmd_report()
1577 report.tool.auxtrace_info = perf_event__process_auxtrace_info; in cmd_report()
1578 report.tool.auxtrace = perf_event__process_auxtrace; in cmd_report()
1579 report.tool.event_update = perf_event__process_event_update; in cmd_report()
1580 report.tool.feature = process_feature_event; in cmd_report()
1581 report.tool.ordering_requires_timestamps = true; in cmd_report()
1583 session = perf_session__new(&data, &report.tool); in cmd_report()
1589 ret = evswitch__init(&report.evswitch, session->evlist, stderr); in cmd_report()
1596 if (report.queue_size) { in cmd_report()
1598 report.queue_size); in cmd_report()
1603 report.session = session; in cmd_report()
1610 setup_forced_leader(&report, session->evlist); in cmd_report()
1624 memset(&report.brtype_stat, 0, sizeof(struct branch_type_stat)); in cmd_report()
1645 if (report.mem_mode) { in cmd_report()
1668 if (report.use_stdio) in cmd_report()
1671 else if (report.use_tui) in cmd_report()
1675 else if (report.use_gtk) in cmd_report()
1680 if (report.header || report.header_only || report.show_threads) in cmd_report()
1682 if (report.header || report.header_only) in cmd_report()
1683 report.tool.show_feat_hdr = SHOW_FEAT_HEADER; in cmd_report()
1684 if (report.show_full_info) in cmd_report()
1685 report.tool.show_feat_hdr = SHOW_FEAT_HEADER_FULL_INFO; in cmd_report()
1686 if (report.stats_mode || report.tasks_mode) in cmd_report()
1688 if (report.stats_mode && report.tasks_mode) { in cmd_report()
1693 if (report.total_cycles_mode) { in cmd_report()
1695 report.total_cycles_mode = false; in cmd_report()
1701 report.data_type = true; in cmd_report()
1715 if (report.data_type && use_browser == 1) { in cmd_report()
1729 report.symbol_ipc = true; in cmd_report()
1748 if ((report.header || report.header_only) && !quiet) { in cmd_report()
1750 report.show_full_info); in cmd_report()
1751 if (report.header_only) { in cmd_report()
1763 !report.stats_mode && !report.tasks_mode) { in cmd_report()
1773 if (ui__has_annotation() || report.symbol_ipc || report.data_type || in cmd_report()
1774 report.total_cycles_mode) { in cmd_report()
1798 if (report.time_str) { in cmd_report()
1799 ret = perf_time__parse_for_ranges(report.time_str, session, in cmd_report()
1800 &report.ptime_range, in cmd_report()
1801 &report.range_size, in cmd_report()
1802 &report.range_num); in cmd_report()
1807 report.ptime_range, in cmd_report()
1808 report.range_num); in cmd_report()
1823 ret = __cmd_report(&report); in cmd_report()
1834 if (report.ptime_range) { in cmd_report()
1836 zfree(&report.ptime_range); in cmd_report()
1839 if (report.block_reports) { in cmd_report()
1840 block_info__free_report(report.block_reports, in cmd_report()
1841 report.nr_block_reports); in cmd_report()
1842 report.block_reports = NULL; in cmd_report()