Lines Matching refs:report

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