summaryrefslogtreecommitdiffstats
path: root/chrome/common/profiling.cc
Commit message (Collapse)AuthorAgeFilesLines
* Support the Syzygy instrumenting profiler.siggi@chromium.org2012-03-011-0/+12
| | | | | | | | | | | | This change depends on a new API in V8 to support return-address rewriting profilers, landed at http://code.google.com/p/v8/source/detail?r=10845. BUG=None TEST=None Review URL: http://codereview.chromium.org/9477002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@124319 0039d316-1c4b-4281-b951-d872f2087c98
* Convert use of int ms to TimeDelta in files owned by brettw.tedvessenes@gmail.com2012-01-271-2/+4
| | | | | | | | | | BUG=108171 TEST= Review URL: http://codereview.chromium.org/9233018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119321 0039d316-1c4b-4281-b951-d872f2087c98
* Add a convenience typedef LazyInstance<T>::Leaky to avoid repeating T.fischman@chromium.org2012-01-231-3/+2
| | | | | | | | | | | | | 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
* Revert 117824 - Convert use of int ms to TimeDelta in files owned by brettw.hbono@chromium.org2012-01-161-5/+3
| | | | | | | | | | | | | | | | | | | | This change broke Linux and Mac bots. I would recommend to ask committers to run your next change on trybots. (*1) http://chromegw.corp.google.com/i/chromium/builders/Mac/builds/10788/steps/compile/logs/stdio (*2) http://chromegw.corp.google.com/i/chromium/builders/Linux/builds/19313/steps/compile/logs/stdio (*3) http://chromegw.corp.google.com/i/chromium/builders/Linux%20x64/builds/21385/steps/compile/logs/stdio R=brettw@chromium.org BUG=108171 TEST= Review URL: http://codereview.chromium.org/9185026 TBR=tedvessenes@gmail.com Review URL: http://codereview.chromium.org/9215005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117825 0039d316-1c4b-4281-b951-d872f2087c98
* Convert use of int ms to TimeDelta in files owned by brettw.tedvessenes@gmail.com2012-01-161-3/+5
| | | | | | | | | | | R=brettw@chromium.org BUG=108171 TEST= Review URL: http://codereview.chromium.org/9185026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117824 0039d316-1c4b-4281-b951-d872f2087c98
* Coverity: Initialize member variables.jhawkins@chromium.org2011-12-201-1/+1
| | | | | | | | | | | | | CID=100356,100360,100368,100373,100374,100562,101529,101530,101536,101541, 101542,101595,101630,101685,101687,101689,101776,101812,101813,101854, 101861,101862,101871,101883,101886,101887,102034 BUG=none TEST=none R=binji Review URL: http://codereview.chromium.org/8965054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115225 0039d316-1c4b-4281-b951-d872f2087c98
* Callback API Change: Reimplement Bind(); support IgnoreResult, full ↵ajwong@chromium.org2011-11-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | currying, and use less types. The main API change IgnoreResult() and fully currying. See unittest for what the new API looks like. The rest of the changes are done to support that. Previously, IgnoreReturn could not be used with WeakPtr<> Bind()s as it was applied after the fact to the Callback object. Now, IgnoreResult() wraps the function like Unretained(). As an incidental benefit, the new implementation gave us fully currying for free. Also, the new implementation scales better when supporting higher arities of functions. The new type growth is: (n^2 + 20n) / 2 as opposed to (3n^2 + 17n) / 2 where n == arity. For n = 6 and n=10, the new implementation has 81 and 155 templates respectively. The old implementation had 105 and 235 templates respectively. BUG=35233,98919,98542 TEST=existing unittests Review URL: http://codereview.chromium.org/8483003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110975 0039d316-1c4b-4281-b951-d872f2087c98
* chrome: Remove 10 exit time destructors and 2 static initializers.thakis@chromium.org2011-11-161-1/+1
| | | | | | | | | | | | | version_extension_ in MetricsLogBase was only used in the MetricsLog subclass, so move it to there. BUG=101600,94925 TEST=none Review URL: http://codereview.chromium.org/8468018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110219 0039d316-1c4b-4281-b951-d872f2087c98
* Allow linker initialization of lazy instancejoth@chromium.org2011-11-151-1/+1
| | | | | | | | | | | | | | 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
* Profiling for the renderer process.scottbyer@chromium.org2011-10-121-18/+47
| | | | | | | | | | | | | | | This lets you use --profiling-at-start=renderer and get profiler output for each renderer process started on Linux. The profiling classes are initialized at static initialization time, and the main thread is registered and the profile timer is started at that time. However, static initialization is done in the zygote, and the timer doesn't propagate across the fork, so trying to use the CPU profiler on the renderer never sampled. This patch re-registers the (new) main thread after the fork, which causes the profiler to check the state of the timer, and ends up re-starting it. A separate timer for flushing the profile and termination signal handler are added before the renderer process enters the sandbox in order to make sure the samples are written to disk. BUG=none TEST=Use it, get lovely traces, pperf away. Review URL: http://codereview.chromium.org/8083025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105134 0039d316-1c4b-4281-b951-d872f2087c98
* Added command line switches and UI (controlled via a build option)davemoore@chromium.org2011-02-011-0/+112
to make it easier to use the sampling profiler. BUG=None TEST=None Review URL: http://codereview.chromium.org/6250070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73374 0039d316-1c4b-4281-b951-d872f2087c98