Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1367)

Issue 8414036: Fully enable about:tracking by default (Closed)

Created:
9 years, 1 month ago by jar (doing other things)
Modified:
9 years, 1 month ago
CC:
chromium-reviews, Paweł Hajdan Jr., sadrul, brettw-cc_chromium.org, Hironori Bono
Visibility:
Public.

Description

Fully enable about:tracking by default 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 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=107895

Patch Set 1 #

Patch Set 2 : '' #

Patch Set 3 : '' #

Patch Set 4 : '' #

Patch Set 5 : '' #

Patch Set 6 : '' #

Patch Set 7 : '' #

Patch Set 8 : '' #

Total comments: 8

Patch Set 9 : '' #

Patch Set 10 : '' #

Patch Set 11 : '' #

Patch Set 12 : '' #

Patch Set 13 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+776 lines, -388 lines) Patch
M base/base.gypi View 1 1 chunk +2 lines, -0 lines 0 comments Download
M base/location.h View 1 1 chunk +0 lines, -6 lines 0 comments Download
M base/message_loop.h View 1 4 chunks +2 lines, -14 lines 0 comments Download
M base/message_loop.cc View 1 2 2 chunks +6 lines, -14 lines 0 comments Download
M base/threading/thread.cc View 1 1 chunk +0 lines, -2 lines 0 comments Download
M base/threading/worker_pool_posix.h View 1 1 chunk +2 lines, -4 lines 0 comments Download
M base/threading/worker_pool_posix.cc View 1 2 chunks +8 lines, -11 lines 0 comments Download
M base/threading/worker_pool_win.cc View 1 2 chunks +9 lines, -15 lines 0 comments Download
M base/tracked_objects.h View 1 2 3 4 5 6 7 8 21 chunks +187 lines, -67 lines 0 comments Download
M base/tracked_objects.cc View 1 2 3 4 5 6 7 8 18 chunks +177 lines, -131 lines 0 comments Download
M base/tracked_objects_unittest.cc View 1 2 3 4 5 6 7 8 12 chunks +292 lines, -99 lines 0 comments Download
A base/tracking_info.h View 1 2 3 4 5 6 7 8 9 1 chunk +41 lines, -0 lines 0 comments Download
A base/tracking_info.cc View 1 2 3 4 5 6 7 8 9 1 chunk +23 lines, -0 lines 0 comments Download
M chrome/browser/browser_about_handler.cc View 1 5 chunks +2 lines, -10 lines 0 comments Download
M chrome/browser/chrome_browser_main.h View 1 1 chunk +0 lines, -2 lines 0 comments Download
M chrome/browser/chrome_browser_main.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +7 lines, -0 lines 0 comments Download
M chrome/common/chrome_switches.h View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +2 lines, -1 line 0 comments Download
M chrome/common/chrome_switches.cc View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +16 lines, -9 lines 0 comments Download
M content/browser/browser_main_loop.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +0 lines, -3 lines 0 comments Download

Messages

Total messages: 8 (0 generated)
jar (doing other things)
9 years, 1 month ago (2011-10-29 03:40:26 UTC) #1
ramant (doing other things)
LGTM. nit: would be great if we have unit tests to activate/deactivate tracking. http://codereview.chromium.org/8414036/diff/4036/base/tracked_objects.h File ...
9 years, 1 month ago (2011-10-29 17:26:35 UTC) #2
jar (doing other things)
Changes per comments by rtenneti. Also included new tests for the transition from active to ...
9 years, 1 month ago (2011-10-29 21:02:49 UTC) #3
jar (doing other things)
Darin/Avi/ben/brettw/jam/sky: I'm in search of a rubber stamp LGTM from an owner of Content/Browser for ...
9 years, 1 month ago (2011-10-30 00:46:00 UTC) #4
brettw
LGTM for content/browser
9 years, 1 month ago (2011-10-30 03:36:54 UTC) #5
Timur Iskhodzhanov
Hi Jim, Mind taking a look at the TSan bots? They're unhappy with this change. ...
9 years, 1 month ago (2011-10-30 18:48:25 UTC) #6
jar (doing other things)
So far I've seen only a benign race report, where to methods look at status ...
9 years, 1 month ago (2011-10-30 22:21:56 UTC) #7
jar (doing other things)
9 years, 1 month ago (2011-10-31 16:49:45 UTC) #8
I found another potential race in the list... where changes in earlier base
unit tests could leave threads running... and interact with my tracked
object unit test.  I crafted a leak to avoid any chance of a conflict.

I landed this stuff overnight... but due to instability in Mac, things were
aggressively/blindly reverted.  I'll reland, and try to clean up any tsan
issues.

thanks for your help,

Jim

On Sun, Oct 30, 2011 at 3:21 PM, Jim Roskind <jar@chromium.org> wrote:

> So far I've seen only a benign race report, where to methods look at
> status (enabled vs disabled tracking).  I have to file a suppression for
> that, as I carefully handle this async transiition in the underlying code
> (so it has no negative impact).
>
> If you have pointers to anything else that I missed, that would be great.
>
> I hadn't written up a suppression CL yet... but will.
>
> Jim
>
>
> On Sun, Oct 30, 2011 at 11:48 AM, <timurrrr@chromium.org> wrote:
>
>> Hi Jim,
>>
>> Mind taking a look at the TSan bots? They're unhappy with this change.
>>
>> Thanks,
>> Timur
>>
>>
http://codereview.chromium.**org/8414036/<http://codereview.chromium.org/8414...
>>
>
>

Powered by Google App Engine
This is Rietveld 408576698