gecko-dev/xpcom
Doug Thayer 8aae071723 Bug 1382440 - Watch CPU usage in BHR r=froydnj
We would like to be able to see if a given hang in BHR occurred
under high CPU load, as this is an indication that the hang is
of less use to us, since it's likely that the external CPU use
is more responsible for it.

The way this works is fairly simple. We get the system CPU usage
on a scale from 0 to 1, and we get the current process's CPU
usage, also on a scale from 0 to 1, and we subtract the latter
from the former. We then compare this value to a threshold, which
is 1 - (1 / p), where p is the number of (virtual) cores on the
machine. This threshold might need to be tuned, so that we
require an entire physical core in order to not annotate the hang,
but for now it seemed the most reasonable line in the sand.

I should note that this considers CPU usage in child or parent
processes as external. While we are responsible for that CPU usage,
it still indicates that the stack we receive from BHR is of little
value to us, since the source of the actual hang is external to
that stack.

MozReview-Commit-ID: JkG53zq1MdY

--HG--
extra : rebase_source : 16553a9b5eac0a73cd1619c6ee01fa177ca60e58
2017-07-24 13:46:09 -07:00
..
base Backed out changeset 80e9cd4126b4 (bug 1397052) for adding a hazard to the build a=backout 2017-09-06 13:54:07 -07:00
build Bug 1382440 - Watch CPU usage in BHR r=froydnj 2017-07-24 13:46:09 -07:00
components Bug 1390428 (part 2, attempt 2) - Remove more nsXPIDLCString local variables. r=erahm. 2017-08-21 20:01:27 +10:00
doc
ds Bug 1392884 - Remove nsIAtomService. r=froydnj. 2017-08-25 17:06:58 +10:00
glue Bug 1382099 - Remove MOZ_WIDGET_GONK from xpcom/. r=erahm. 2017-07-21 10:45:39 +10:00
idl-parser Bug 1339178 - Use pytest to run python-tests, r=davehunt 2017-08-29 14:50:33 -04:00
io Bug 1393360 - nsMultiplexInputStream should not QI each stream when checking if seekable, cloneable or IPC serializable, r=smaug 2017-08-25 15:32:13 +02:00
libxpt/xptcall
reflect Bug 1394286 - mips64: fix error correction about stackpointer within function _NS_InvokeByIndex. r=froydnj 2017-08-30 10:01:26 +08:00
rust Bug 1381080 patch 1 - Add ClassFlags::NULL_TERMINATED to strings that require null-termination. r=erahm 2017-07-20 15:46:58 -07:00
string Bug 1395527 part 2 - Delegate IsASCII and IsUTF8 to encoding_rs. r=froydnj 2017-09-01 11:53:31 +03:00
system Bug 1395990 - remove Services.appinfo.isOfficial;r=mossop 2017-09-01 18:57:43 +02:00
tests Bug 1395527 part 1 - Add microbenchmarks for IsASCII and IsUTF8. r=froydnj 2017-08-31 14:46:25 +03:00
threads Bug 1382440 - Watch CPU usage in BHR r=froydnj 2017-07-24 13:46:09 -07:00
typelib Bug 1378712 - Remove all trailing whitespaces r=Ehsan 2017-07-06 14:00:35 +02:00
windbgdlg Bug 1286877 - do not set c-basic-offset for python-mode; r=gps 2016-07-14 10:16:42 -06:00
xpidl Bug 1390916 - Always use --track instead of --no-remove for install manifests; r=gps 2017-08-08 17:07:07 -04:00
moz.build Bug 1295762 - Part 1: Implement rust bindings to XPCOM's string types, r=froydnj 2016-09-20 11:26:43 -04:00
xpcom-config.h.in Bug 1326145 - Remove HAVE_CPP_AMBIGUITY_RESOLVING_USING. r=froydnj 2016-12-29 18:05:20 +11:00
xpcom-private.h.in