Skip to contentSkip to conversation

perf tools: Use ui__error() for reporting --fields errors

tip:perf/core tip-bot for Arnaldo Carvalho de Melo 1 participant 1 message Jan 24, 2018 perf events

lore
Share & tools
lore
#0 lore raw
Commit-ID:  56271170438df39c1b9a39c7aaf69010e6a4b59a
Gitweb:     https://git.kernel.org/tip/56271170438df39c1b9a39c7aaf69010e6a4b59a
Author:     Arnaldo Carvalho de Melo <[email protected]>
AuthorDate: Thu, 18 Jan 2018 10:28:14 -0300
Committer:  Arnaldo Carvalho de Melo <[email protected]>
CommitDate: Thu, 18 Jan 2018 10:28:14 -0300

perf tools: Use ui__error() for reporting --fields errors

So that we can get it working for TUI, where using just pr_err() would end up making the message emitted to stderr to be erased by the TUI exit routine restoring the terminal to its previous state.

Now we can see that trying to use a tracepoint field as one of the --field entries isn't working:

  # perf top --stdio --no-children -e syscalls:sys_enter_write --fields pid,sym,count
  Error:
  Unknown --fields key: `count'
   Usage: perf top [<options>]

--fields <key[,keys...]>
output field(s): overhead, period, sample plus all of sort keys
#

---
 tools/perf/util/sort.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
tools/perf/util/sort.c +2 -2
index 211e7f3..2da4d04 100644
@@ -2887,10 +2887,10 @@ static int setup_output_list(struct perf_hpp_list *list, char *str)
 			tok; tok = strtok_r(NULL, ", ", &tmp)) {
 		ret = output_field_add(list, tok);
 		if (ret == -EINVAL) {
-			pr_err("Invalid --fields key: `%s'", tok);
+			ui__error("Invalid --fields key: `%s'", tok);
 			break;
 		} else if (ret == -ESRCH) {
-			pr_err("Unknown --fields key: `%s'", tok);
+			ui__error("Unknown --fields key: `%s'", tok);
 			break;
 		}
 	}