Commit Graph

14 Commits

Author SHA1 Message Date
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
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
David Rajchenbach-Teller
7b8179a1fc Bug 1217218 - Consolidate shutdown of nsPerformanceStatsService. r=froydnj 2015-10-22 21:01:47 +02: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
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
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
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
8a206c0d34 Bug 1152759 - Regroup Performance Monitoring modules/components;r=yoric 2015-04-14 17:10:04 +02:00