perf c2c report: Setup browser after opening perf.data
authorJiri Olsa <jolsa@kernel.org>
Mon, 21 Nov 2016 21:33:27 +0000 (22:33 +0100)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 23 Nov 2016 13:44:04 +0000 (10:44 -0300)
Because of the early browser switch we won't get possible error
messages, as it will clear the screen right after showing the message,
e.g.:

Before:

   $ sudo perf c2c report -d lcl
   $

After:
   $ sudo perf c2c report -d lcl
   File perf.data not owned by current user or root (use -f to override)
   $
   $ ls -la perf.data
   -rw-------. 1 acme acme 26648 Nov 22 15:11 perf.data
   $

Signed-off-by: Jiri Olsa <jolsa@redhat.com>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Don Zickus <dzickus@redhat.com>
Cc: Joe Mario <jmario@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1479764011-10732-3-git-send-email-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/builtin-c2c.c

index c6d0dda..15addb0 100644 (file)
@@ -2535,13 +2535,6 @@ static int perf_c2c__report(int argc, const char **argv)
        if (c2c.stats_only)
                c2c.use_stdio = true;
 
-       if (c2c.use_stdio)
-               use_browser = 0;
-       else
-               use_browser = 1;
-
-       setup_browser(false);
-
        if (!input_name || !strlen(input_name))
                input_name = "perf.data";
 
@@ -2568,6 +2561,7 @@ static int perf_c2c__report(int argc, const char **argv)
                pr_debug("No memory for session\n");
                goto out;
        }
+
        err = setup_nodes(session);
        if (err) {
                pr_err("Failed setup nodes\n");
@@ -2587,6 +2581,13 @@ static int perf_c2c__report(int argc, const char **argv)
                goto out_session;
        }
 
+       if (c2c.use_stdio)
+               use_browser = 0;
+       else
+               use_browser = 1;
+
+       setup_browser(false);
+
        err = perf_session__process_events(session);
        if (err) {
                pr_err("failed to process sample\n");