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 ([email protected]) 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] [email protected] -- 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/prometheus-developers/ZehYOmNqb7R%2BsNFb%40mail.rabenste.in.

