Skip to content
Snippets Groups Projects
builtin-report.c 20.7 KiB
Newer Older
  • Learn to ignore specific revisions
  • 	if (offset + head < stat.st_size)
    		goto more;
    
    	rc = EXIT_SUCCESS;
    done:
    	close(input);
    
    		fprintf(stderr, "      IP events: %10ld\n", total);
    		fprintf(stderr, "    mmap events: %10ld\n", total_mmap);
    		fprintf(stderr, "    comm events: %10ld\n", total_comm);
    		fprintf(stderr, " unknown events: %10ld\n", total_unknown);
    
    	if (verbose >= 2) {
    		dsos__fprintf(stdout);
    		threads__fprintf(stdout);
    	}
    
    
    	threads__sort_symhists();
    	threads__symhists_fprintf(total, stdout);
    
    static const char * const report_usage[] = {
    	"perf report [<options>] <command>",
    	NULL
    };
    
    static const struct option options[] = {
    	OPT_STRING('i', "input", &input_name, "file",
    		    "input file name"),
    
    	OPT_BOOLEAN('v', "verbose", &verbose,
    		    "be more verbose (show symbol address, etc)"),
    
    	OPT_BOOLEAN('D', "dump-raw-trace", &dump_trace,
    		    "dump raw trace in ASCII"),
    
    	OPT_END()
    };
    
    int cmd_report(int argc, const char **argv, const char *prefix)
    {
    	elf_version(EV_CURRENT);
    
    	page_size = getpagesize();
    
    	parse_options(argc, argv, options, report_usage, 0);
    
    
    	return __cmd_report();
    }