Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pool statistics #25

Open
reiddraper opened this issue Apr 2, 2013 · 11 comments
Open

Pool statistics #25

reiddraper opened this issue Apr 2, 2013 · 11 comments

Comments

@reiddraper
Copy link

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

@Vagabond
Copy link
Collaborator

Vagabond commented Apr 2, 2013

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?

@devinus
Copy link
Owner

devinus commented Apr 9, 2013

Perhaps we could register a callback module in the options.

@reiddraper
Copy link
Author

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.

@devinus
Copy link
Owner

devinus commented Apr 9, 2013

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

@reiddraper
Copy link
Author

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?

@devinus
Copy link
Owner

devinus commented Apr 10, 2013

@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?

@lrascao
Copy link

lrascao commented Jan 8, 2015

+1, this would actually be helpful for production systems

@imtutta
Copy link

imtutta commented Jun 19, 2017

+1, extremely helpful

@hunterboerner
Copy link

This would be very helpful.

@lswith
Copy link

lswith commented Nov 8, 2018

This would be extremely helpful

@manuel-kaleyra
Copy link

wow, this started in 2013, 10 years ago, these days I guess makes more sense if it's provided a telemetry support, what do you think? @devinus @Vagabond

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

No branches or pull requests

8 participants