aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/builtin-report.c
diff options
context:
space:
mode:
authorFeng Tang <feng.tang@intel.com>2012-10-29 23:56:02 -0400
committerArnaldo Carvalho de Melo <acme@redhat.com>2012-10-29 09:45:34 -0400
commit70cb4e963f77dae90ae2aa3dd9385a43737c469f (patch)
tree41b94acf8d0f01e93f6c214b9ee1bdae11b41538 /tools/perf/builtin-report.c
parentcdd059d731eeb466f51a404ee6cbfafb0fc7c20b (diff)
perf tools: Add a global variable "const char *input_name"
Currently many perf commands annotate/evlist/report/script/lock etc all support "-i" option to chose a specific perf data, and all of them create a local "input_name" to save the file name for that perf data. Since most of these commands need it, we can add a global variable for it, also it can some other benefits: 1. When calling script browser inside hists/annotation browser, it needs to know the perf data file name to run that script. 2. For further feature like runtime switching to another perf data file, this variable can also help. Signed-off-by: Feng Tang <feng.tang@intel.com> Cc: Andi Kleen <andi@firstfloor.org> Cc: Ingo Molnar <mingo@elte.hu> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/r/1351569369-26732-2-git-send-email-feng.tang@intel.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/builtin-report.c')
-rw-r--r--tools/perf/builtin-report.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c
index 90d1162bb8b8..f07eae73e692 100644
--- a/tools/perf/builtin-report.c
+++ b/tools/perf/builtin-report.c
@@ -40,7 +40,6 @@
40struct perf_report { 40struct perf_report {
41 struct perf_tool tool; 41 struct perf_tool tool;
42 struct perf_session *session; 42 struct perf_session *session;
43 char const *input_name;
44 bool force, use_tui, use_gtk, use_stdio; 43 bool force, use_tui, use_gtk, use_stdio;
45 bool hide_unresolved; 44 bool hide_unresolved;
46 bool dont_use_callchains; 45 bool dont_use_callchains;
@@ -571,7 +570,7 @@ int cmd_report(int argc, const char **argv, const char *prefix __maybe_unused)
571 .pretty_printing_style = "normal", 570 .pretty_printing_style = "normal",
572 }; 571 };
573 const struct option options[] = { 572 const struct option options[] = {
574 OPT_STRING('i', "input", &report.input_name, "file", 573 OPT_STRING('i', "input", &input_name, "file",
575 "input file name"), 574 "input file name"),
576 OPT_INCR('v', "verbose", &verbose, 575 OPT_INCR('v', "verbose", &verbose,
577 "be more verbose (show symbol address, etc)"), 576 "be more verbose (show symbol address, etc)"),
@@ -657,13 +656,13 @@ int cmd_report(int argc, const char **argv, const char *prefix __maybe_unused)
657 if (report.inverted_callchain) 656 if (report.inverted_callchain)
658 callchain_param.order = ORDER_CALLER; 657 callchain_param.order = ORDER_CALLER;
659 658
660 if (!report.input_name || !strlen(report.input_name)) { 659 if (!input_name || !strlen(input_name)) {
661 if (!fstat(STDIN_FILENO, &st) && S_ISFIFO(st.st_mode)) 660 if (!fstat(STDIN_FILENO, &st) && S_ISFIFO(st.st_mode))
662 report.input_name = "-"; 661 input_name = "-";
663 else 662 else
664 report.input_name = "perf.data"; 663 input_name = "perf.data";
665 } 664 }
666 session = perf_session__new(report.input_name, O_RDONLY, 665 session = perf_session__new(input_name, O_RDONLY,
667 report.force, false, &report.tool); 666 report.force, false, &report.tool);
668 if (session == NULL) 667 if (session == NULL)
669 return -ENOMEM; 668 return -ENOMEM;
@@ -694,7 +693,7 @@ int cmd_report(int argc, const char **argv, const char *prefix __maybe_unused)
694 693
695 } 694 }
696 695
697 if (strcmp(report.input_name, "-") != 0) 696 if (strcmp(input_name, "-") != 0)
698 setup_browser(true); 697 setup_browser(true);
699 else { 698 else {
700 use_browser = 0; 699 use_browser = 0;