| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=103480
TEST=unit_test --gtest_filter=MetricsLogTest.*
TBR=jar@chromium.org
(Re-commit of [ https://chromiumcodereview.appspot.com/9702015/ ])
Review URL: http://codereview.chromium.org/10224010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@134006 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=103480
TEST=unit_test --gtest_filter=MetricsLogTest.*
Review URL: http://codereview.chromium.org/9702015
TBR=isherman@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10169039
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@133779 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
BUG=103480
TEST=unit_test --gtest_filter=MetricsLogTest.*
Review URL: http://codereview.chromium.org/9702015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@133773 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
ppapi_proxy_untrusted.gyp should now build with a single link error for main.
BUG=116317
TEST=builds with a single link error for main().
Review URL: https://chromiumcodereview.appspot.com/10167024
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@133519 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
boundaries.
See https://chromiumcodereview.appspot.com/9702014/ for the original code review. Uploading to a new issue due to an AppEngine error...
BUG=103480
TEST=none (refactoring, no functional change expected)
TBR=jam@chromium.org,jar@chromium.org,eroman@chromium.org,jhawkins@chromium.org,ajwong@chromium.org
Review URL: http://codereview.chromium.org/10077001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@132109 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
for tracking time.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/9818004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@128783 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
These files don't use message loops, so drop those includes and add
the standard headers they actually need.
BUG=None
TEST=building libbase in ChromeOS
Review URL: http://codereview.chromium.org/9705110
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127545 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This uses TCMalloc to provide a time function, allowing
us to see how much memory was allocated on a single thread
during the running of a task. The alternate time function
is put in place only when a specific environment variable
is detected during TCMalloc startup.
This change currently is activated only in Windows/Linux,
as it is based on changes TCMalloc (not used on Mac).
We also create an infrastructure for using any alternate
timer, to replace the "wall clock time," on a per-thread
basis, in the about:profiler infrastructure. That interface
may be used on other platforms, including scenarios where
we have a per-thread-CPU-time function to replace the
wall-clock timer. In all cases, when this alternate timer
is activated, we lose the ability to calculated queueing
time. Queueing time is based on a time snapshot taken on
a second thread, and hence is not comparable to the
alternate timer (when the alternate timer is engaged).
r=rtenneti
BUG=103321
Review URL: https://chromiumcodereview.appspot.com/9212025
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@122180 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[Reland: https://src.chromium.org/viewvc/chrome?view=rev&revision=120789
with minor change to avoid race on status change.]
This allows child processes to track ancestry, and report
it to the browser process.
Parent tracking is only turned on based on an
environment variable.
r=rtenneti
Review URL: https://chromiumcodereview.appspot.com/9363007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121491 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[There is a TSAN race report... so I'm reverting]
This allows child processes to track ancestry, and report
it to the browser process.
Parent tracking is only turned on based on an
environment variable.
r=rtenneti
Review URL: https://chromiumcodereview.appspot.com/9181002
TBR=jar@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9348028
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120818 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows child processes to track ancestry, and report
it to the browser process.
Parent tracking is only turned on based on an
environment variable.
r=rtenneti
Review URL: https://chromiumcodereview.appspot.com/9181002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120789 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
introducing static initializers.
Member variables can stay TLS::Slots and their behavior doesn't change.
Static instances use TLS::StaticSlot instead.
Kind of like http://codereview.chromium.org/8491043 but for TLS.
BUG=none
TEST=none
TBR=agl
Review URL: https://chromiumcodereview.appspot.com/9297010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119679 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
R=binji
Review URL: https://chromiumcodereview.appspot.com/9271061
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119535 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Converted the first 20 or so hits for LeakyLazyInstanceTraits on codesearch to
demonstrate the benefit at callsites. The real change is base/lazy_instance.h;
everything else is example.
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/9192024
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118754 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
r=rtenneti
Review URL: http://codereview.chromium.org/8894022
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114336 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I removed the branch-free macro. I really need to
use a profiler to see if such changes are valuable.
I cleaned up the placement of slots, putting the
rare-to-use values together (so they'll probably get
better handled by cache lines.
r=rtenneti
Review URL: http://codereview.chromium.org/8888004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113749 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
TBR=jar@chromium.org
BUG=106326
TEST=valgrind bots go greener
Review URL: http://codereview.chromium.org/8800008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112979 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is really re-landing 112937 and attempting to avoid a warning from the
Linux builder.
R=jar@chromium.org
BUG=106326
TEST=needs to run on the CQ
Review URL: http://codereview.chromium.org/8796006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112944 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I'm going to TBR this, since it causes a bunch of redness
on the tree, and is really a supression.
tbr=rtenneti,mk
bug=106326
Review URL: http://codereview.chromium.org/8792005
TBR=jar@chromium.org
Review URL: http://codereview.chromium.org/8796005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112938 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
I'm going to TBR this, since it causes a bunch of redness
on the tree, and is really a supression.
tbr=rtenneti,mk
bug=106326
Review URL: http://codereview.chromium.org/8792005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112937 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
TBR=rtenneti
Review URL: http://codereview.chromium.org/8793003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112930 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I also did some cleaning and refactoring in
tracked_objects. We had a lot of functionality that
has migrated to JS, that we didn't need (a lot of
acccessors that are supplanted by the ToValue()
methods.
I'm anticipating that we'll move to an asynhcronous
collecting of data from the profiler, so that we can
bounce around to various threads and more cleanly
collect samples (without risking races during
data snapshots). Several of the refactors are
heading in that direction.
r=rtenneti
tbr=jam (for microscopic content change)
BUG=106291,106293
Review URL: http://codereview.chromium.org/8775061
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112928 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
tbr=rtenneti
Review URL: http://codereview.chromium.org/8680037
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@111453 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There was a Thread Local Store regression, wherein
thread cleanup notifcation was not sent to TLS
users. This CL ensures that when this happens,
that Chrome will crash.
For now, I'm landed with a short-circuit (returns true
all the time) in the test. I'll remove the TODO when
we have XP properly supported.
r=rtenneti
BUG=103209
Review URL: http://codereview.chromium.org/8606001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@111451 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
The goal was to avoid alloc/free during the thread
teardown callback, and this CL provides a very simple
and clear implementation.
r=rtenneti
BUG=104696
Review URL: http://codereview.chromium.org/8597017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110856 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GIven that TCMalloc might get its thread teardown
notifgication ahead of the profiler, we need to be
careful to not do an alloc in the teardown handler.
If we did, we might bring TCMalloc back to life on
this thread... and it might not get a second teardown
notification.
r=rtenneti
BUG=104696
Review URL: http://codereview.chromium.org/8587031
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110706 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
It has been subsumed by about:profiler.
I also added a button to about:profiler that matches the behavior of "about:tracking/reset" (nukes the tracked objects). That way there shouldn't be any functionality loss in deleting about:tracking.
BUG=100992
Review URL: http://codereview.chromium.org/8568036
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110252 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Null time values can appear if the profiler is
not ACTIVE, and the Now() function returns a Null
value (to avoid wasting time and calling the OS Time).
r=rtenneti
Review URL: http://codereview.chromium.org/8573017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110215 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Initialization of the profiler is supposed to happen while
single threaded. The tests however often skip affirmative
initialization, and rely on lazy initialization. This
CL tightens up that process, to reduce changes of races
(even benign races) during testing.
I also added a suppression for examination of the state,
which is always a benign race. At initialization time
we rely on a lock (now) to ensure race freedom (if we
get a racy value of state).
r=rtenneti
Review URL: http://codereview.chromium.org/8570007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110180 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Using the initializer list construct = {0} allows the object to be linker initialized.
Modify the LazyInstance class design to make it a pod aggregate type that can be linker initialized this way. Also combines the instance and state members, in line with the Singleton<> class design.
Introduces a new LAZY_INSTANCE_INITIALIZER macro specifically for using to init all lazy instances + modify all existing callsites to use it. (Old code would no longer compile)
BUG=94925
TEST=existing tests pass. http://build.chromium.org/f/chromium/perf/linux-release/sizes/report.html?history=150&header=chrome-si&graph=chrome-si&rev=-1 should step downward.
TBR=jam@chromium.org,rvargas@chromium.org,darin@chromium.org,ben@chromium.org,apatrick@chromium.org,akalin@chromium.org
Review URL: http://codereview.chromium.org/8491043
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110076 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
The master lock is very rarely used, so we can afford
to use a lazy instance of this lock.
r=rtenneti
BUG=104167
Review URL: http://codereview.chromium.org/8567007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109947 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This should have no change whatever in function,
but simply changes the names of calls for
tracking time so that the ThreadData can know if
a new trackig has started or ended.
This will be helpful in (a future CL) measuring
when the thread is doing something that is not
tracked at all (e.g., processing UI events, etc.)
r=rtenneti
Review URL: http://codereview.chromium.org/8548005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109846 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Transition from internal used of "class Duration" (which is
kindred of base::TimeDelta) to using an integral type.
This is in preparation for handling durations that are
not time based, such as memmory allocation units.
r=rtenneti
BUG=103321
Review URL: http://codereview.chromium.org/8502001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109720 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a relanding of all the cleanup found in the
original CL, without the hooks to actually monitor the
IPC calls. I'm trying to find out what caused the
ASAN bot failures by landing piecemeal (per discussion
with Joi).
The original CL was:
Support tracking of IPC messages as tasks in profiler
Also started to do more cleanup, including creating
a base/profiler directory, and moving parts of the
over-sized tracked_objects.* into that directory.
r=rtenneti
Review URL: http://codereview.chromium.org/8480014
But this CL is:
TBR=joi
Review URL: http://codereview.chromium.org/8499022
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109040 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also started to do more cleanup, including creating
a base/profiler directory, and moving parts of the
over-sized tracked_objects.* into that directory.
r=rtenneti
Review URL: http://codereview.chromium.org/8480014
TBR=jar@chromium.org
Review URL: http://codereview.chromium.org/8496008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109004 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Also started to do more cleanup, including creating
a base/profiler directory, and moving parts of the
over-sized tracked_objects.* into that directory.
r=rtenneti
Review URL: http://codereview.chromium.org/8480014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108752 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
r=rtenneti
Review URL: http://codereview.chromium.org/8438062
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108593 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
r=viettrungluu
Review URL: http://codereview.chromium.org/8351085
TBR=jar@chromium.org
Review URL: http://codereview.chromium.org/8423072
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108401 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
r=viettrungluu
Review URL: http://codereview.chromium.org/8351085
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108352 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We had trouble with base_unittests before, so we
ifdef'ed out the larger landing. This tiny
switch CL will turn it on for the Mac, but can
be quickly reverted if there is a problem.
Scott Hess was able to debug and identify the
cause of the problem (yeah Scott!!!!). I think
the code we landed corrects for the issue he identified,
and this should prove it (or get reverted trying).
r=rtenneti,shess
bug=101856
Review URL: http://codereview.chromium.org/8387059
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108072 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a reland of accumulated patches including CLs
8414036, 8425010, 8425013, 8424013.
It fully enables tracking of objects, as seen in about:tracking
in teh release build.
The problem this had in its initaial landing centered on
Mac instability in base_unittest. We were encountering crash
on exit of the tests, with a stack dump involving pthreads.
r=rtenneti
BUG=101856
Review URL: http://codereview.chromium.org/8429009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108026 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[Re-land of Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=107921
with supressions for induced (and planned) leaks)
PLUS
Removed one line of defensive coding where I set(NULL)
the TLS slote at thread teardown. We're seeing
strange failures on the base unittests, and they
may be related to this.
]
Be extra carful about handling races in access to status_.
This will avoid generating a delta between a null time
and a real time, when status is changing in/around
the run of a task. This won't help with the benign
race for checking status_, but it may help with unit
test tsan complaints.
Leak data aggressively, rather than cleaning up, to
prevent any chance of a data access race between
tracked object testing (which need a near-virgin
global state, and hence must start by cleaning it up), and
other tests, which may have lingering threaded actions,
that still access some previously created task tracking
data.
Provide more options for flags to enable/disable
tracking. These options might become useful
if we changed the default to not do tracking.
Allow for HTML generation even if the tracking has
changed to being disabled. This is especially useful
for looking at the tracked instances that were
monitored after turning tracking on by default, but
before the command line deactiated tracking.
tbr=rtenneti
bug=102327
Review URL: http://codereview.chromium.org/8425010
TBR=jar@chromium.org
Review URL: http://codereview.chromium.org/8430003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107960 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Repair busted tree.
TBR=rtenneti
Review URL: http://codereview.chromium.org/8425013
TBR=jar@chromium.org
Review URL: http://codereview.chromium.org/8430002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107959 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Mac base_unittests is still flaky....
Pthread is still sometimes crashing Mac on shutdown.
I'm suspicious that my handlers are tickling it.
This removes a DCHECK(), which checked status in
TLS during the teardown.
TBR=rtenneti
Review URL: http://codereview.chromium.org/8424013
TBR=jar@chromium.org
Review URL: http://codereview.chromium.org/8431003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107958 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Mac base_unittests is still flaky....
Pthread is still sometimes crashing Mac on shutdown.
I'm suspicious that my handlers are tickling it.
This removes a DCHECK(), which checked status in
TLS during the teardown.
TBR=rtenneti
Review URL: http://codereview.chromium.org/8424013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107944 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
Repair busted tree.
TBR=rtenneti
Review URL: http://codereview.chromium.org/8425013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107940 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[Re-land of Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=107921
with supressions for induced (and planned) leaks)
PLUS
Removed one line of defensive coding where I set(NULL)
the TLS slote at thread teardown. We're seeing
strange failures on the base unittests, and they
may be related to this.
]
Be extra carful about handling races in access to status_.
This will avoid generating a delta between a null time
and a real time, when status is changing in/around
the run of a task. This won't help with the benign
race for checking status_, but it may help with unit
test tsan complaints.
Leak data aggressively, rather than cleaning up, to
prevent any chance of a data access race between
tracked object testing (which need a near-virgin
global state, and hence must start by cleaning it up), and
other tests, which may have lingering threaded actions,
that still access some previously created task tracking
data.
Provide more options for flags to enable/disable
tracking. These options might become useful
if we changed the default to not do tracking.
Allow for HTML generation even if the tracking has
changed to being disabled. This is especially useful
for looking at the tracked instances that were
monitored after turning tracking on by default, but
before the command line deactiated tracking.
tbr=rtenneti
bug=102327
Review URL: http://codereview.chromium.org/8425010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107939 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[Re-land of Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=107921
with supressions for induced (and planned) leaks) ]
Be extra carful about handling races in access to status_.
This will avoid generating a delta between a null time
and a real time, when status is changing in/around
the run of a task. This won't help with the benign
race for checking status_, but it may help with unit
test tsan complaints.
Leak data aggressively, rather than cleaning up, to
prevent any chance of a data access race between
tracked object testing (which need a near-virgin
global state, and hence must start by cleaning it up), and
other tests, which may have lingering threaded actions,
that still access some previously created task tracking
data.
Provide more options for flags to enable/disable
tracking. These options might become useful
if we changed the default to not do tracking.
Allow for HTML generation even if the tracking has
changed to being disabled. This is especially useful
for looking at the tracked instances that were
monitored after turning tracking on by default, but
before the command line deactiated tracking.
tbr=rtenneti
bug=102327
Review URL: http://codereview.chromium.org/8414053
TBR=jar@chromium.org
Review URL: http://codereview.chromium.org/8422004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107931 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[Re-land of Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=107921
with supressions for induced (and planned) leaks) ]
Be extra carful about handling races in access to status_.
This will avoid generating a delta between a null time
and a real time, when status is changing in/around
the run of a task. This won't help with the benign
race for checking status_, but it may help with unit
test tsan complaints.
Leak data aggressively, rather than cleaning up, to
prevent any chance of a data access race between
tracked object testing (which need a near-virgin
global state, and hence must start by cleaning it up), and
other tests, which may have lingering threaded actions,
that still access some previously created task tracking
data.
Provide more options for flags to enable/disable
tracking. These options might become useful
if we changed the default to not do tracking.
Allow for HTML generation even if the tracking has
changed to being disabled. This is especially useful
for looking at the tracked instances that were
monitored after turning tracking on by default, but
before the command line deactiated tracking.
tbr=rtenneti
bug=102327
Review URL: http://codereview.chromium.org/8414053
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107928 0039d316-1c4b-4281-b951-d872f2087c98
|