-
Notifications
You must be signed in to change notification settings - Fork 10.3k
Structured Remote Write Protocol #10539
Description
Proposal
Use case. Why is this important?
Structured remote write, make each remote write self-contained. So that ingestors could be stateless.
OVERVIEW
Prometheus as de facto monitoring infrastructure is being widely used in industry. It scrapes data following OpenMetrics protocol and stores data in a storage - remote or local TSDB.
In current implementation of prometheus remote write, it leverages a straightforward data model: one write request contains a list of timeseries, or a list of metadata. In particular, per timeseries contains a list of samples. Those samples are time sorted double values.
For Gauge and Counter, that simple data model is sufficient. But when it comes to Histogram and Summary, things start to become complicated. For Histogram, Prometheus treats per configured buckets as one time series(one time series per configured quantile for Summary). That means if a histogram has 10 configured buckets, it might end up split into 12 different write requests.
this proposal is the design doc, contains the background and discussions around the topic.