[ZODB-Dev] What makes up a transactions size?
Jeremy Hylton
jeremy@zope.com
Tue, 9 Jul 2002 06:29:10 -0400
>>>>> "CW" == Chris Withers <chrisw@nipltd.com> writes:
CW> Hi there, I've got a ZODB that keeps ballooning up and hitting
CW> the 2GB limit. When packed it drops back down to about 50Mb.
CW> Any idea how I can find up what's taking up all the space? I
CW> suspect it might be transactions that are being aborted (I seem
CW> to remember a bug whereby aborted transactiosn were still
CW> appended to the ZODB, which seems pretty apalling to me, but
CW> no-one else seemed to be too bothered...)
CW> In any case, can anyone help?
StandaloneZODB/Tools/fsdump.py will print a summary of each
transaction in a Data.fs. It shows two lines for each transaction and
one line for each object in the transaction. The object lines include
the class of the object.
Example:
Trans #00004 tid=034592b43386c655 time=2002-06-20 21:08:12.076515 offset=75488
status=' ' user= description=Added temp_folder
data #00000 oid=0000000000000002 class=OFS.Application.Application
data #00001 oid=0000000000000057 class=Products.TemporaryFolder.TemporaryFolder.MountedTemporaryFolder
If the list of objects isn't enough, you could hack the code to print
out pickle sizes, too.
Jeremy