summaryrefslogtreecommitdiffstats
path: root/content/browser/browser_shutdown_profile_dumper.cc
Commit message (Collapse)AuthorAgeFilesLines
* Revert 239400 "Revert 239280 "Move more file_util functions to b..."thakis@chromium.org2013-12-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Broke all bots 9_9 > Revert 239280 "Move more file_util functions to base namespace." > > dbus_unittests started fialing on Linux Tests (dbg)(2) and Linux Tests (dbg)(2)(32). > This CL is the only in the intersection of CLs in the first failing build on > the two builders, so giving a speculative revert a try (rlarocque already > tried a clobber, it didn't help). > > http://build.chromium.org/p/chromium.linux/builders/Linux%20Tests%20%28dbg%29%282%29/builds/41806 > http://build.chromium.org/p/chromium.linux/builders/Linux%20Tests%20%28dbg%29%282%29%2832%29/builds/8544 > > > > Move more file_util functions to base namespace. > > > > TBR=sky > > > > Review URL: https://codereview.chromium.org/109043002 > > TBR=brettw@chromium.org > > Review URL: https://codereview.chromium.org/105823009 TBR=thakis@chromium.org Review URL: https://codereview.chromium.org/100923007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@239401 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 239280 "Move more file_util functions to base namespace."thakis@chromium.org2013-12-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | | dbus_unittests started fialing on Linux Tests (dbg)(2) and Linux Tests (dbg)(2)(32). This CL is the only in the intersection of CLs in the first failing build on the two builders, so giving a speculative revert a try (rlarocque already tried a clobber, it didn't help). http://build.chromium.org/p/chromium.linux/builders/Linux%20Tests%20%28dbg%29%282%29/builds/41806 http://build.chromium.org/p/chromium.linux/builders/Linux%20Tests%20%28dbg%29%282%29%2832%29/builds/8544 > Move more file_util functions to base namespace. > > TBR=sky > > Review URL: https://codereview.chromium.org/109043002 TBR=brettw@chromium.org Review URL: https://codereview.chromium.org/105823009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@239400 0039d316-1c4b-4281-b951-d872f2087c98
* Move more file_util functions to base namespace.brettw@chromium.org2013-12-071-2/+2
| | | | | | | | TBR=sky Review URL: https://codereview.chromium.org/109043002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@239280 0039d316-1c4b-4281-b951-d872f2087c98
* Independently enable recording and event callbackwangxianzhu@chromium.org2013-11-201-2/+1
| | | | | | | | | | | | | | | | | | | | Previously we count TraceLog::SetEnabled() and SetDisabled() to allow nested calls from about:tracing and Timeline panel of the DevTools. Actually DevTools only needs the event callbacks, so we can allow the two features (recording for about:tracing, event callback for DevTools) to be independently enabled. Also don't count TraceLog::SetEnabled() and SetDisabled() to ease trace-startup and simplify the API semantics. BUG=none TEST=TraceEventCallbackTest.TraceEventCallbackAndRecording*, TraceEventTestFixture.* R=caseq@chromium.org, nduca@chromium.org, pfeldman@chromium.org, tony@chromium.org TBR=sky (for trivial call site change in content/browser/browser_shutdown_profile_dumper.cc) Review URL: https://codereview.chromium.org/66193005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@236078 0039d316-1c4b-4281-b951-d872f2087c98
* Fix --trace-shutdown with thread-local tracing.wangxianzhu@chromium.org2013-09-181-2/+31
| | | | | | | | | | | | | | | | | | | | | | | With thread-local tracing (r221766), TraceLog::Flush() is async and needs to be called from a thread having a message loop. It also requires that tracing has been stopped. BrowserShutdownProfileDumper is a special caller that TraceLog::Flush() was originally called from a thread without message loop. Now start another thread for flushing, and call TraceLog::SetDisabled() before TraceLog::Flush(). The calling thread needs to wait for the completion of the flush, otherwise the browser may shutdown before all trace events written. Temporarily allow the thread to wait in ThreadRestrictions. BUG=none TEST=manual run chrome with --trace-shutdown. Should not assert. Should generate correct trace file. Review URL: https://chromiumcodereview.appspot.com/24047007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@223819 0039d316-1c4b-4281-b951-d872f2087c98
* Thread-local trace-event bufferswangxianzhu@chromium.org2013-09-061-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we use a central trace-event buffer to store trace events from all threads, which needs a lock. Measurement showed that on Android the lock contributes over 50% of the total overhead of trace event. Use thread-local trace-event buffers so that in most times trace events can be handled lock-free. TraceLog::Flush() now may asynchronously call the callback. TODO: Now for a message loop running a blocking task, async flush doesn't work. The async flush will timeout and finish without collecting the last batch of such thread if any. On Nexus 4 this patch can reduce the average overhead of trace_event from 15~20us to about 5~8us for a busy app. Note the numbers are not very accurate because - the time tick seems 30us on Android. The average number may be just a result of increased percentage of trace events whose overhead < 30us. - there are differences in the measurement method of the overhead because of the change of the code structure. BUG=264667 TEST=Updated existing tests: TraceEventTestFixture.DataCapturedOnThread and TraceEventTestFixture.DataCapturedManyThreads. Existing unit/browser tests using trace_event should still pass. R=nduca, dsinclair TBR=phajdan.jr (for base/test/trace_event_analyzer_unittest.cc) Review URL: https://chromiumcodereview.appspot.com/22962004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@221766 0039d316-1c4b-4281-b951-d872f2087c98
* Adding shutdown tracing capabilitiesskuhne@chromium.org2013-09-061-0/+107
use "--trace-shutdown" to enable the feature to start profiling when the user has pressed "shutdown" and specify "--trace-shutdown-file=<name>" to specify the file where you want to dump to. Additionally you can specify which modules to trace with e.g. "--trace-shutdown=base,net". That said: NOTE that the dumping will cost time since it has to be done after the shutdown of Chrome is finished. As such it takes time and will make it impossible to get a correct reading of time from shutdown till a new startup is finished. Note: This is similar to the trace-startup - with the exception that upon shutdown it is not possible to rely on threads for IO anymore. BUG=281524 TEST=visual tests Review URL: https://chromiumcodereview.appspot.com/23691025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@221631 0039d316-1c4b-4281-b951-d872f2087c98