Skip to content

Structured Remote Write Protocol #10539

@andysim3d

Description

@andysim3d

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions