diff options
author | jar@chromium.org <jar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-07 18:29:42 +0000 |
---|---|---|
committer | jar@chromium.org <jar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-07 18:29:42 +0000 |
commit | 88a7e52fece7e4eb3e891805c971c027a35fe660 (patch) | |
tree | c1014c1bbec8f6d0a4329b8b11e3be0f9002d4e7 /content/browser/profiler_controller_impl.cc | |
parent | 7defb4f01c1af33db02ca9cf399efeb328110c47 (diff) | |
download | chromium_src-88a7e52fece7e4eb3e891805c971c027a35fe660.zip chromium_src-88a7e52fece7e4eb3e891805c971c027a35fe660.tar.gz chromium_src-88a7e52fece7e4eb3e891805c971c027a35fe660.tar.bz2 |
Propogate status setting for profiler to track parents
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
Diffstat (limited to 'content/browser/profiler_controller_impl.cc')
-rw-r--r-- | content/browser/profiler_controller_impl.cc | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/content/browser/profiler_controller_impl.cc b/content/browser/profiler_controller_impl.cc index 1954da8..b3e40e8 100644 --- a/content/browser/profiler_controller_impl.cc +++ b/content/browser/profiler_controller_impl.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -121,14 +121,16 @@ void ProfilerControllerImpl::GetProfilerData(int sequence_number) { sequence_number)); } -void ProfilerControllerImpl::SetProfilerStatusInChildProcesses(bool enable) { +void ProfilerControllerImpl::SetProfilerStatusInChildProcesses( + tracked_objects::ThreadData::Status status) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); for (BrowserChildProcessHostIterator iter; !iter.Done(); ++iter) - iter.Send(new ChildProcessMsg_SetProfilerStatus(enable)); + iter.Send(new ChildProcessMsg_SetProfilerStatus(status)); } -void ProfilerControllerImpl::SetProfilerStatus(bool enable) { +void ProfilerControllerImpl::SetProfilerStatus( + tracked_objects::ThreadData::Status status) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); BrowserThread::PostTask( @@ -136,12 +138,12 @@ void ProfilerControllerImpl::SetProfilerStatus(bool enable) { FROM_HERE, base::Bind(&ProfilerControllerImpl::SetProfilerStatusInChildProcesses, base::Unretained(this), - enable)); + status)); for (content::RenderProcessHost::iterator it( content::RenderProcessHost::AllHostsIterator()); !it.IsAtEnd(); it.Advance()) { - it.GetCurrentValue()->Send(new ChildProcessMsg_SetProfilerStatus(enable)); + it.GetCurrentValue()->Send(new ChildProcessMsg_SetProfilerStatus(status)); } } } // namespace content |