-
Notifications
You must be signed in to change notification settings - Fork 19
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
Add support for Prometheus metrics #432
Comments
I'm not really keen on that. I consider the tricorder/Scotty ecosystem a better solution (it supports more than floats and has a better UI for humans to discover and explore the available metrics for an application), and it follows the vision of more integrations in the metrics space (like integrating with the health-agent for health checking during rollouts). Also, I don't want to add another code dependency and bloat out the system. Note also that the tricorder library creates a What might be a good alternative is to add the ability to push metrics from Scotty to Prometheus. The advantage of this approach is that none of the Dominator ecosystem components need to be changed. Please take a look: |
You may be interested in the OpenMetrics format that is being worked on. We are adding support for uint64 there, which covers a couple of use cases where float64 isn't sufficient. |
You may also be interested in our TSDB library as it's more than 15x as memory and storage efficient than the TSDB proposed in the scotty design doc. The key trick is that it separates sample values from metric indexing. This allows each 1k series block to contain only samples and timestamps, in a double-delta encoded compressed format. This reduces the per-sample space requirements to less than 1.1 bytes per sample (float64+uint64 epoch ms). There's a good talk on the design from PromCon last year: |
It would be nice if the various services exposed a Prometheus
/metrics
endpoint. This would allow for easy monitoring and alerting, especially useful for Kubernetes users, who very often use Prometheus.As the project is in Go, we have an efficient library for instrumenting code.
The text was updated successfully, but these errors were encountered: