[Zope-dev] Re: ConflictError's worthwhile to note?

Dieter Maurer dieter at handshake.de
Tue Dec 6 13:43:43 EST 2005


Jean-Marc Orliaguet wrote at 2005-12-6 10:59 +0100:
> ...
>But aren't you looking for some sort of application profiler? or some 
>sort of benchmarker? One could argue that slowly rendered pages are sign 
>that the application is badly designed too, still you wouldn't want to 
>see in the log file:

You err: I do want to see them in the logfile and
I stole Florents idea to use "threadframe" (in his "DeadlockDebugger")
to include a traceback for long running requests in the logfile.
This way, it is
easy not only to identify long running requests but also to
get hints where they are spending their time...


You will not believe how fast this has eliminated our remaining
long running requests and especially to track down
a non deterministic rarely occuring apparent deadlock situation...


Thus, I can *very* strongly recommend to include such logging entries :-)


>INFO: the request took more than 2 seconds to be fullfilled (this has 
>occured 10 times already)

I agree with you about such stupid log entries.
And your argument also holds for the stupid "ConflictError" log entries
that Zope used to emit.

But, we use our own Zope. And our Zope learned very early to emit
informative "ConflictError" log entries -- those that show
*which* object caused the "ConflictError".
These log entries gave valuable hints on how to improve our application.

It is this experience that lets me argue for INFO level
"ConflictError" log entries.


By the way, I can be quite calm: whatever the Zope community
might decide: our Zope will continue to log "ConflictError"
messages at INFO level because we are interested to get early
indications that potential problems crept into our application...


-- 
Dieter


More information about the Zope-Dev mailing list