-
Notifications
You must be signed in to change notification settings - Fork 836
Closed
Description
Summary
metrics-rs is a general abstraction layer across different metrics solutions like statsd, prometheus, new-relic, etc.
However, a general abstraction have a bit additional cost above a raw proemtheus client:
In a pulling metrics model, the memory allocation is mostly fixed for a set of labels. However in a push model, sometimes we need a buffer to store the recent metrics temporarly, like:
metrics-rs/metrics#245 (comment)
Nowadays prometheus is the de facto standard in the metrics area, we can consider take a raw prometheus client without considering pushing metrics to others like statsd, it have some benefits:
- better performance: with proper metrics practise, the memory allocation of metrics should be O(1), no local buffered queue at all
- reducing the abstraction layers: we can reduce abstraction layer about metrics, to make the code path easier to understand.
- better coding standard: currently we have different metric practices among different modules, we can learn about the metrics practices in the prometheus community to unify our metrics practices.
We can choose between:
b41sh
Metadata
Metadata
Assignees
Labels
No labels