Firefox OS/Performance/Automation/Memory Consumption: Difference between revisions

m (Lakrits moved page FirefoxOS/Performance/Automation/Memory Consumption to Firefox OS/Performance/Automation/Memory Consumption: The official spelling of "Firefox OS" leaves a space between the two parts of the name. It's easier to find a page i...)
 
(9 intermediate revisions by one other user not shown)
Line 3: Line 3:
== Summary ==
== Summary ==


Measures memory consumption of an application after [https://developer.mozilla.org/en-US/Apps/Build/Performance/Firefox_OS_app_responsiveness_guidelines moz-app-loaded event].
Measures memory consumption in several test scenarios to detect abnormal memory usage patterns.


== Usage ==
* '''Lead:''' Wander Lairson Costa
 
==== Memory usage parameters ====
 
{| border="1"
|-
!Parameter !! Description
|-
| VSS || Virtual set size
|-
| RSS || Resident set size
|-
| USS || Unique set size
|-
| PSS || Proportional set size
|-
|}
 
== Test cases ==
 
=== Startup Memory Consumption ===
 
* '''Tracking Bug:''' [http://bugzilla.mozilla.org/show_bug.cgi?id=1044297 1044297]


=== Test Cases ===
Measures memory consumption of the application and b2g process after [https://developer.mozilla.org/en-US/Apps/Build/Performance/Firefox_OS_app_responsiveness_guidelines moz-app-loaded event].


Launch each of the following apps:
Launch each of the following apps:
Line 28: Line 50:
* Video
* Video


For each app, report the the memory usage after the moz-app-loaded event, for both the app and b2g process.
For each app, report the the memory usage after the moz-app-loaded event, for both the app and b2g process. Below you can see a flowchart of the test case:
 
[[File:Moz-app-load-mem-test.jpg|600x600px|framed|center|Flowchart of the startup memory test]]
 
==== Common Setup ====


=== Precision ===
# Set up workload
# Restart B2G process
# Invoke launch programmatically
# Inject the Performance Helper
# App instrumentation throws timeline events at appropriate times
# Performance helper observes events
# After moz-app-loaded event grab memory usage parameters for the app and b2g process


TBD
==== Results ====
* Result is the memory usage summary for app and b2g process.
 
=== Homescreen memory performance ===


=== How to Run On-Demand ===
* '''Tracking Bug:''' [https://bugzilla.mozilla.org/show_bug.cgi?id=1048443 1048443]


TBD
TBD


=== Published Results ===
=== Identify apps memory leaks ===
 
* '''Tracking Bug:''' [https://bugzilla.mozilla.org/show_bug.cgi?id=1041668 1041668]


TBD
TBD


=== References ===
== References ==


* [http://www.akkadia.org/drepper/cpumemory.pdf What every programmer should know about memory]
* [http://www.akkadia.org/drepper/cpumemory.pdf What every programmer should know about memory]
* [http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/ Why mobile web apps are slow]
* [http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/ Why mobile web apps are slow]
* [https://developer.mozilla.org/en-US/Apps/Build/Performance/Firefox_OS_app_responsiveness_guidelines Firefox OS App Responsiveness Guidelines]
* [https://developer.mozilla.org/en-US/Apps/Build/Performance/Firefox_OS_app_responsiveness_guidelines Firefox OS App Responsiveness Guidelines]
== Development ==
=== Design ===
''REMOVEME: This section is documentation of the steps a case goes through, at enough detail to review or duplicate them. Delete any unneeded setup/teardown sections. These can also be links into [https://moztrap.mozilla.org/results/runs/ MozTrap], if the tests are documented there.
==== Common Setup ====
# Step 1
# Step 2
==== Case 1 ====
* Setup
*# Step 1
*# Step 2
* Test
*# Step 1
*# Step 2
* Teardown
*# Step 1
*# Step 2
==== Case 2 ====
* Setup
*# Step 1
*# Step 2
* Test
*# Step 1
*# Step 2
* Teardown
*# Step 1
*# Step 2
=== Results ===
* Repetition, results, etc.
==== Common Teardown ====
# Step 1
# Step 2
=== Project Roadmap ===
* '''Lead:''' Wander Lairson Costa
* '''Tracking Bug:''' TBD
{| class="wikitable"
! width="120px" |
! colspan="2" | Milestone 1: Design
|-
!
! Test Design
! Validity Review
|-
| '''All Cases''' || Bug || Bug
|-
|}
{| class="wikitable"
! width="120px" |
!
! colspan="4" | Milestone 2: Test
! colspan="2" | Milestone 3: Publication
|-
!
! Availability
! Instrumentation
! Workload
! On-Demand Test
! Results Review
! Published Results
! Documentation
|-
| '''Browser''' || TBD || Bug || Bug || Bug || Bug || Bug || Bug
|-
| '''Calendar''' || TBD || Bug || Bug || Bug || Bug || Bug || Bug
|-
| '''Camera''' || TBD || Bug || Bug || Bug || Bug || Bug || Bug
|-
| '''Clock''' || TBD || Bug || Bug || Bug || Bug || Bug || Bug
|-
| '''Contacts''' || TBD || Bug || Bug || Bug || Bug || Bug || Bug
|-
| '''Dialer''' || TBD || Bug || Bug || Bug || Bug || Bug || Bug
|-
| '''Email''' || TBD || Bug || Bug || Bug || Bug || Bug || Bug
|-
| '''FM Radio''' || TBD || Bug || Bug || Bug || Bug || Bug || Bug
|-
| '''Gallery''' || TBD || Bug || Bug || Bug || Bug || Bug || Bug
|-
| '''Marketplace''' || TBD || Bug || Bug || Bug || Bug || Bug || Bug
|-
| '''Music''' || TBD || Bug || Bug || Bug || Bug || Bug || Bug
|-
| '''Settings''' || TBD || Bug || Bug || Bug || Bug || Bug || Bug
|-
| '''SMS''' || TBD || Bug || Bug || Bug || Bug || Bug || Bug
|-
| '''Template''' || TBD || Bug || Bug || Bug || Bug || Bug || Bug
|-
| '''Usage''' || TBD || Bug || Bug || Bug || Bug || Bug || Bug
|-
| '''Video''' || TBD || Bug || Bug || Bug || Bug || Bug || Bug
|-
|}


<small>[http://wiki.mozilla.org/FirefoxOS/Performance/Automation/Memory_Consumption]</small>
<small>[http://wiki.mozilla.org/FirefoxOS/Performance/Automation/Memory_Consumption]</small>

Latest revision as of 13:59, 1 February 2015

Memory Consumption

Summary

Measures memory consumption in several test scenarios to detect abnormal memory usage patterns.

  • Lead: Wander Lairson Costa

Memory usage parameters

Parameter Description
VSS Virtual set size
RSS Resident set size
USS Unique set size
PSS Proportional set size

Test cases

Startup Memory Consumption

Measures memory consumption of the application and b2g process after moz-app-loaded event.

Launch each of the following apps:

  • Browser
  • Calendar
  • Camera
  • Clock
  • Contacts
  • Dialer
  • Email
  • FM Radio
  • Gallery
  • Marketplace
  • Music
  • Settings
  • SMS
  • Template
  • Usage
  • Video

For each app, report the the memory usage after the moz-app-loaded event, for both the app and b2g process. Below you can see a flowchart of the test case:

 
Flowchart of the startup memory test

Common Setup

  1. Set up workload
  2. Restart B2G process
  3. Invoke launch programmatically
  4. Inject the Performance Helper
  5. App instrumentation throws timeline events at appropriate times
  6. Performance helper observes events
  7. After moz-app-loaded event grab memory usage parameters for the app and b2g process

Results

  • Result is the memory usage summary for app and b2g process.

Homescreen memory performance

TBD

Identify apps memory leaks

TBD

References

[1]