Skip to content

[meta] PROM-35 Remote Write (PRW2.0) Stability #16944

@bwplotka

Description

@bwplotka

Context

This is an umbrella issue collecting things we plan to implement for the stable Prometheus Remote Write 2.0 (PRW2.0) protocol and Prometheus implementation; also described by the PROM-35 proposal. Superseeds #1310 and #14360

Anyone is welcome to comment or DM me, @cstyan or @saswatamcode to add/update/remove things from this list!

Acceptance Criteria

This is issue will be closed when we will be able to mark PRW2.0 as stable and when we can start the official process of planned deprecation and switching the default PRW method to V2 instead of V1. That "stability", depends in general, on:

a) The acceptable state (functionality and performance) of the Prometheus receive and export (write) Remote Write 2 implementation.
b) Some adoption for (at least) receiving in the ecosystem, by systems like Cortex, Thanos, Mimir and/or vendors.

We expect close to zero production traffic use until (a) and (b). Majority of the traffic will also not switch until we mark the protocol stable, change the defaults or at least announce the v1 deprecation.

Tasks

List of tasks towards stability.

Protocol

  • Decide what to do with "Timestamp on exemplar is MUST" @cstyan
  • Decide on delta type improvement (specifically CT/ST per sample addition) @fionaliao @carrieedwards
  • NewRelic dev asked in the past what to do with the WriteResponse when the parsing is async. We might want to extend the protocol to cover this case (e.g. "Written" header with "N/A" value or so).
  • Finish proposal (remote write 2.0 - formal proposal #13887) @bwplotka

Prometheus Implementation

Best-effort small tech debt tasks, might worth to descope from 2.0:

Adoption / Documentation / Integrations

Other, general Remote Write work

In the past in #6333 we tried to capture general Remote Write implementation task. I don't think it makes sense to track those in a meta issue that has no specific milestone definition, other than complete a list of task; also the list is pretty old and out of date.

I went through #6333 items, triaged them (#8809, #6733, #6934, #7218, #8779) and ensured the relevant tasks are on GH under component/remote storage label.

Out of scope for this ticket/2.0

Metadata

Metadata

Assignees

Type

No type

Projects

Status

In progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions