Messages in this thread | | | Date | Wed, 19 Aug 2015 15:20:43 -0700 | Subject | Re: [PATCH v1 4/4] perf script: enable printing of branch stack | From | Stephane Eranian <> |
| |
On Wed, Aug 19, 2015 at 3:11 PM, Andi Kleen <ak@linux.intel.com> wrote: > On Wed, Aug 19, 2015 at 10:38:26AM +0200, Stephane Eranian wrote: >> This patch improves perf script by enabling printing of the >> branch stack via the 'brstack' argument to the field selection >> option -F. The option is off by default and operates only if the >> perf.data file has branch stack content. > > Thanks that's very useful. I wanted that several times. >> >> +static void print_sample_brstack(union perf_event *event __maybe_unused, >> + struct perf_sample *sample, >> + struct thread *thread __maybe_unused, >> + struct perf_event_attr *attr __maybe_unused) >> +{ >> + struct branch_stack *br = sample->branch_stack; >> + u64 i; >> + >> + if (!(br && br->nr)) >> + return; >> + >> + for (i = 0; i < br->nr; i++) { >> + printf(" 0x%"PRIx64"/0x%"PRIx64" ", br->entries[i].from, br->entries[i].to); > > Should print the various flags too. Also tip just added cycles information. > Ok, I will add that in v2.
> Also it would be good to resolve the addresses to symbol + offset
But then, that becomes harder to post-process or even read with long C++ signatures.
> (and perhaps have support for srcline too). > > > -Andi > -- > ak@linux.intel.com -- Speaking for myself only
| |