diff --git a/README.md b/README.md index 4bba141..faccb21 100644 --- a/README.md +++ b/README.md @@ -170,13 +170,21 @@ To enable clustering, use the `cluster-enabled` flag, and provide a discovery me starts three gravel gateway instances, clustered such that they will forward requests between each other +### Pebbles + +Some times, for Gauges, you don't want to track just one of your values (the default for Gauges is "replace"). If we have, say, a new release that doubles the memory usage, then we probably want to know about that increase without it being pulled down by weeks of the previous version. For this usecase, the Gravel Gateway supports "pebbles". Pebbles are effectively a circular buffer of time based buckets. Each bucket represents a distinct timeslice, and tracks a pre-aggregated value inside that time slice. The final value for the metric is the same aggregation applied over each bucket. + +This means that we actually get an "aggregate of aggregates" out the other end, which does lose _some_ precision compared to storing all the raw data but in practice this hasn't affected us much. + +You can start a pebble using a clearmode in the form `