Skip to content

Commit

Permalink
perf auxtrace: Add itrace 'q' option for quicker, less detailed decoding
Browse files Browse the repository at this point in the history
The 'q' option is for modes of decoding that are quicker because they
skip or omit decoding some aspects of trace data.

If supported, the 'q' option may be repeated to increase the effect.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Reviewed-by: Andi Kleen <ak@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Link: http://lore.kernel.org/lkml/20200710151104.15137-11-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
  • Loading branch information
Adrian Hunter authored and Arnaldo Carvalho de Melo committed Aug 6, 2020
1 parent d4575f5 commit 5197153
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 0 deletions.
3 changes: 3 additions & 0 deletions tools/perf/Documentation/itrace.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
l synthesize last branch entries (use with i or x)
L synthesize last branch entries on existing event records
s skip initial number of events
q quicker (less detailed) decoding

The default is all events i.e. the same as --itrace=ibxwpe,
except for perf script where it is --itrace=ce
Expand Down Expand Up @@ -58,3 +59,5 @@
debug messages will or will not be logged. Each flag must be preceded
by either '+' or '-'. The flags are:
a all perf events

If supported, the 'q' option may be repeated to increase the effect.
3 changes: 3 additions & 0 deletions tools/perf/util/auxtrace.c
Original file line number Diff line number Diff line change
Expand Up @@ -1554,6 +1554,9 @@ int itrace_parse_synth_opts(const struct option *opt, const char *str,
case 'a':
synth_opts->remote_access = true;
break;
case 'q':
synth_opts->quick += 1;
break;
case ' ':
case ',':
break;
Expand Down
3 changes: 3 additions & 0 deletions tools/perf/util/auxtrace.h
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@ enum itrace_period_type {
* @error_minus_flags: flags to affect what errors are reported
* @log_plus_flags: flags to affect what is logged
* @log_minus_flags: flags to affect what is logged
* @quick: quicker (less detailed) decoding
*/
struct itrace_synth_opts {
bool set;
Expand Down Expand Up @@ -137,6 +138,7 @@ struct itrace_synth_opts {
unsigned int error_minus_flags;
unsigned int log_plus_flags;
unsigned int log_minus_flags;
unsigned int quick;
};

/**
Expand Down Expand Up @@ -642,6 +644,7 @@ bool auxtrace__evsel_is_auxtrace(struct perf_session *session,
" l[len]: synthesize last branch entries (use with i or x)\n" \
" L[len]: synthesize last branch entries on existing event records\n" \
" sNUMBER: skip initial number of events\n" \
" q: quicker (less detailed) decoding\n" \
" PERIOD[ns|us|ms|i|t]: specify period to sample stream\n" \
" concatenate multiple options. Default is ibxwpe or cewp\n"

Expand Down

0 comments on commit 5197153

Please sign in to comment.