Giedrius Statkevičius
Giedrius Statkevičius
Thanks for your PR, we will discuss this topic a bit more with @PradyumnaKrishna @saswatamcode as this closely relates to our operator tracing project and come back to you.
We are working on exposing Explain() first through the Thanos UI so will come to your PR in a week or so, even if we won't merge this as-is it...
I was thinking maybe we could cover more cases in the fuzzer https://github.com/thanos-community/promql-engine/blob/main/engine/enginefuzz_test.go#L21 and we could remove simple cases from that testing function https://github.com/thanos-community/promql-engine/pull/142#pullrequestreview-1238495639.
Hmm, I wonder how it would work if we called `/api/v1/series` with the respective matchers and start/end set to the same timestamp. Does it mean that the `/api/v1/series` is broken...
Because apparently there are "storages" which return data that does not strictly match the given matchers :smile: however, I think it's probably such a rare use-case that we could enable...
Interesting... locally this fails but works on CI? :thinking: looking...
I was thinking a lot about this topic and I think the main problem at least in the Thanos space is that we do read-time deduplication instead of write-time deduplication....
All of these functions and structs can be joined into one and we can use them everywhere consistently. Please let me know if you have any specific questions.
> On second thought, couldnt this be implemented completely in thanos? As in "create context, add stuff during select, read out in api and add to analysis" kinda way? If...
We use Go 1.23.3 now so closing this