[Zope] Analyzing ZODB objects

Bjorn Stabell bjorn at exoweb.net
Wed Oct 22 21:14:09 EDT 2003

> From: Dieter Maurer [mailto:dieter at 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
> 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?

More information about the Zope mailing list