Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign upServer-side histograms. #480
Comments
beorn7
added
the
feature-request
label
Jan 27, 2015
beorn7
self-assigned this
Jan 27, 2015
This comment has been minimized.
This comment has been minimized.
|
I'm planning on doing this. I'm thinking the simple bucket approach. |
This comment has been minimized.
This comment has been minimized.
|
We're currently considering writing a bucketed-version of summary. Basically:
This would make it super easy to:
All this with a bucketer set in the client code. It doesn't give you pretty quantile that seem to be all the range, but is very functional.. if the distribution of your data doesn't change over time (which is extremely rare) I thought about implementing this in the Java simple_client and use custom console and alerting rules, but I don't want to step ahead of the line if this will be implemented nicer in the backend. |
This comment has been minimized.
This comment has been minimized.
|
Yeah, we should probably get this done soon, before everybody implements their own work-around... :) @mwitkow-io Yes, that's exactly the idea. We just want it as a clean data type in the protobuf format, and then have a couple of server-side function in the expression language to get quantiles. |
This comment has been minimized.
This comment has been minimized.
|
I'll likely be implementing this within the next 2 weeks. I'm planning on having the bucket value as a label. |
This comment has been minimized.
This comment has been minimized.
|
Let's coordinate the ideas before implementing. I have started a document: Please comment. There is certainly a lot of things to clarify. |
This comment has been minimized.
This comment has been minimized.
|
Damn enterprise apps... try this link now: https://docs.google.com/document/d/1uSenXRDjDaJLV3qnSD09GqgPdEEDPjER0mVsnGaCYF0/edit?usp=sharing |
This comment has been minimized.
This comment has been minimized.
|
OK, after the dust has settled, there is a cleaned-up version of the design doc (let's call it that by now... :) @brian-brazil Have another look. And @juliusv now it might be mature enough for your consumption. |
This comment has been minimized.
This comment has been minimized.
|
This generally looks good to me. |
This comment has been minimized.
This comment has been minimized.
|
Cool. So whoever grabs part of the work outlined in the doc should mention it here (to avoid redundant work). |
This comment has been minimized.
This comment has been minimized.
|
I presume we'll need a 0.0.5 exposition format, compatible with 0.0.4? I've got the java simpleclient anyway. |
This comment has been minimized.
This comment has been minimized.
|
Yeah, I presume so.... we should also come up with 1.0.0 at some point. :) |
This comment has been minimized.
This comment has been minimized.
|
prometheus/client_golang#76 has all the infrastructure work |
This comment has been minimized.
This comment has been minimized.
|
I'm working on the java simpleclient now. |
This comment has been minimized.
This comment has been minimized.
|
I'm working on client/golang exposition (package |
This comment has been minimized.
This comment has been minimized.
|
The only thing missing now is the (Not yet And then of course support in other libraries... but Go and JVM is there. Which means you can do APDEX already now. |
This comment has been minimized.
This comment has been minimized.
|
I'm closing this and create a separate issue for |
beorn7
closed this
Feb 23, 2015
This comment has been minimized.
This comment has been minimized.
lock
bot
commented
Mar 24, 2019
|
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
beorn7 commentedJan 27, 2015
The client-side summaries cannot be aggregated in a meaningful way. To do that, we need the clients to send just the buckets, and the actual histogram generation has to happen on the server. We need a new function for that (
quantileor something), and a new metric type (let's call ithistogram).We might want to consider fancy algorithms to efficiently manage aggregatable histograms. But it is quite possible we'll end up with the trivial bucket approach, simply because they are easy to handle. (
rateto determine the expiration period,sumto aggregate, ...)Buckets will be configurable (linear, logarithmic, explicitly set).