thanos-io / promql-engine

Multi-threaded PromQL engine implementation based on the Volcano paper.
Apache License 2.0
131 stars 52 forks source link

Implement Marshal and Unmarshal for logical plan. #432

Closed fpetkovski closed 3 months ago

fpetkovski commented 3 months ago

We would like to take advantage of features like projections and read only a subset of labels from store APIs when a query includes an aggregation.

In order to enable this, we need to be able to send the entire plan over the wire since PromQL has no concept of projections. This commit implements the json marshaler methods so that we can serialize the plan and send it in a query request.