Hello,

I'd like to measure how much time my code spends waiting to check out a 
connection from the pool.  Why?  Because I suspect that I have too many 
workers and not enough connections in the pool, and I'd like to gather some 
hard numbers to prove my theory one way or the other.

I see that there are events I can register 
for: 
http://docs.sqlalchemy.org/en/rel_0_9/core/events.html#connection-pool-events. 
 However, off hand I don't see a documented way to get the time spent 
waiting in checkout.

I took a peek at pool.py (I'm using sqlalchemy version 0.9.1) .  I see 
_ConnectionRecord doing the following:

    def __connect(self):
        try:
            self.starttime = time.time()
            connection = self.__pool._creator()
            self.__pool.logger.debug("Created new connection %r", 
connection)
            return connection
        except Exception as e:
            self.__pool.logger.debug("Error on connect(): %s", e)
            raise


Is it safe to use this starttime?  Does it measure the time-to-checkout? 
 Or time-to-establish-new-connection-in-pool?  Or something else?

Is there a better way to get the info I'm looking for?

thanks!

--Shahaf

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to