Closed Bug 962238 Opened 11 years ago Closed 11 years ago

Display memory usage in Datazilla

Categories

(Firefox OS Graveyard :: Gaia::PerformanceTest, defect)

x86_64
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: hub, Assigned: jgriffin)

References

Details

(Keywords: perf, Whiteboard: [c=automation p= s= u=])

Attachments

(2 files)

Make sure we do display the memory usage in datazilla.
Maybe there is nothing to do but we don't have the jobs running, see blockers.

I just want to make sure we display the info.
Depends on: 917717, 936416
Keywords: perf
Whiteboard: [c=automation p= s= u=]
Blocks: 962689
Component: General → Gaia::PerformanceTest
Looking at the memory data and the mozperf.py script, it does not appear that any of this will be submitted without some changes to the latter. At the moment only mozPerfDurations are submitted for each stats/passes entry. We would need to enhance this to push the memory metrics to datazilla.

See https://github.com/mozilla/b2gperf/blob/0.18/b2gperf/mozperf.py#L25
The data structure of the JSON looks like:  

15:35:25 {
15:35:25   "stats": {
15:35:25     "suites": 1,
15:35:25     "tests": 1,
15:35:25     "passes": 1,
15:35:25     "pending": 0,
15:35:25     "failures": 0,
15:35:25     "start": "2014-02-28T23:06:48.331Z",
15:35:25     "end": "2014-02-28T23:08:31.946Z",
15:35:25     "duration": 103615,
15:35:25     "application": "email"
15:35:25   },
15:35:25   "failures": [],
15:35:25   "passes": [
15:35:25     {
15:35:25       "title": "startup time ",
15:35:25       "fullTitle": "startup test > email > startup time ",
15:35:25       "duration": 103123,
15:35:25       "mozPerfDurations": [
15:35:25         4107,
15:35:25         4478,
15:35:25         4455,
15:35:25         4979,
15:35:25         5099
15:35:25       ],
15:35:25       "mozPerfDurationsAverage": 4623.6,
15:35:25       "mozPerfMemory": [
15:35:25         {
15:35:25           "app": {
15:35:25             "name": "E-Mail",
15:35:25             "uss": 12.8,
15:35:25             "pss": 17.3,
15:35:25             "rss": 29.9,
15:35:25             "vsize": 68.5
15:35:25           },
15:35:25           "system": {
15:35:25             "name": "b2g",
15:35:25             "uss": 62.5,
15:35:25             "pss": 68,
15:35:25             "rss": 79.5,
15:35:25             "vsize": 190.5
15:35:25           }
15:35:25         },
15:35:25         {
15:35:25           "app": {
15:35:25             "name": "E-Mail",
15:35:25             "uss": 12.7,
15:35:25             "pss": 17.4,
15:35:25             "rss": 30.4,
15:35:25             "vsize": 74.9
15:35:25           },
15:35:25           "system": {
15:35:25             "name": "b2g",
15:35:25             "uss": 64.8,
15:35:25             "pss": 70.2,
15:35:25             "rss": 81.9,
15:35:25             "vsize": 191.5
15:35:25           }
15:35:25         },
15:35:25         {
15:35:25           "app": {
15:35:25             "name": "E-Mail",
15:35:25             "uss": 12.5,
15:35:25             "pss": 17.2,
15:35:25             "rss": 30.2,
15:35:25             "vsize": 74.8
15:35:25           },
15:35:25           "system": {
15:35:25             "name": "b2g",
15:35:25             "uss": 65.5,
15:35:25             "pss": 71,
15:35:25             "rss": 82.6,
15:35:25             "vsize": 188.5
15:35:25           }
15:35:25         },
15:35:25         {
15:35:25           "app": {
15:35:25             "name": "E-Mail",
15:35:25             "uss": 12.7,
15:35:25             "pss": 17.4,
15:35:25             "rss": 30.3,
15:35:25             "vsize": 74.9
15:35:25           },
15:35:25           "system": {
15:35:25             "name": "b2g",
15:35:25             "uss": 63.5,
15:35:25             "pss": 68.9,
15:35:25             "rss": 80.5,
15:35:25             "vsize": 187.5
15:35:25           }
15:35:25         },
15:35:25         {
15:35:25           "app": {
15:35:25             "name": "E-Mail",
15:35:25             "uss": 13.2,
15:35:25             "pss": 17.9,
15:35:25             "rss": 30.8,
15:35:25             "vsize": 74.7
15:35:25           },
15:35:25           "system": {
15:35:25             "name": "b2g",
15:35:25             "uss": 65.3,
15:35:25             "pss": 70.7,
15:35:25             "rss": 82.3,
15:35:25             "vsize": 188.5
15:35:25           }
15:35:25         }
15:35:25       ],
15:35:25       "mozPerfMemoryAverage": {
15:35:25         "app": {
15:35:25           "uss": "12.780",
15:35:25           "pss": "17.440",
15:35:25           "rss": "30.320",
15:35:25           "vsize": "73.560"
15:35:25         },
15:35:25         "system": {
15:35:25           "uss": "64.320",
15:35:25           "pss": "69.760",
15:35:25           "rss": "81.360",
15:35:25           "vsize": "189.300"
15:35:25         }
15:35:25       }
15:35:25     }
15:35:25   ]
15:35:25 },
Assignee: nobody → jgriffin
The way we're currently using the datazilla UI needs to be stretched a bit in order to accommodate this memory data, but here's a way we can do it without changes to datazilla.

For each app, a new metric will be created, e.g., "browser_memory".  For each test, we submit data for several different fields per metric:  uss, pss, rss, and vsize (for the app process) and system_uss, system_pss, system_rss, and system_vsize for the b2g process.  Thus, if you click on the "browser_memory" metric in datazilla's lower pane, you should see a graph of all 8 of these metrics for the browser app in the display.  Each app will have its own metric, so we'll have "browser_memory", "calendar_memory", etc.
Comment on attachment 8384996 [details] [review]
Link to Github pull-request: https://github.com/mozilla/b2gperf/pull/42

Hub, can you give feedback on the proposed display mechanism in comment #5?
Attachment #8384996 - Flags: feedback?(hub)
Jonathan, I'm not sure I visualize what you are explaining :-(
Comment on attachment 8384996 [details] [review]
Link to Github pull-request: https://github.com/mozilla/b2gperf/pull/42

r+ with the comment in the pull request addressed.

In order to demonstrate, I pushed to datazilla.allizom.org expecting this to be excluded from the production site. My memory failed me though, as I think this is just staging for the UI...

I'll attach a screenshot of the results and file a bug to remove the noise from the dashboard once this bug is resolved.
Attachment #8384996 - Flags: review?(dave.hunt) → review+
Status: NEW → ASSIGNED
Comment on attachment 8384996 [details] [review]
Link to Github pull-request: https://github.com/mozilla/b2gperf/pull/42

Output looks good to me, minus the vertical axis that is mislabeled. But that's a detail.
Attachment #8384996 - Flags: feedback?(hub) → feedback+
Review comment addressed:  https://github.com/mozilla/b2gperf/commit/5b91b333f00139a8ca96981c67c17a4bc59c505e

I'll do a versionbump of b2gperf in a separate bug.
Depends on: 980414
I've updated Jenkins to use b2gperf 0.20 so we should see some results appearing in datazilla soon.
Marking as fixed, we now have results in datazilla.
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: