[ZODB-Dev] ZODB load/save tracing

Jim Fulton jim at zope.com
Tue Feb 27 08:28:15 EST 2007


On Feb 27, 2007, at 1:13 AM, Adam Groszer wrote:

> Hello Jim,
>
> What do you say,
> One event type with parameters:
> - method name
> - method parameters
> OR
> Lots of event types  with parameters:
> - method parameters

Lots of event types that subclass a single event type.

That want if you want them all, you subscribe to the base type,  
otherwise, subscribe to the ones you want. Note that you don't need  
to define interfaces for these, as subscribers can just subscribe to  
classes.

Jim

> Sunday, February 25, 2007, 3:21:52 PM, you wrote:
>
>> It might also be nice to have this generate events.  That is, the
>> tracing storage should call zope.event.notify.
>
>> I intent in 3.8 or 3.9 to start having ZODB depend on zope.event.  We
>> really should have used events rather than adding the callback's
>> we've added recently.
>
>> Jim
>
>> On Feb 25, 2007, at 3:19 AM, Adam Groszer wrote:
>
>>> Hello Christian,
>>>
>>> Gosh, that looks simple. A simple decorator pattern on the storage.
>>>
>>> So I shall create a branch, something like
>>> svn://svn.zope.org/repos/main/ZODB/branches/tracing-storage
>>> from
>>> svn://svn.zope.org/repos/main/ZODB/trunk
>>> and start there?
>>>
>>> Saturday, February 24, 2007, 8:00:40 PM, you wrote:
>>>
>>>> Hi,
>>>
>>>> I'm pretty sure there are no hooks around that do what you need.
>>>
>>>> The methods you want to tap into would be
>>>
>>>> store()
>>>> load*()
>>>
>>>> on the storages.
>>>
>>>> You might want to look into how the BlobStorage was created to make
>>>> yourself a "tracing storage" that can be wrapped around an existing
>>>> storage to allow usage with multiple other storages.
>>>
>>>> This could be a useful extensions to ZODB. If you go this way,
>>>> I'd be
>>>> happy to help out with some of the packaging mechanics and getting
>>>> the
>>>> ZConfig parts fletched out.
>>>
>>>> Christian
>>>
>>>> Am Samstag, den 24.02.2007, 14:33 +0100 schrieb Adam Groszer:
>>>>> Hello,
>>>>>
>>>>> I'm using ZODB in a GUI application, so outside of Zope.
>>>>>
>>>>> I'm having performance problems. I'm already on the way of  
>>>>> figuring
>>>>> out what causes a lot of object load. getTransferCounts helped in
>>>>> that. But now I would need something more detailed.
>>>>>
>>>>> Are there any hooks or something to get detailed object load
>>>>> statistics?
>>>>> Worst case I could hook into some methods of ZODB temporarly to
>>>>> collect the data, but into which methods?
>>>>>
>>>>> Any help or pointers are welcome.
>>>>>
>>>
>>>
>>> -- 
>>> Best regards,
>>>  Adam                            mailto:adamg at fw.hu
>>> --
>>> Quote of the day:
>>> Faith is believing in things when common sense tells you not to.
>>> - George Seaton
>>>
>>> _______________________________________________
>>> For more information about ZODB, see the ZODB Wiki:
>>> http://www.zope.org/Wikis/ZODB/
>>>
>>> ZODB-Dev mailing list  -  ZODB-Dev at zope.org
>>> http://mail.zope.org/mailman/listinfo/zodb-dev
>
>> --
>> Jim Fulton                      mailto:jim at zope.com              
>> Python Powered!
>> CTO                             (540) 361-1714                   
>> http://www.python.org
>> Zope Corporation        http://www.zope.com             http:// 
>> www.zope.org
>
>
>
>
> -- 
> Best regards,
>  Adam                            mailto:adamg at fw.hu
> --
> Quote of the day:
> When you close your eyes to the devil, make sure that it is not a  
> wink.
> - John C. Kulp
>

--
Jim Fulton			mailto:jim at zope.com		Python Powered!
CTO 				(540) 361-1714			http://www.python.org
Zope Corporation	http://www.zope.com		http://www.zope.org





More information about the ZODB-Dev mailing list