Lines Matching full:report

3  * builtin-report.c
5 * Builtin report command: Analyze the perf.data input file,
74 struct report { struct
124 struct report *rep = cb; in report__config() argument
126 if (!strcmp(var, "report.group")) { in report__config()
130 if (!strcmp(var, "report.percent-limit")) { in report__config()
137 if (!strcmp(var, "report.children")) { in report__config()
141 if (!strcmp(var, "report.queue-size")) in report__config()
144 if (!strcmp(var, "report.sort_order")) { in report__config()
147 pr_err("Not enough memory for report.sort_order\n"); in report__config()
153 if (!strcmp(var, "report.skip-empty")) { in report__config()
167 struct report *rep = arg; in hist_iter__report_callback()
210 struct report *rep = arg; in hist_iter__branch_callback()
232 static void setup_forced_leader(struct report *report, in setup_forced_leader() argument
235 if (report->group_set) in setup_forced_leader()
242 struct report *rep = container_of(session->tool, struct report, tool); in process_feature_event()
270 struct report *rep = container_of(tool, struct report, tool); in process_sample_event()
346 struct report *rep = container_of(tool, struct report, tool); in process_read_event()
364 static int report__setup_sample_type(struct report *rep) in report__setup_sample_type()
471 static size_t hists__fprintf_nr_sample_events(struct hists *hists, struct report *rep, in hists__fprintf_nr_sample_events()
536 static int evlist__tui_block_hists_browse(struct evlist *evlist, struct report *rep) in evlist__tui_block_hists_browse()
553 static int evlist__tty_browse_hists(struct evlist *evlist, struct report *rep, const char *help) in evlist__tty_browse_hists()
604 static void report__warn_kptr_restrict(const struct report *rep) in report__warn_kptr_restrict()
633 static int report__gtk_browse_hists(struct report *rep, const char *help) in report__gtk_browse_hists()
648 static int report__browse_hists(struct report *rep) in report__browse_hists()
692 static int report__collapse_hists(struct report *rep) in report__collapse_hists()
727 struct report *rep = arg; in hists__resort_cb()
739 static void report__output_resort(struct report *rep) in report__output_resort()
770 struct report *rep = container_of(tool, struct report, tool); in count_lost_samples_event()
785 static void stats_setup(struct report *rep) in stats_setup()
794 static int stats_print(struct report *rep) in stats_print()
803 static void tasks_setup(struct report *rep) in tasks_setup()
888 static int tasks_print(struct report *rep, FILE *fp) in tasks_print()
955 static int __cmd_report(struct report *rep) in __cmd_report()
1158 struct report *rep = opt->value; in parse_percent_limit()
1201 "perf report [<options>]", in cmd_report()
1204 struct report report = { in cmd_report() local
1245 OPT_BOOLEAN(0, "stats", &report.stats_mode, "Display event stats"), in cmd_report()
1246 OPT_BOOLEAN(0, "tasks", &report.tasks_mode, "Display recorded tasks"), in cmd_report()
1247 OPT_BOOLEAN(0, "mmaps", &report.mmaps_mode, "Display recorded tasks memory maps"), in cmd_report()
1259 OPT_BOOLEAN('T', "threads", &report.show_threads, in cmd_report()
1261 OPT_STRING(0, "pretty", &report.pretty_printing_style, "key", in cmd_report()
1264 OPT_BOOLEAN(0, "tui", &report.use_tui, "Use the TUI interface"), in cmd_report()
1267 OPT_BOOLEAN(0, "gtk", &report.use_gtk, "Use the GTK2 interface"), in cmd_report()
1269 OPT_BOOLEAN(0, "stdio", &report.use_stdio, in cmd_report()
1271 OPT_BOOLEAN(0, "header", &report.header, "Show data header."), in cmd_report()
1272 OPT_BOOLEAN(0, "header-only", &report.header_only, in cmd_report()
1293 OPT_INTEGER(0, "max-stack", &report.max_stack, in cmd_report()
1297 OPT_BOOLEAN('G', "inverted", &report.inverted_callchain, in cmd_report()
1312 OPT_STRING(0, "symbol-filter", &report.symbol_filter_str, "filter", in cmd_report()
1325 OPT_STRING('C', "cpu", &report.cpu_list, "cpu", in cmd_report()
1327 OPT_BOOLEAN('I', "show-info", &report.show_full_info, in cmd_report()
1329 OPT_BOOLEAN(0, "source", &report.annotation_opts.annotate_src, in cmd_report()
1331 OPT_BOOLEAN(0, "asm-raw", &report.annotation_opts.show_asm_raw, in cmd_report()
1335 OPT_STRING(0, "prefix", &report.annotation_opts.prefix, "prefix", in cmd_report()
1337 OPT_STRING(0, "prefix-strip", &report.annotation_opts.prefix_strip, "N", in cmd_report()
1341 OPT_BOOLEAN_SET(0, "group", &symbol_conf.event_group, &report.group_set, in cmd_report()
1360 OPT_BOOLEAN(0, "mem-mode", &report.mem_mode, "mem access profile"), in cmd_report()
1363 OPT_CALLBACK(0, "percent-limit", &report, "percent", in cmd_report()
1374 OPT_BOOLEAN(0, "stitch-lbr", &report.stitch_lbr, in cmd_report()
1376 OPT_INTEGER(0, "socket-filter", &report.socket_filter, in cmd_report()
1385 OPT_STRING(0, "time", &report.time_str, "str", in cmd_report()
1389 OPT_CALLBACK(0, "percent-type", &report.annotation_opts, "local-period", in cmd_report()
1396 OPTS_EVSWITCH(&report.evswitch), in cmd_report()
1397 OPT_BOOLEAN(0, "total-cycles", &report.total_cycles_mode, in cmd_report()
1399 OPT_BOOLEAN(0, "disable-order", &report.disable_order, in cmd_report()
1401 OPT_BOOLEAN(0, "skip-empty", &report.skip_empty, in cmd_report()
1414 annotation_options__init(&report.annotation_opts); in cmd_report()
1416 ret = perf_config(report__config, &report); in cmd_report()
1429 report.symbol_filter_str = argv[0]; in cmd_report()
1433 report.annotation_opts.disassembler_style = strdup(disassembler_style); in cmd_report()
1434 if (!report.annotation_opts.disassembler_style) in cmd_report()
1438 report.annotation_opts.objdump_path = strdup(objdump_path); in cmd_report()
1439 if (!report.annotation_opts.objdump_path) in cmd_report()
1448 if (annotate_check_args(&report.annotation_opts) < 0) { in cmd_report()
1453 if (report.mmaps_mode) in cmd_report()
1454 report.tasks_mode = true; in cmd_report()
1456 if (dump_trace && report.disable_order) in cmd_report()
1457 report.tool.ordered_events = false; in cmd_report()
1466 if (report.inverted_callchain) in cmd_report()
1472 (int)itrace_synth_opts.callchain_sz > report.max_stack) in cmd_report()
1473 report.max_stack = itrace_synth_opts.callchain_sz; in cmd_report()
1486 session = perf_session__new(&data, &report.tool); in cmd_report()
1492 ret = evswitch__init(&report.evswitch, session->evlist, stderr); in cmd_report()
1499 if (report.queue_size) { in cmd_report()
1501 report.queue_size); in cmd_report()
1506 report.session = session; in cmd_report()
1513 setup_forced_leader(&report, session->evlist); in cmd_report()
1527 memset(&report.brtype_stat, 0, sizeof(struct branch_type_stat)); in cmd_report()
1548 if (report.mem_mode) { in cmd_report()
1571 if (report.use_stdio) in cmd_report()
1574 else if (report.use_tui) in cmd_report()
1578 else if (report.use_gtk) in cmd_report()
1583 if (report.header || report.header_only || report.show_threads) in cmd_report()
1585 if (report.header || report.header_only) in cmd_report()
1586 report.tool.show_feat_hdr = SHOW_FEAT_HEADER; in cmd_report()
1587 if (report.show_full_info) in cmd_report()
1588 report.tool.show_feat_hdr = SHOW_FEAT_HEADER_FULL_INFO; in cmd_report()
1589 if (report.stats_mode || report.tasks_mode) in cmd_report()
1591 if (report.stats_mode && report.tasks_mode) { in cmd_report()
1596 if (report.total_cycles_mode) { in cmd_report()
1598 report.total_cycles_mode = false; in cmd_report()
1617 report.symbol_ipc = true; in cmd_report()
1636 if ((report.header || report.header_only) && !quiet) { in cmd_report()
1638 report.show_full_info); in cmd_report()
1639 if (report.header_only) { in cmd_report()
1651 !report.stats_mode && !report.tasks_mode) { in cmd_report()
1661 if (ui__has_annotation() || report.symbol_ipc || in cmd_report()
1662 report.total_cycles_mode) { in cmd_report()
1680 annotation_config__init(&report.annotation_opts); in cmd_report()
1686 if (report.time_str) { in cmd_report()
1687 ret = perf_time__parse_for_ranges(report.time_str, session, in cmd_report()
1688 &report.ptime_range, in cmd_report()
1689 &report.range_size, in cmd_report()
1690 &report.range_num); in cmd_report()
1695 report.ptime_range, in cmd_report()
1696 report.range_num); in cmd_report()
1711 ret = __cmd_report(&report); in cmd_report()
1720 if (report.ptime_range) { in cmd_report()
1722 zfree(&report.ptime_range); in cmd_report()
1725 if (report.block_reports) { in cmd_report()
1726 block_info__free_report(report.block_reports, in cmd_report()
1727 report.nr_block_reports); in cmd_report()
1728 report.block_reports = NULL; in cmd_report()
1734 annotation_options__exit(&report.annotation_opts); in cmd_report()