Skip to content

Conversation

bwplotka
Copy link
Member

@bwplotka bwplotka commented Jul 2, 2024

This is a merge of remote-write-2.0 feature branch (used copy so we can add extra commits for mergability).

From high level this adds support for Remote Write 2.0, as well metadata in WAL.

Kudos to all who contributed to this, mainly @cstyan @npazosmendez @alexgreenbank and @tpaschalis 🤗

Every commit was already reviewed (until and including @bwplotka Merge pull request #14347 from prometheus/rw20-histogram-helpers
f09c645).

npazosmendez and others added 30 commits November 8, 2023 11:21
* Remote Write e2e benchmarks

Signed-off-by: Nicolás Pazos <npazosmendez@gmail.com>

* Prometheus ports automatically assigned

Signed-off-by: Nicolás Pazos <npazosmendez@gmail.com>

* make dashboard editable + more modular to different job label values

Signed-off-by: Callum Styan <callumstyan@gmail.com>

* Dashboard improvements

* memory stats
* diffs look at counter increases

Signed-off-by: Nicolás Pazos <npazosmendez@gmail.com>

* run script: absolute path for config templates

Signed-off-by: Nicolás Pazos <npazosmendez@gmail.com>

* grafana dashboard improvements

* show actual values of metrics
* add memory stats and diff

Signed-off-by: Nicolás Pazos <npazosmendez@gmail.com>

* dashboard changes

Signed-off-by: Callum Styan <callumstyan@gmail.com>

---------

Signed-off-by: Nicolás Pazos <npazosmendez@gmail.com>
Signed-off-by: Callum Styan <callumstyan@gmail.com>
Co-authored-by: Callum Styan <callumstyan@gmail.com>
Signed-off-by: Callum Styan <callumstyan@gmail.com>
Signed-off-by: Nicolás Pazos <npazosmendez@gmail.com>
Signed-off-by: Callum Styan <callumstyan@gmail.com>
Signed-off-by: Nicolás Pazos <npazosmendez@gmail.com>
Signed-off-by: Callum Styan <callumstyan@gmail.com>
Signed-off-by: Nicolás Pazos <npazosmendez@gmail.com>
write request format

Signed-off-by: Callum Styan <callumstyan@gmail.com>
Signed-off-by: Nicolás Pazos <npazosmendez@gmail.com>
Signed-off-by: Callum Styan <callumstyan@gmail.com>
Signed-off-by: Nicolás Pazos <npazosmendez@gmail.com>
Signed-off-by: Callum Styan <callumstyan@gmail.com>
Signed-off-by: Nicolás Pazos <npazosmendez@gmail.com>
Signed-off-by: Callum Styan <callumstyan@gmail.com>
Signed-off-by: Nicolás Pazos <npazosmendez@gmail.com>
Signed-off-by: Nicolás Pazos <npazosmendez@gmail.com>
Signed-off-by: Nicolás Pazos <npazosmendez@gmail.com>
Signed-off-by: Nicolás Pazos <npazosmendez@gmail.com>
Signed-off-by: Nicolás Pazos <npazosmendez@gmail.com>
Signed-off-by: Nicolás Pazos <npazosmendez@gmail.com>
Signed-off-by: Nicolás Pazos <npazosmendez@gmail.com>
Signed-off-by: Nicolás Pazos <npazosmendez@gmail.com>
Signed-off-by: Nicolás Pazos <npazosmendez@gmail.com>
Signed-off-by: Nicolás Pazos <npazosmendez@gmail.com>
Signed-off-by: Nicolás Pazos <npazosmendez@gmail.com>
Signed-off-by: Nicolás Pazos <npazosmendez@gmail.com>
Signed-off-by: Nicolás Pazos <npazosmendez@gmail.com>
Signed-off-by: Nicolás Pazos <npazosmendez@gmail.com>
Signed-off-by: Nicolás Pazos <npazosmendez@gmail.com>
Signed-off-by: Nicolás Pazos <npazosmendez@gmail.com>
Signed-off-by: Nicolás Pazos <npazosmendez@gmail.com>
Signed-off-by: Nicolás Pazos <npazosmendez@gmail.com>
Signed-off-by: Nicolás Pazos <npazosmendez@gmail.com>
Signed-off-by: Nicolás Pazos <npazosmendez@gmail.com>
Signed-off-by: Nicolás Pazos <npazosmendez@gmail.com>
Signed-off-by: Nicolás Pazos <npazosmendez@gmail.com>
@bwplotka bwplotka marked this pull request as ready for review July 4, 2024 09:29
Signed-off-by: bwplotka <bwplotka@gmail.com>
@bwplotka bwplotka requested a review from cstyan July 4, 2024 12:15
cstyan added 3 commits July 4, 2024 09:16
Signed-off-by: Callum Styan <callumstyan@gmail.com>
Signed-off-by: Callum Styan <callumstyan@gmail.com>
Signed-off-by: Callum Styan <callumstyan@gmail.com>
@bwplotka
Copy link
Member Author

bwplotka commented Jul 4, 2024

This is good to merge from my perspective @cstyan @npazosmendez @alexgreenbank 🤗 🎉

@@ -3596,6 +3607,7 @@ write_relabel_configs:
[ send_exemplars: <boolean> | default = false ]
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yolo note: We might want to default true in 3.0

func TestDropOldTimeSeries(t *testing.T) {
size := 10
nSeries := 6
nSamples := config.DefaultQueueConfig.Capacity * size
samples, newSamples, series := createTimeseriesWithOldSamples(nSamples, nSeries)

c := NewTestWriteClient()
// TODO(alexg): test with new version
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO: Create issue?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bwplotka added 2 commits July 4, 2024 19:23
Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>
Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>
Copy link
Member

@cstyan cstyan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, we've reviewed this one to death. Merging, we can deal with follow ups.

@cstyan cstyan merged commit 9198952 into main Jul 4, 2024
@cstyan cstyan deleted the remote-write-2.0-main branch July 4, 2024 21:29
Copy link
Member

@bboreham bboreham left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to be clear whether remote-write v1 is deprecated now or in the future.

Personally I think it's dumb to have one option deprecated and one experimental.

# protobuf message to use when writing to the remote write endpoint.
#
# * The `prometheus.WriteRequest` represents the message introduced in Remote Write 1.0, which
# will be deprecated eventually.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it "deprecated eventually" or "deprecated" ?

protobuf_message: "io.prometheus.write.v2.Request"
```

or for deprecated Remote Write 1.0 message:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it "deprecated eventually" or "deprecated" ?

}

var (
// RemoteWriteProtoMsgV1 represents the deprecated `prometheus.WriteRequest` protobuf
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it "deprecated eventually" or "deprecated" ?

@cstyan
Copy link
Member

cstyan commented Jul 22, 2024

We need to be clear whether remote-write v1 is deprecated now or in the future.

Personally I think it's dumb to have one option deprecated and one experimental.

@bboreham currently it's deprecated eventually. We can change the wording.

I would hope that we can say 2.0 is stable and the default for prom3.0, and change the wording back, but not optimistic on that timeline given how busy those of us working on RW2.0 are. I've opened a PR to clarify the status here: #14499

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants