Disclaimer: I'm not the expert for remote-write/-read, and only do a
little with the protobuf stuff. But since you didn't get an answer
in a week, I'm trying now.

On 29.02.24 20:38, Clément Jean wrote:
> 
> I finally go around to do this and the unit tests seem to be passing. You 
> can find what I did here: 
> https://github.com/Clement-Jean/prometheus-move-to-proto.

Thank you. This looks very unconventional with separate patch
files. Wouldn't it be more straight forward to just fork
prometheus/prometheus and work in the normal git style in that fork?

> I still have few questions:
> - For the benchmarking, should I try running the benchmark on the current 
> version of prometheus and then run it on my version, or is there a better 
> way to do this?

That sounds like the way to go.

> - Is `make bench_tsdb` enough or should I run other benchmarks?

`make bench_tsdb` is a rather special benchmark for certain TSDB
aspects. I doubt it touches protobuf at all.

We usually use the benchmarking framework as built into the Go
toolchain, i.e. you run `go test -bench NameOfBenchmarkToRun`, usually
also using the `-benchmem` flag to see memary allocation stats.

Bryan referred to
https://github.com/prometheus/prometheus/blob/122f9506e9c6/storage/remote/queue_manager_test.go#L872
previously. You would run that benchmark in the storage/remote
directory by typing `go test -bench BenchmarkSampleSend -benchmem`

> - For forward/backward compat, I'm not sure how I should go about it. Could 
> you clarify a little bit?

It's important that the protobuf messages on the wire are still
encodable and decodable by older and newer versions of the code. So I
believe what Brian was referring to is that you set up a Prometheus
server with and without your changes and let them send remote write
and remote read to each other.

In different news: On this same mailing list, somebody else
(mircodezo...@gmail.com) is also working on the same topic, see thread
titled "Migrating away from github.com/gogo/protobuf". They have run a
bunch of benchmarks already, and their approach to replace
gogo-protobuf has run into some issues. I suggest you two join forces
and exchange your experiences. If you want a chat-like medium to
discuss things, you should know that most of the dev conversation
happens on the CNCF Slack these days (channel #prometheus-dev). (There
is also a #prometheus-dev on IRC, but I'm afraid Slack has
successfully sucked most devs into its black hole.)

Hope that helps a bit.
-- 
Björn Rabenstein
[PGP-ID] 0x851C3DA17D748D03
[email] bjo...@rabenste.in

-- 
You received this message because you are subscribed to the Google Groups 
"Prometheus Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to prometheus-developers+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/prometheus-developers/ZehYOmNqb7R%2BsNFb%40mail.rabenste.in.

Reply via email to