On 5/22/2014 7:27 AM, Dimitris Karampinas wrote:
> Is there any way to get the call stack of a function when profiling
> PostgreSQL with perf ?
> I configured with --enable-debug, I run a benchmark against the system
> and I'm able to identify a bottleneck.
> 40% of the time is spent on an spinlock yet I cannot find out the
> codepath that gets me there.
> Using --call-graph with perf record didn't seem to help.
>
> Any ideas ?
>
Can you arrange to run 'pstack' a few times on the target process
(either manually or with a shell script)?
If the probability of the process being in the spinning state is high,
then this approach should snag you at least one call stack.