Pool statistics #25

reiddraper opened this Issue Apr 2, 2013 · 7 comments

4 participants


When observing a running system, it would be nice if poolboy provided statistics on the usage of the pool. Has the pool ever been empty? How long are processes checked out for? How often are pooled processes (or their temporary owners) crashing? I suspect there are several other things it would be useful to have metrics for. The simplest that would be personally useful for me is just a simple max_workers_ever, which a function to reset the stat. Do others think these kind of things would be useful? Would observing such things with something like folsom have too much overhead?

cc/ @Vagabond


I guess my main concern would be the additional dependency. Maybe we could allow registration of a 'stats callback module' that would get called every time certain things happened?


Perhaps we could register a callback module in the options.

@reiddraper reiddraper referenced this issue in basho/riak_cs Apr 9, 2013

Gracefully handle Riak disconnects #519


Is a single, resettable max_workers_ever stat generally useful in the meantime? The others stats are something I'd like to eventually get to, but are lower on my priority list.


@reiddraper I could be completely misunderstanding you, but the max_workers_ever is just the pool size + the max overflow.


I could be completely misunderstanding you, but the max_workers_ever is just the pool size + the max overflow.

What I'm curious about is max number of workers checked out. The scenario is, I jump on the box when things are going wrong, or I'm just curious about resource utilization, and I start typing poolboy:status(mypool). If the status is changing quickly over time, I might not catch it when the pool is ever empty (or full, depending on your perspective). So I want to be able to answer the question, are my processes ever blocked waiting for a worker?


@reiddraper I see what you mean now. I do support registering a callback module for this sort of thing that you can store statistics in with e.g. ets, but I don't think Poolboy proper should be keeping statistics ot her than the current pool status. @Vagabond thoughts?

@devinus devinus added the enhancement label Feb 10, 2014

+1, this would actually be helpful for production systems

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment