Firefox/Features/50ms ASSERT: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 1: Line 1:
<section begin="status" />
{| class="fullwidth-table"
{| class="fullwidth-table"
|-
|-
| style="font-weight: bold; background: #DDD;" | Feature
| style="font-weight: bold; background: #DDD;" | Feature  
| style="font-weight: bold; background: #DDD;" | Status
| style="font-weight: bold; background: #DDD;" | Status  
| style="font-weight: bold; background: #DDD;" | ETA
| style="font-weight: bold; background: #DDD;" | ETA  
| style="font-weight: bold; background: #DDD;" | Owner
| style="font-weight: bold; background: #DDD;" | Owner
|-
|-
<section begin="status" />
| [[Firefox/Features/50ms_ASSERT|ASSERT when UI is delayed by more than 50ms]]  
| [[Firefox/Features/50ms_ASSERT|ASSERT when UI is delayed by more than 50ms]]
|  
| {{StatusHealthy|status=Core instrumentation landed}}
{{StatusHealthy|status=Core instrumentation landed}}
| 2011-04-29
 
| [[User:Dietrich|dietrich]]
SDR: N &#124;&#124; SIR: N <br>
<section end="status" />
 
|-
| 2011-04-29  
| [[User:Dietrich|dietrich]]  
<section end="status" />  
 
|}
|}


== Summary ==
== Summary ==
Any time the user interface takes more than 50ms to respond to an action, it can appear sluggish to the user. To determine how often this happens, and what parts of our code are frequent offenders, we should add the ability to detect when the main-thread event loop is delayed by more than 50ms and log it as an ASSERT.
 
Any time the user interface takes more than 50ms to respond to an action, it can appear sluggish to the user. To determine how often this happens, and what parts of our code are frequent offenders, we should add the ability to detect when the main-thread event loop is delayed by more than 50ms and log it as an ASSERT.  
 
== Release Requirements  ==
 
*does not affect performance in production or beta builds
*can be logged to screen or file
*logging has been added to all primary user interface events
 
== Next Steps  ==
 
*Complete project definition (ETA: 2011/04/01, Complete)
*Work with UX to identify 15 primary UI events (ETA: 2011/04/01, [http://j.mp/ihM1wc google doc], Complete)
*Implement core instrumentation of event loop ({{bug|601268}}, Complete)
*Investigate options for correlation of event loop delays with high and low level code
*Identify top 10 code points causing event loop delays
 
== Related Bugs &amp; Dependencies  ==
 
'''Tracking Bugs'''
 
*{{bug|651580}} - main project tracking bug
 
'''Related Bugs'''
 
*{{bug|601268}} - adds "canary in a coal mine" instrumentation to nsThread.cpp
*{{bug|606574}} - adds ability to report information in Talos
*TBD - adds ability to dump JS function calls executed
*TBD - adds ability to hook into a profiler (eg Shark)
 
'''Related Documents'''
 
*''no test plan needed''
*''no product marketing plan needed''
 
== Team  ==
 
Anyone interested in this project is encouraged to jump in and get involved. The list here is to provide contact and ownership information:
 
*'''Development Lead:''' dietrich
*'''Infrastructure Lead:''' ted


== Release Requirements ==
== Designs  ==
* does not affect performance in production or beta builds
* can be logged to screen or file
* logging has been added to all primary user interface events


== Next Steps ==
No designs required
* Complete project definition (ETA: 2011/04/01, Complete)
* Work with UX to identify 15 primary UI events (ETA: 2011/04/01, [http://j.mp/ihM1wc google doc], Complete)
* Implement core instrumentation of event loop ({{bug|601268}}, Complete)
* Investigate options for correlation of event loop delays with high and low level code
* Identify top 10 code points causing event loop delays


== Related Bugs & Dependencies ==
== Goals/Use Cases  ==
'''Tracking Bugs'''
* {{bug|651580}} - main project tracking bug


'''Related Bugs'''
*provide insight to developers into what is causing the Firefox user interface to feel slow or unresponsive to users
* {{bug|601268}} - adds "canary in a coal mine" instrumentation to nsThread.cpp
*identify high impact areas for UI responsiveness work
* {{bug|606574}} - adds ability to report information in Talos
* TBD - adds ability to dump JS function calls executed
* TBD - adds ability to hook into a profiler (eg Shark)


'''Related Documents'''
== Non-Goals  ==
* ''no test plan needed''
* ''no product marketing plan needed''


== Team ==
*provide information to end-users about what is causing Firefox to feel slow or unresponsive
Anyone interested in this project is encouraged to jump in and get involved. The list here is to provide contact and ownership information:
*provide UI profiling


* '''Development Lead:''' dietrich
== Other Documentation  ==
* '''Infrastructure Lead:''' ted


== Designs ==
*[http://www.useit.com/papers/responsetime.html Jakob Neilson's UseIt article on Response Time Limits for User Interfaces]
No designs required


== Goals/Use Cases ==
== Security  ==
* provide insight to developers into what is causing the Firefox user interface to feel slow or unresponsive to users
* identify high impact areas for UI responsiveness work


== Non-Goals ==
Security Contact: Curtis Koenig
* provide information to end-users about what is causing Firefox to feel slow or unresponsive
* provide UI profiling


== Other Documentation ==
*No security review necessarily for this feature
* [http://www.useit.com/papers/responsetime.html Jakob Neilson's UseIt article on Response Time Limits for User Interfaces]


== Security ==
__NOTOC__  
Security Contact: Curtis Koenig
* No security review necessarily for this feature
__NOTOC__


[[Category:Features]] [[Category:Firefox]] [[Category:Performance]] [[Category:P1]]
[[Category:Features]] [[Category:Firefox]] [[Category:Performance]] [[Category:P1]]
canmove, Confirmed users, Bureaucrats and Sysops emeriti
2,776

edits