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:
Metadata
Metadata
Assignees
Labels
No labels