• joth@chromium.org's avatar
    Revert 107895 - Fully enable about:tracking by default · 3f095c0a
    joth@chromium.org authored
    This is a re-land of:
    http://codereview.chromium.org/8391019/
    Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=107793
    
    Original landing had trouble with message_loop_x.h, due to header
    include ordering.  I pulled out the structure that was really needed by
    tracked_objects.h into a new file tracked_info.*.  This allows tracked_objects
    to inlude this tracked_info, but not have to include the message_loop.h
    totality.  I also removed a DCHECK that that was triggering on a test,
    and added yet one more file (browser_main.cc) where I removed a #ifdef
    for TRACKING_ALL_OBJECTS.  The changes were minor, and I'm hoping to get
    clear perf runs with tihs landing, so I'm going to TBR it and reland
    early in the morning.
    
    
    
    Comments from original landing:
    
    Support is now controlled by the flag:
    --enable-tracking
    and the default is always on. To turn it off, use:
    --enable-tracking=0
    
    All profiler code is compiled now in release and official
    builds (in addition to debug, where it was already active),
    but most entry points can be disabled (turned into no-ops) 
    by a single const bool setting atop tracked_objects.cc (in 
    case folks want to revert the perf-impact of this change).
    
    Transition to faster Now() service on Windows for the 
    profiler use only.
    The TimeTicks::Now() function on Window uses locking
    to get a 64 bit time value. This CL transitions 
    times used for profiling to more directly use a
    32 bit Time interface, which is actually what drives the
    64 bit TimeTicks. By using the smaller value, we avoid 
    the need for locks, or even atomic operations for the most
    part in the tracking system. On linux, we just down-sample
    the standard TimeTicks to 32 bits for consistency (clean
    ability to snapshot asyncronously without atomics...
    but I should verify that such is helpful to performance).
    
    I've also put in yet more cleanup and refactoring.
    
    tbr=rtenneti
    bug=101856
    Review URL: http://codereview.chromium.org/8414036
    
    TBR=jar@chromium.org
    Review URL: http://codereview.chromium.org/8430004
    
    git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107961 0039d316-1c4b-4281-b951-d872f2087c98
    3f095c0a
browser_main_loop.cc 12.2 KB