[PATCH v4] Backtrace via call detail

Alexander Monakov amonakov at ispras.ru
Mon May 13 02:34:11 PDT 2013


Hello,

On Wed, 8 May 2013, José Fonseca wrote:

> - please confirm that Android was not busted with my changes (as I only
> tested on Linux)

It needs the following patch to unbreak the build:

diff --git a/common/trace_backtrace.cpp b/common/trace_backtrace.cpp
index ef19aa9..d0bdd5a 100644
--- a/common/trace_backtrace.cpp
+++ b/common/trace_backtrace.cpp
@@ -243,7 +243,7 @@ public:
         while (*rawBacktrace_it != '\0') {
             RawStackFrame stackFrame;
             // TODO: Keep a cache of stack frames
-            stackFrame->id = nextFrameId++;
+            stackFrame.id = nextFrameId++;
             /* skip leading space */
             while (*rawBacktrace_it == ' ') {
                 rawBacktrace_it++;


> - please make default not capture backtraces on linux (I'm fine leaving
> backtraces on by default on Android if nobody else opposes) -- this is
> temporarily until backtrace capture is fast enough that the overhead is
> negligble (which I think it should be possible)

We (both Eugene and I) don't quite understand what happened here.  You have
eliminated usage of 'backtrace_is_needed', removing the ability to select the
subset of "backtraced" calls.  Was that intentional?  This was not raised in
preceding review, and you did not prune the resulting dead code.

Non-zero overhead from backtrace collection was the reason Eugene implemented
that subsetting in the first place.

Alexander


More information about the apitrace mailing list