| OLD | NEW |
| 1 # MemoryInfra | 1 # MemoryInfra |
| 2 | 2 |
| 3 MemoryInfra is a timeline-based profiling system integrated in chrome://tracing. | 3 MemoryInfra is a timeline-based profiling system integrated in chrome://tracing. |
| 4 It aims at creating Chrome-scale memory measurement tooling so that on any | 4 It aims at creating Chrome-scale memory measurement tooling so that on any |
| 5 Chrome in the world --- desktop, mobile, Chrome OS or any other --- with the | 5 Chrome in the world --- desktop, mobile, Chrome OS or any other --- with the |
| 6 click of a button you can understand where memory is being used in your system. | 6 click of a button you can understand where memory is being used in your system. |
| 7 | 7 |
| 8 [TOC] | 8 [TOC] |
| 9 | 9 |
| 10 ## Getting Started | 10 ## Getting Started |
| 11 | 11 |
| 12 1. Get a bleeding-edge or tip-of-tree build of Chrome. | 12 1. Get a bleeding-edge or tip-of-tree build of Chrome. |
| 13 | 13 |
| 14 2. [Record a trace as usual][record-trace]: open [chrome://tracing][tracing] | 14 2. [Record a trace as usual][record-trace]: open [chrome://tracing][tracing] |
| 15 on Desktop Chrome or [chrome://inspect?tracing][inspect-tracing] to trace | 15 on Desktop Chrome or [chrome://inspect?tracing][inspect-tracing] to trace |
| 16 Chrome for Android. | 16 Chrome for Android. |
| 17 | 17 |
| 18 3. Make sure to enable the **memory-infra** category on the right. | 18 3. Make sure to enable the **memory-infra** category on the right. |
| 19 | 19 |
| 20 ![Tick the memory-infra checkbox when recording a trace.][memory-infra-box
] | 20 ![Tick the memory-infra checkbox when recording a trace.][memory-infra-box
] |
| 21 | 21 |
| 22 4. For now, some subsystems only work if Chrome is started with the | 22 4. For now, some subsystems only work if Chrome is started with the |
| 23 `--no-sandbox` flag. | 23 `--no-sandbox` flag. |
| 24 <!-- TODO(primiano) TODO(ssid): https://crbug.com/461788 --> | 24 <!-- TODO(primiano) TODO(ssid): https://crbug.com/461788 --> |
| 25 | 25 |
| 26 [record-trace]: https://sites.google.com/a/chromium.org/dev/developers/how-t
os/trace-event-profiling-tool/recording-tracing-runs | 26 [record-trace]: https://sites.google.com/a/chromium.org/dev/developers/how-t
os/trace-event-profiling-tool/recording-tracing-runs |
| 27 [tracing]: chrome://tracing | 27 [tracing]: chrome://tracing |
| 28 [inspect-tracing]: chrome://inspect?tracing | 28 [inspect-tracing]: chrome://inspect?tracing |
| 29 [memory-infra-box]: https://drive.google.com/uc?export=view&id=0Bx14iZPZRgb5RHBJ
M1llY1g4cDg | 29 [memory-infra-box]: https://storage.googleapis.com/chromium-docs.appspot.com/1c6
d1886584e7cc6ffed0d377f32023f8da53e02 |
| 30 | 30 |
| 31 ![Timeline View and Analysis View][tracing-views] | 31 ![Timeline View and Analysis View][tracing-views] |
| 32 | 32 |
| 33 After recording a trace, you will see the **timeline view**. Timeline view | 33 After recording a trace, you will see the **timeline view**. Timeline view |
| 34 shows: | 34 shows: |
| 35 | 35 |
| 36 * Total resident memory grouped by process (at the top). | 36 * Total resident memory grouped by process (at the top). |
| 37 * Total resident memory grouped by subsystem (at the top). | 37 * Total resident memory grouped by subsystem (at the top). |
| 38 * Allocated memory per subsystem for every process. | 38 * Allocated memory per subsystem for every process. |
| 39 | 39 |
| 40 Click one of the ![M][m-blue] dots to bring up the **analysis view**. Click | 40 Click one of the ![M][m-blue] dots to bring up the **analysis view**. Click |
| 41 on a cell in analysis view to reveal more information about its subsystem. | 41 on a cell in analysis view to reveal more information about its subsystem. |
| 42 PartitionAlloc for instance, has more details about its partitions. | 42 PartitionAlloc for instance, has more details about its partitions. |
| 43 | 43 |
| 44 ![Component details for PartitionAlloc][partalloc-details] | 44 ![Component details for PartitionAlloc][partalloc-details] |
| 45 | 45 |
| 46 The purple ![M][m-purple] dots represent heavy dumps. In these dumps, components | 46 The purple ![M][m-purple] dots represent heavy dumps. In these dumps, components |
| 47 can provide more details than in the regular dumps. The full details of the | 47 can provide more details than in the regular dumps. The full details of the |
| 48 MemoryInfra UI are explained in its [design doc][mi-ui-doc]. | 48 MemoryInfra UI are explained in its [design doc][mi-ui-doc]. |
| 49 | 49 |
| 50 [tracing-views]: https://drive.google.com/uc?export=view&id=0Bx14iZPZRgb5dFV
YV2dtZmNxQjg | 50 [tracing-views]: https://storage.googleapis.com/chromium-docs.appspot.com/db
12015bd262385f0f8bd69133330978a99da1ca |
| 51 [m-blue]: https://drive.google.com/uc?export=view&id=0Bx14iZPZRgb5b1Z
TcWY4em42a0U | 51 [m-blue]: https://storage.googleapis.com/chromium-docs.appspot.com/b6
0f342e38ff3a3767bbe4c8640d96a2d8bc864b |
| 52 [partalloc-details]: https://drive.google.com/uc?export=view&id=0Bx14iZPZRgb5eVp
PR09yTW9Ebjg | 52 [partalloc-details]: https://storage.googleapis.com/chromium-docs.appspot.com/02
eade61d57c83f8ef8227965513456555fc3324 |
| 53 [m-purple]: https://drive.google.com/uc?export=view&id=0Bx14iZPZRgb5RFF
Gc0xZZEJWVFk | 53 [m-purple]: https://storage.googleapis.com/chromium-docs.appspot.com/d7
bdf4d16204c293688be2e5a0bcb2bf463dbbc3 |
| 54 [mi-ui-doc]: https://docs.google.com/document/d/1b5BSBEd1oB-3zj_CBAQWiQZ
0cmI0HmjmXG-5iNveLqw/edit | 54 [mi-ui-doc]: https://docs.google.com/document/d/1b5BSBEd1oB-3zj_CBAQWiQZ
0cmI0HmjmXG-5iNveLqw/edit |
| 55 | 55 |
| 56 ## Columns | 56 ## Columns |
| 57 | 57 |
| 58 **Columns in blue** reflect the amount of actual physical memory used by the | 58 **Columns in blue** reflect the amount of actual physical memory used by the |
| 59 process. This is what exerts memory pressure on the system. | 59 process. This is what exerts memory pressure on the system. |
| 60 | 60 |
| 61 * **Total Resident**: (TODO: document this). | 61 * **Total Resident**: (TODO: document this). |
| 62 * **Peak Total Resident**: (TODO: document this). | 62 * **Peak Total Resident**: (TODO: document this). |
| 63 * **PSS**: (TODO: document this). | 63 * **PSS**: (TODO: document this). |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 159 | 159 |
| 160 Chrome-side design docs: | 160 Chrome-side design docs: |
| 161 | 161 |
| 162 <iframe width="100%" height="300px" src="https://docs.google.com/a/google.com/em
beddedfolderview?id=0B3KuDeqD-lVJfndSa2dleUQtMnZDeWpPZk1JV0QtbVM5STkwWms4YThzQ0p
GTmU1QU9kNVk"> | 162 <iframe width="100%" height="300px" src="https://docs.google.com/a/google.com/em
beddedfolderview?id=0B3KuDeqD-lVJfndSa2dleUQtMnZDeWpPZk1JV0QtbVM5STkwWms4YThzQ0p
GTmU1QU9kNVk"> |
| 163 </iframe> | 163 </iframe> |
| 164 | 164 |
| 165 Catapult-side design docs: | 165 Catapult-side design docs: |
| 166 | 166 |
| 167 <iframe width="100%" height="300px" src="https://docs.google.com/a/google.com/em
beddedfolderview?id=0B3KuDeqD-lVJfm10bXd5YmRNWUpKOElOWS0xdU1tMmV1S3F4aHo0ZDJLTmt
GRy1qVnQtVWM"> | 167 <iframe width="100%" height="300px" src="https://docs.google.com/a/google.com/em
beddedfolderview?id=0B3KuDeqD-lVJfm10bXd5YmRNWUpKOElOWS0xdU1tMmV1S3F4aHo0ZDJLTmt
GRy1qVnQtVWM"> |
| 168 </iframe> | 168 </iframe> |
| OLD | NEW |