Lines Matching refs:report

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