Changeset 119201 in webkit


Ignore:
Timestamp:
Jun 1, 2012 1:34:54 AM (12 years ago)
Author:
yurys@chromium.org
Message:

Web Inspector: add RenderArena sizes to the memory pie-chart
https://bugs.webkit.org/show_bug.cgi?id=87971

Reviewed by Pavel Feldman.

Added allocated and used sizes of page render arenas to the memory
report returned by the InspectorMemoryAgent. Total allocated size of
the inspected page's render arenas will be displayed on the memory
pie-chart.

  • inspector/InspectorMemoryAgent.cpp:

(MemoryBlockName):
(WebCore):
(WebCore::renderTreeInfo):
(WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):

  • inspector/front-end/NativeMemorySnapshotView.js:

(WebInspector.MemoryBlockViewProperties._initialize):

Location:
trunk/Source/WebCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r119198 r119201  
     12012-05-31  Yury Semikhatsky  <yurys@chromium.org>
     2
     3        Web Inspector: add RenderArena sizes to the memory pie-chart
     4        https://bugs.webkit.org/show_bug.cgi?id=87971
     5
     6        Reviewed by Pavel Feldman.
     7
     8        Added allocated and used sizes of page render arenas to the memory
     9        report returned by the InspectorMemoryAgent. Total allocated size of
     10        the inspected page's render arenas will be displayed on the memory
     11        pie-chart.
     12
     13        * inspector/InspectorMemoryAgent.cpp:
     14        (MemoryBlockName):
     15        (WebCore):
     16        (WebCore::renderTreeInfo):
     17        (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):
     18        * inspector/front-end/NativeMemorySnapshotView.js:
     19        (WebInspector.MemoryBlockViewProperties._initialize):
     20
    1212012-05-30  Yury Semikhatsky  <yurys@chromium.org>
    222
  • trunk/Source/WebCore/inspector/InspectorMemoryAgent.cpp

    r119197 r119201  
    6464static const char jsHeapUsed[] = "JSHeapUsed";
    6565static const char processPrivateMemory[] = "ProcessPrivateMemory";
     66static const char renderTreeUsed[] = "RenderTreeUsed";
     67static const char renderTreeAllocated[] = "RenderTreeAllocated";
    6668}
    6769
     
    335337}
    336338
     339static PassRefPtr<WebCore::TypeBuilder::Memory::MemoryBlock> renderTreeInfo(Page* page)
     340{
     341    ArenaSize arenaSize = page->renderTreeSize();
     342
     343    RefPtr<WebCore::TypeBuilder::Memory::MemoryBlock> renderTreeAllocated = WebCore::TypeBuilder::Memory::MemoryBlock::create().setName(MemoryBlockName::renderTreeAllocated);
     344    renderTreeAllocated->setSize(static_cast<int>(arenaSize.allocated));
     345
     346    RefPtr<TypeBuilder::Array<WebCore::TypeBuilder::Memory::MemoryBlock> > children = TypeBuilder::Array<WebCore::TypeBuilder::Memory::MemoryBlock>::create();
     347    RefPtr<WebCore::TypeBuilder::Memory::MemoryBlock> renderTreeUsed = WebCore::TypeBuilder::Memory::MemoryBlock::create().setName(MemoryBlockName::renderTreeUsed);
     348    renderTreeUsed->setSize(static_cast<int>(arenaSize.treeSize));
     349    children->addItem(renderTreeUsed);
     350
     351    renderTreeAllocated->setChildren(children);
     352    return renderTreeAllocated.release();
     353}
     354
    337355void InspectorMemoryAgent::getProcessMemoryDistribution(ErrorString*, RefPtr<WebCore::TypeBuilder::Memory::MemoryBlock>& processMemory)
    338356{
     
    345363    RefPtr<TypeBuilder::Array<WebCore::TypeBuilder::Memory::MemoryBlock> > children = TypeBuilder::Array<WebCore::TypeBuilder::Memory::MemoryBlock>::create();
    346364    children->addItem(jsHeapInfo());
     365    children->addItem(renderTreeInfo(m_page)); // TODO: collect for all pages?
    347366    processMemory->setChildren(children);
    348367}
  • trunk/Source/WebCore/inspector/front-end/NativeMemorySnapshotView.js

    r119197 r119201  
    202202    addBlock("rgba(250, 200, 200, 0.8)", "JSHeapAllocated", "JavaScript heap");
    203203    addBlock("rgba(200, 250, 200, 0.8)", "JSHeapUsed", "Used JavaScript heap");
     204    addBlock("rgba(250, 250, 150, 0.8)", "RenderTreeAllocated", "Render tree");
     205    addBlock("rgba(200, 150, 150, 0.8)", "RenderTreeUsed", "Render tree used");
    204206}
    205207
Note: See TracChangeset for help on using the changeset viewer.