From: Dieter Maurer [mailto:dieter@handshake.de] Bjorn Stabell wrote at 2003-10-22 15:53 +0800:
What is a good tool for analyzing the size of each object in the ZODB, > pickled and unpacked in memory? I'm using Zope 2.6.2.
I do not think there is such a tool.
I enhanced the output of "fsdump" to include the pickle size of object records in a transaction. The main purpose has been to analyse the reasons for unexpected transaction sizes (turned out to be ZCatalog Metadata).
Would it be possible to deduct anything about the runtime memory footprint of python objects based on their pickle size? I'm just dreaming here; a tool that would be useful in analyzing and optimizing performance of Zope servers, as well as answering questions such as "what the heck is in that ZODB?" :) Something like the database administration tools you have for RDBMS that allow you to browse and change them. For the ZODB, I guess this kind of tool could: - let you browse the database objects, hieararchical tree-like view, perhaps without understanding classes at all, just treating objects as containers of other classes and/or basic python data types. kind-of like a file system view that: - shows the types of objects - shows the contents of objects with basic types - shows the size of objects and total for its subobjects - lets you edit the content types etc - lets you browse transactions (like your fsdump?), single or multiple at a time, and objects changed in transactions in a similar way to above (excluding option to edit objects) This tool could be standalone, or run through Zope. Is this feasible?