syntax = "proto3"; package logcache.v1; import "google/api/annotations.proto"; option go_package = "code.cloudfoundry.org/go-log-cache/v3/rpc/logcache_v1"; service PromQLQuerier { rpc InstantQuery(PromQL.InstantQueryRequest) returns (PromQL.InstantQueryResult){ option (google.api.http) = { get: "/api/v1/query" }; } rpc RangeQuery(PromQL.RangeQueryRequest) returns (PromQL.RangeQueryResult){ option (google.api.http) = { get: "/api/v1/query_range" }; } } message PromQL { message InstantQueryRequest { string query = 1; string time = 2; } message RangeQueryRequest { string query = 1; string start = 2; string end = 3; string step = 4; } message InstantQueryResult { oneof Result { Scalar scalar = 1; Vector vector = 2; Matrix matrix = 3; } } message RangeQueryResult { oneof Result { Matrix matrix = 1; } } message Scalar { string time = 1; double value = 2; } message Vector { repeated Sample samples = 1; } message Point { string time = 1; double value = 2; } message Sample { map metric = 1; Point point = 2; } message Matrix { repeated Series series = 1; } message Series { map metric = 1; repeated Point points = 2; } }