diff options
Diffstat (limited to 'tools/perf/builtin-report.c')
-rw-r--r-- | tools/perf/builtin-report.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c index 9051f6bfaa7e..25d34d483e49 100644 --- a/tools/perf/builtin-report.c +++ b/tools/perf/builtin-report.c | |||
@@ -321,8 +321,7 @@ static int __cmd_report(struct perf_report *rep) | |||
321 | } | 321 | } |
322 | 322 | ||
323 | if (nr_samples == 0) { | 323 | if (nr_samples == 0) { |
324 | ui__warning("The %s file has no samples!\n", | 324 | ui__warning("The %s file has no samples!\n", session->filename); |
325 | rep->input_name); | ||
326 | goto out_delete; | 325 | goto out_delete; |
327 | } | 326 | } |
328 | 327 | ||
@@ -430,6 +429,7 @@ setup: | |||
430 | 429 | ||
431 | int cmd_report(int argc, const char **argv, const char *prefix __used) | 430 | int cmd_report(int argc, const char **argv, const char *prefix __used) |
432 | { | 431 | { |
432 | struct stat st; | ||
433 | char callchain_default_opt[] = "fractal,0.5,callee"; | 433 | char callchain_default_opt[] = "fractal,0.5,callee"; |
434 | const char * const report_usage[] = { | 434 | const char * const report_usage[] = { |
435 | "perf report [<options>]", | 435 | "perf report [<options>]", |
@@ -451,7 +451,6 @@ int cmd_report(int argc, const char **argv, const char *prefix __used) | |||
451 | .ordered_samples = true, | 451 | .ordered_samples = true, |
452 | .ordering_requires_timestamps = true, | 452 | .ordering_requires_timestamps = true, |
453 | }, | 453 | }, |
454 | .input_name = "perf.data", | ||
455 | .pretty_printing_style = "normal", | 454 | .pretty_printing_style = "normal", |
456 | }; | 455 | }; |
457 | const struct option options[] = { | 456 | const struct option options[] = { |
@@ -531,10 +530,18 @@ int cmd_report(int argc, const char **argv, const char *prefix __used) | |||
531 | if (report.inverted_callchain) | 530 | if (report.inverted_callchain) |
532 | callchain_param.order = ORDER_CALLER; | 531 | callchain_param.order = ORDER_CALLER; |
533 | 532 | ||
533 | if (!report.input_name || !strlen(report.input_name)) { | ||
534 | if (!fstat(STDIN_FILENO, &st) && S_ISFIFO(st.st_mode)) | ||
535 | report.input_name = "-"; | ||
536 | else | ||
537 | report.input_name = "perf.data"; | ||
538 | } | ||
539 | |||
534 | if (strcmp(report.input_name, "-") != 0) | 540 | if (strcmp(report.input_name, "-") != 0) |
535 | setup_browser(true); | 541 | setup_browser(true); |
536 | else | 542 | else |
537 | use_browser = 0; | 543 | use_browser = 0; |
544 | |||
538 | /* | 545 | /* |
539 | * Only in the newt browser we are doing integrated annotation, | 546 | * Only in the newt browser we are doing integrated annotation, |
540 | * so don't allocate extra space that won't be used in the stdio | 547 | * so don't allocate extra space that won't be used in the stdio |