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

nsqd: track stats of end-to-end message processing time #268

Closed
mreiferson opened this issue Sep 21, 2013 · 9 comments
Closed

nsqd: track stats of end-to-end message processing time #268

mreiferson opened this issue Sep 21, 2013 · 9 comments

Comments

@mreiferson
Copy link
Member

It would be incredibly useful information for nsqd to keep track of end-to-end statistics of how long it's taking to process messages (from ns time of PUB to ns time of FIN) in percentiles, for each topic/channel.

This would need to take a fast/efficient stream approach of approximating these values so as not to add significant memory/CPU overhead.

They should be available via the /stats endpoint and pushed to statsd for context over time.

cc @jehiah @michaelhood

@mynameisfiber
Copy link
Contributor

Might I suggest using a multilevel ε-summary?

@mreiferson
Copy link
Member Author

but is it FAST

@mreiferson
Copy link
Member Author

also cc @davemarchevsky

@mynameisfiber
Copy link
Contributor

O(log(log(N))) inserts and query where N can be kept small with some forgettable-like decaying

@mreiferson
Copy link
Member Author

@mynameisfiber wouldn't it be awesome if you came up with a clever name and created an easy to use go package so that I didn't have to read that PDF? 🎉

@mynameisfiber
Copy link
Contributor

i'm leaving this one in @davemarchevsky's capable hands... although i think aliGOzam has a nice ring to it.

@mynameisfiber
Copy link
Contributor

@mreiferson
Copy link
Member Author

hi5 @danielhfrank

@mreiferson
Copy link
Member Author

see #280

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

2 participants