| 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 |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 86 non-Blink objects. | 86 non-Blink objects. |
| 87 * **PartitionAlloc**: Memory allocated via [PartitionAlloc][partalloc]. | 87 * **PartitionAlloc**: Memory allocated via [PartitionAlloc][partalloc]. |
| 88 Blink objects that are not managed by Oilpan are allocated with | 88 Blink objects that are not managed by Oilpan are allocated with |
| 89 PartitionAlloc. | 89 PartitionAlloc. |
| 90 * **Skia**: Memory used by all resources used by the Skia rendering system. | 90 * **Skia**: Memory used by all resources used by the Skia rendering system. |
| 91 * **SQLite**: Memory used for all sqlite databases. | 91 * **SQLite**: Memory used for all sqlite databases. |
| 92 * **Sync**: Memory used by Chrome Sync when signed in. | 92 * **Sync**: Memory used by Chrome Sync when signed in. |
| 93 * **UI**: Android only. Memory used by Android java bitmaps for the UI. | 93 * **UI**: Android only. Memory used by Android java bitmaps for the UI. |
| 94 * **V8**: Memory used by V8 Javascript engine. | 94 * **V8**: Memory used by V8 Javascript engine. |
| 95 * **Web Cache**: Memory used by resources downloaded from the Web, like images | 95 * **Web Cache**: Memory used by resources downloaded from the Web, like images |
| 96 and scipts. | 96 and scripts. |
| 97 | 97 |
| 98 The **tracing column in gray** reports memory that is used to collect all of the | 98 The **tracing column in gray** reports memory that is used to collect all of the |
| 99 above information. This memory would not be used if tracing were not enabled, | 99 above information. This memory would not be used if tracing were not enabled, |
| 100 and it is discounted from malloc and the blue columns. | 100 and it is discounted from malloc and the blue columns. |
| 101 | 101 |
| 102 <!-- TODO(primiano): Improve this. https://crbug.com/??? --> | 102 <!-- TODO(primiano): Improve this. https://crbug.com/??? --> |
| 103 | 103 |
| 104 [oilpan]: /third_party/WebKit/Source/platform/heap/BlinkGCDesign.md | 104 [oilpan]: /third_party/WebKit/Source/platform/heap/BlinkGCDesign.md |
| 105 [discardable]:base/memory/discardable_memory.h | 105 [discardable]:base/memory/discardable_memory.h |
| 106 [cc-memory]: probe-cc.md | 106 [cc-memory]: probe-cc.md |
| 107 [gpu-memory]: probe-gpu.md | 107 [gpu-memory]: probe-gpu.md |
| 108 [partalloc]: /base/allocator/partition_allocator/PartitionAlloc.md | 108 [partalloc]: /base/allocator/partition_allocator/PartitionAlloc.md |
| 109 | 109 |
| 110 ## 'effective\_size' vs. 'size' |
| 111 |
| 112 This is a little like the difference between 'self time' and 'cumulative time' |
| 113 in a profiling tool. Size is the total amount of memory allocated/requested |
| 114 by a subsystem whereas effective size is the total amount of memory |
| 115 used/consumed by a subsystem. If Skia allocates 10mb via partition_alloc |
| 116 that memory would show up in the size of both Skia and partition_alloc |
| 117 but only in the effective size of Skia since although partition_alloc |
| 118 allocates the 10mb it does so on behalf of Skia which is responsible |
| 119 for the memory. Summing all effective sizes gives the total amount of |
| 120 memory used whereas summing size would give a number larger than the total |
| 121 amount of memory used. |
| 122 |
| 110 ## Related Pages | 123 ## Related Pages |
| 111 | 124 |
| 112 * [Adding MemoryInfra Tracing to a Component](adding_memory_infra_tracing.md) | 125 * [Adding MemoryInfra Tracing to a Component](adding_memory_infra_tracing.md) |
| 113 * [GPU Memory Tracing](probe-gpu.md) | 126 * [GPU Memory Tracing](probe-gpu.md) |
| 114 * [Heap Profiler Internals](heap_profiler_internals.md) | 127 * [Heap Profiler Internals](heap_profiler_internals.md) |
| 115 * [Heap Profiling with MemoryInfra](heap_profiler.md) | 128 * [Heap Profiling with MemoryInfra](heap_profiler.md) |
| 116 * [Startup Tracing with MemoryInfra](memory_infra_startup_tracing.md) | 129 * [Startup Tracing with MemoryInfra](memory_infra_startup_tracing.md) |
| 117 | 130 |
| 118 ## Rationale | 131 ## Rationale |
| 119 | 132 |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 173 | 186 |
| 174 Chrome-side design docs: | 187 Chrome-side design docs: |
| 175 | 188 |
| 176 <iframe width="100%" height="300px" src="https://docs.google.com/a/google.com/em
beddedfolderview?id=0B3KuDeqD-lVJfndSa2dleUQtMnZDeWpPZk1JV0QtbVM5STkwWms4YThzQ0p
GTmU1QU9kNVk"> | 189 <iframe width="100%" height="300px" src="https://docs.google.com/a/google.com/em
beddedfolderview?id=0B3KuDeqD-lVJfndSa2dleUQtMnZDeWpPZk1JV0QtbVM5STkwWms4YThzQ0p
GTmU1QU9kNVk"> |
| 177 </iframe> | 190 </iframe> |
| 178 | 191 |
| 179 Catapult-side design docs: | 192 Catapult-side design docs: |
| 180 | 193 |
| 181 <iframe width="100%" height="300px" src="https://docs.google.com/a/google.com/em
beddedfolderview?id=0B3KuDeqD-lVJfm10bXd5YmRNWUpKOElOWS0xdU1tMmV1S3F4aHo0ZDJLTmt
GRy1qVnQtVWM"> | 194 <iframe width="100%" height="300px" src="https://docs.google.com/a/google.com/em
beddedfolderview?id=0B3KuDeqD-lVJfm10bXd5YmRNWUpKOElOWS0xdU1tMmV1S3F4aHo0ZDJLTmt
GRy1qVnQtVWM"> |
| 182 </iframe> | 195 </iframe> |
| OLD | NEW |