forked from scylladb/seastar
-
Notifications
You must be signed in to change notification settings - Fork 20
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This patch adds multiple functionality to Prometheus reporting: 1. Add summary reporting. Summaries are used in seastar to report aggregated percentile information (for example p95 and p99) The main usage is to report per-shard summary of a latency histograms. 2. Support aggregated metrics. With an aggregated metrics, Prometheus would aggregate multiple metrics based on labels and would report the result. Usually this would be for reporting a single latency histogram per node instead of per shard. But it could be used for counters and gauge as well. 3. Skip empty counters, histograms and summaries. It's a common practice to register lots of metrics even if they are not being used. Histograms have a huge effect on performance, so not reporting an empty histogram is a great performance boost both for the application and for the Prometheus server. This is true for Summaries and Counters as well, marking a metrics with skip_when_empty would mean Prometheus will not report those metrics. 4. As an optimization, the stringstream that is used per metric is reused and clear insted of recreated. Signed-off-by: Amnon Heiman <amnon@scylladb.com>
- Loading branch information
Showing
1 changed file
with
136 additions
and
37 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters