Commit Graph

49 Commits

Author SHA1 Message Date
Kyle Huey
e95edb30a9 Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
David Rajchenbach-Teller
6ddd95efcc Bug 1219144 - Using the nsRefreshDriver's jank indication for performance monitoring;f?froydnj r=froydnj
This patch (currently WIP) alters the way we determine whether jank is user-visible or not.

Instead of measuring the total time spent doing JS, we now use an
indicator provided by the vsync driver: how long it takes to deliver
the signal from the vsync timer to the main thread. This lets us find
out more accurately if there is user-visible jank. In the future, this
will also let us add an observer to find out whether the process
itself is janky, regardless of JS.
2016-01-14 15:07:18 +01:00
David Rajchenbach-Teller
5bfb6c3c1c Bug 1219144 - Performance alerts are now labelled with isJankVisible;r=avih,froydnj
To decrease the number of apparent false positives, we classify jank
alerts as visible or invisible. We use the following heuristic:
- if the process is currently animating something, any jank alert is visible;
- if the process has just handled a user input, any jank alert is visible;
- if some user input is handled during the current iteration, any jank alert is visible;
- otherwise, jank alerts are not visible.
2016-01-12 10:45:22 +01:00
Jan de Mooij
71d37a198e Bug 1237201 part 7 - Handle Vector OOM in nsPerformanceStats, telemetry. r=Yoric 2016-01-14 15:19:37 +01:00
Nathan Froyd
54dfa729a9 Bug 1218454 - part 2 - don't #include nsContentUtils.h from CallbackObject.h; r=bz
We used to need nsContentUtils.h here for nsCxPusher, but since that got
moved to ScriptSettings.h, we no longer need nsContentUtils.h for
anything.
2015-10-26 12:14:47 -04:00
David Rajchenbach-Teller
1a948e69b9 Bug 1186491 - An API for watching slow performance alerts (xpcom-level);r=froydnj
This patch introduces a new API to the nsPerformanceStatsService to register observers for slow performance. This API has several advantages:
- as it doesn't require polling, it also doesn't need to wake up the parent process every 15 seconds for the AddonWatcher;
- as it doesn't require polling, it doesn't need to wake up the child processes every time we wish to obtain data on slow performance;
- as it provides immediate data on performance alerts, it makes it possible to get rid of the complex and expensive post-processing performed by JS to merge data from all processes and attempt to extract performance alerts.

The old API is still available.
2015-11-24 13:37:32 +01:00
David Rajchenbach-Teller
3d37bc1b53 Bug 1186491 - Splitting nsIPerformanceStats in two;r=froydnj 2015-10-23 10:58:40 +02:00
Carsten "Tomcat" Book
d50cc9a6ee Merge mozilla-central to fx-team 2015-11-02 12:05:19 +01:00
Birunthan Mohanathas
ac37dec517 Bug 1219392 - Capitalize mozilla::unused to avoid conflicts. r=froydnj 2015-11-02 07:53:26 +02:00
Landry Breuil
cc35fe59d8 Bug 1220407 - include sys/resource.h for struct rusage and getrusage() on all unices, not linux only. r=yoric 2015-10-31 14:49:00 +01:00
David Rajchenbach-Teller
7b8179a1fc Bug 1217218 - Consolidate shutdown of nsPerformanceStatsService. r=froydnj 2015-10-22 21:01:47 +02:00
David Rajchenbach-Teller
eb24794560 Bug 1188248 - Merge jank monitoring and CPOW monitoring (low-level);r=jandem,yoric 2015-09-28 12:31:31 +02:00
Birunthan Mohanathas
d382a21947 Bug 1217320 - Remove more XPIDL signature comments in .cpp files. r=froydnj
Comment-only, DONTBUILD.
2015-10-27 06:54:25 +02:00
Kyle Huey
8f8794e1c7 Bug 1216401: Eviscerate nsIDOMWindow, move still needed methods to nsPIDOMWindow. r=bz 2015-10-26 14:37:32 -07:00
David Rajchenbach-Teller
8d8035d838 Bug 1208747 - Move most of Stopwatch-related code to XPCOM-land (XPCOM-level + XPConnect-level);r=froydnj 2015-10-02 23:44:23 +02:00
Carsten "Tomcat" Book
5319c04bcc Backed out changeset 33afbc6c4997 (bug 1208747) 2015-10-21 11:39:22 +02:00
David Rajchenbach-Teller
f1cc78b023 Bug 1208747 - Move most of Stopwatch-related code to XPCOM-land (XPCOM-level + XPConnect-level);r=froydnj 2015-10-02 23:44:23 +02:00
Nathan Froyd
4e6d8f6705 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi
2015-10-18 01:24:48 -04:00
David Rajchenbach-Teller
67603e8af8 Bug 1199603 - Don't wait for shutdown to update nsPerformanceStats Telemetry. r=Mossop 2015-08-28 12:14:01 +02:00
David Rajchenbach-Teller
b4031b6c19 Bug 1198167 - nsPerformanceStatsService should wait for profile-before-change, not profile-before-shutdown. r=yoric 2015-08-25 11:20:40 +02:00
David Rajchenbach-Teller
14b1c812e5 Bug 1181175 - Telemetry for finding out how often our process is rescheduled to another CPU. r=jandem, r=bsmedberg 2015-07-29 19:01:05 +02:00
Ryan VanderMeulen
7dbb7dc565 Backed out changesets db4294fb662d and de9ae2ccb73b (bug 1181175) for Android test_compartments.js failures.
CLOSED TREE
2015-08-10 15:07:27 -04:00
David Rajchenbach-Teller
0979349348 Bug 1181175 - Telemetry for finding out how often our process is rescheduled to another CPU. r=jandem, r=bsmedberg 2015-07-29 19:01:05 +02:00
Birunthan Mohanathas
a0f7c73250 Bug 1191100 - Remove XPIDL signature comments in .cpp files. r=ehsan
Comment-only so DONTBUILD.
2015-08-04 16:17:36 -07:00
David Rajchenbach-Teller
0f1a30c9e3 Bug 1184486 - Let PerformanceStats.jsm play nicer with process-per-tab. r=mconley 2015-07-16 12:19:17 +02:00
Ryan VanderMeulen
0ba883337d Backed out changeset 82fac7af188e (bug 1184486) for Static Analysis failures. 2015-07-29 09:11:52 -04:00
David Rajchenbach-Teller
1b943fd2f1 Bug 1184486 - Let PerformanceStats.jsm play nicer with process-per-tab. r=mconley 2015-07-16 12:19:17 +02:00
David Rajchenbach-Teller
005b7ffaf6 Bug 1147664 - Detailed mode for PerformanceStats (high-level). r=mossop 2015-06-12 21:52:06 +02:00
David Rajchenbach-Teller
7e03a999f4 Bug 1147664 - Detailed mode for PerformanceStats (low-level). r=jandem 2015-06-10 15:56:19 +02:00
Wes Kocher
042e3e091c Backed out 2 changesets (bug 1147664) for b2g xpcshell failures in test_compartments.js
Backed out changeset cfd27d5ffc58 (bug 1147664)
Backed out changeset cace9a3246c1 (bug 1147664)
2015-07-23 18:39:43 -07:00
David Rajchenbach-Teller
44b387d6f4 Bug 1147664 - Detailed mode for PerformanceStats (high-level). r=felipe 2015-06-12 21:52:06 +02:00
David Rajchenbach-Teller
599d23d77c Bug 1147664 - Detailed mode for PerformanceStats (low-level). r=jandem 2015-06-10 15:56:19 +02:00
Ryan VanderMeulen
47fb0f3f04 Backed out changesets 49667763013b and 83fa8af8140b (bug 1147664) for test_compartments.js xpcshell failures. 2015-07-23 11:35:55 -04:00
David Rajchenbach-Teller
09d5857c54 Bug 1147664 - Detailed mode for PerformanceStats (high-level). r=mossop 2015-06-12 21:52:06 +02:00
David Rajchenbach-Teller
d54c762c81 Bug 1147664 - Detailed mode for PerformanceStats (low-level). r=jandem 2015-06-10 15:56:19 +02:00
Ryan VanderMeulen
3cf75b379d Backed out changesets 9eb2e0c7b864 and 19bdfb755eeb (bug 1147664) for various test failures. 2015-07-22 13:18:54 -04:00
David Rajchenbach-Teller
b01122346b Bug 1147664 - Detailed mode for PerformanceStats (high-level). r=mossop 2015-06-12 21:52:06 +02:00
David Rajchenbach-Teller
67b1bab7a8 Bug 1147664 - Detailed mode for PerformanceStats (low-level). r=jandem 2015-06-10 15:56:19 +02:00
David Rajchenbach-Teller
b31412d6b3 Bug 1175098 - PerformanceStats for e10s. r=felipe, r=mconley
CLOSED TREE
2015-06-16 14:26:11 +02:00
Ryan VanderMeulen
503e8c046c Backed out changeset 653179afb65f (bug 1175098) for frequent WinXP browser_compartments.js failures.
CLOSED TREE
2015-07-15 21:28:00 -04:00
David Rajchenbach-Teller
ae61b679d3 Bug 1175098 - PerformanceStats for e10s. r=felipe, r=mconley 2015-06-16 14:26:11 +02:00
Andrew McCreight
9957e6d147 Bug 886459, part 1 - Remove unused includes of nsIJSRuntimeService.h. r=bholley 2015-06-26 18:44:13 -07:00
Jacek Caban
bb50217551 Bug 1157870 - Cross compilation fixup. 2015-06-19 13:33:36 +02:00
David Rajchenbach-Teller
7f158ab368 Bug 1157870 - Performance Groups should have a unique ID (high-level). r=mossop 2015-05-18 16:40:34 +02:00
David Rajchenbach-Teller
9940453e73 Bug 1156264 - Activate/deactivate jank and CPOW monitoring separately (high-level). r=mossop 2015-06-04 13:12:27 +02:00
David Rajchenbach-Teller
902d7aebd5 Bug 1149486 - Extract a window title and window ID for PerformanceStats. r=mossop 2015-05-18 10:40:20 +02:00
Ryan VanderMeulen
8b6b195d54 Backed out changesets da71c4aefb3a and 98603c32c9a3 (bug 1149486) for browser_compartments.js permafail.
CLOSED TREE
2015-05-29 12:59:23 -04:00
David Rajchenbach-Teller
0ad0390e27 Bug 1149486 - Extract a window title and window ID for PerformanceStats. r=mossop 2015-05-18 10:40:20 +02:00
David Rajchenbach-Teller
8a206c0d34 Bug 1152759 - Regroup Performance Monitoring modules/components;r=yoric 2015-04-14 17:10:04 +02:00