Skip to content

Commit e200c69

Browse files
authored
Merge pull request #2462 from prometheus/bwplotka/rw20
Added Remote-Write Specification 2.0.
2 parents 3388056 + 257d8fc commit e200c69

File tree

2 files changed

+454
-5
lines changed

2 files changed

+454
-5
lines changed

Diff for: content/docs/specs/remote_write_spec.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
---
2-
title: Prometheus Remote-Write
3-
sort_rank: 4
2+
title: Prometheus Remote-Write 1.0
3+
sort_rank: 5
44
---
55

66
# Prometheus Remote-Write Specification
7+
78
- Version: 1.0
89
- Status: Published
910
- Date: April 2023
@@ -19,8 +20,7 @@ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "S
1920

2021
The remote write protocol is designed to make it possible to reliably propagate samples in real-time from a sender to a receiver, without loss.
2122

22-
The remote write protocol is designed to make stateless implementations of the server possible; as such there are little-to-no inter-message references. As such the protocol is not considered "streaming." To achieve a streaming effect multiple messages should be sent over the same connection using e.g. HTTP/1.1 or HTTP/2. "Fancy" technologies such as gRPC were considered, but at the time were not widely adopted, and it was challenging to expose gRPC services to the internet behind load balancers such as an AWS EC2 ELB.
23-
23+
The Remote-Write protocol is designed to be stateless; there is strictly no inter-message communication. As such the protocol is not considered "streaming". To achieve a streaming effect multiple messages should be sent over the same connection using e.g. HTTP/1.1 or HTTP/2. "Fancy" technologies such as gRPC were considered, but at the time were not widely adopted, and it was challenging to expose gRPC services to the internet behind load balancers such as an AWS EC2 ELB.
2424

2525
The remote write protocol contains opportunities for batching, e.g. sending multiple samples for different series in a single request. It is not expected that multiple samples for the same series will be commonly sent in the same request, although there is support for this in the protocol.
2626

@@ -183,7 +183,7 @@ This section contains speculative plans that are not considered part of protocol
183183
## Related
184184
### Compatible Senders and Receivers
185185

186-
The spec is intended to describe how the following components interact:
186+
The spec is intended to describe how the following components interact (as of April 2023):
187187

188188
- [Prometheus](https://github.com/prometheus/prometheus/tree/master/storage/remote) (as both a "sender" and a "receiver")
189189
- [Avalanche](https://github.com/prometheus-community/avalanche) (as a "sender") - A Load Testing Tool Prometheus Metrics.

0 commit comments

Comments
 (0)