-
Notifications
You must be signed in to change notification settings - Fork 17
feat: Add prw2gcm binary #253
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
1bab242 to
8ab3894
Compare
118cdb1 to
76002a9
Compare
|
Thanks Bartek - what's your rationale specifically for not creating a dedicated |
| initialSeriesTsIndex = append(initialSeriesTsIndex, i) | ||
| } | ||
|
|
||
| // Go through samples. We have to do it over sample dimension, not series, given the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we just iterate over the series dimension and send each point in it's own CreateTimeSeries request?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would it be efficient enough for everyone to have batchLen = 1 always?
Just simplicity, similarly we don't have separate image for We can make it separate, no problem. Should we? If yes, should it be in prometheus-engine that already builds multiple images or here? I like having it here, because:
|
feat: switch to dimension based approach for bufferes samples Signed-off-by: bwplotka <bwplotka@gmail.com>
|
Those reasons seem compelling enough to me to keep it in this image :) |
|
Let's merge the initial state - we won't be mentioning this tool anywhere until it's ready. Thanks! |
Relates to b/425614387
This adds prw2gcm binary to our Prometheus fork image that forwards PRW 2.x requests as GCM v3 gRPC calls.
NOTE: nhcb and potential classic histogram support will be added in the next PRs.
Rationales
While initially we dismissed writing this proxy, given the potential OpenTelemetry Collector's PRW2.0 -> Otel data model -> GCM/OTLP flow recent (experimental) development... I decided to write it anyway 🙈 I put some limited time for it, but I wanted to answer some questions:
Turns our the conversion is straightforward for Prometheus use (single sample) and a little bit more involved with multiple samples, but still... manageable to write (with some e2e tests!) in ~8 SWE-h 🎉 Also spent some extra time trying to figure out how to pass freaking auth token from the HTTP header into gRPC call 🙈
Apart from learnings, I do think it's useful to maintain and even ship with our Prometheus fork image, because:
EDIT: See #255 for tests using prw2gcm.