VictoriaMetrics/app/vmselect/prometheus/query_range_response.qtpl.go
Aliaksandr Valialkin 2ac5f00d98 app/vmselect: propagate errors from vmstorage to response to the client if -search.denyPartialResponse command-line flag is set
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/891

This commit also adds `"isPartial":{true|false}` field to `/api/v1/*` responses. `"isPartial":true` is set when the response
is based on a partial data because some of vmstorage nodes weren't available during query processing.
2020-11-14 13:20:10 +02:00

130 lines
5.2 KiB
Go

// Code generated by qtc from "query_range_response.qtpl". DO NOT EDIT.
// See https://github.com/valyala/quicktemplate for details.
//line app/vmselect/prometheus/query_range_response.qtpl:1
package prometheus
//line app/vmselect/prometheus/query_range_response.qtpl:1
import (
"github.com/VictoriaMetrics/VictoriaMetrics/app/vmselect/netstorage"
)
// QueryRangeResponse generates response for /api/v1/query_range.See https://prometheus.io/docs/prometheus/latest/querying/api/#range-queries
//line app/vmselect/prometheus/query_range_response.qtpl:8
import (
qtio422016 "io"
qt422016 "github.com/valyala/quicktemplate"
)
//line app/vmselect/prometheus/query_range_response.qtpl:8
var (
_ = qtio422016.Copy
_ = qt422016.AcquireByteBuffer
)
//line app/vmselect/prometheus/query_range_response.qtpl:8
func StreamQueryRangeResponse(qw422016 *qt422016.Writer, isPartial bool, rs []netstorage.Result) {
//line app/vmselect/prometheus/query_range_response.qtpl:8
qw422016.N().S(`{"status":"success","isPartial":`)
//line app/vmselect/prometheus/query_range_response.qtpl:11
if isPartial {
//line app/vmselect/prometheus/query_range_response.qtpl:11
qw422016.N().S(`true`)
//line app/vmselect/prometheus/query_range_response.qtpl:11
} else {
//line app/vmselect/prometheus/query_range_response.qtpl:11
qw422016.N().S(`false`)
//line app/vmselect/prometheus/query_range_response.qtpl:11
}
//line app/vmselect/prometheus/query_range_response.qtpl:11
qw422016.N().S(`,"data":{"resultType":"matrix","result":[`)
//line app/vmselect/prometheus/query_range_response.qtpl:15
if len(rs) > 0 {
//line app/vmselect/prometheus/query_range_response.qtpl:16
streamqueryRangeLine(qw422016, &rs[0])
//line app/vmselect/prometheus/query_range_response.qtpl:17
rs = rs[1:]
//line app/vmselect/prometheus/query_range_response.qtpl:18
for i := range rs {
//line app/vmselect/prometheus/query_range_response.qtpl:18
qw422016.N().S(`,`)
//line app/vmselect/prometheus/query_range_response.qtpl:19
streamqueryRangeLine(qw422016, &rs[i])
//line app/vmselect/prometheus/query_range_response.qtpl:20
}
//line app/vmselect/prometheus/query_range_response.qtpl:21
}
//line app/vmselect/prometheus/query_range_response.qtpl:21
qw422016.N().S(`]}}`)
//line app/vmselect/prometheus/query_range_response.qtpl:25
}
//line app/vmselect/prometheus/query_range_response.qtpl:25
func WriteQueryRangeResponse(qq422016 qtio422016.Writer, isPartial bool, rs []netstorage.Result) {
//line app/vmselect/prometheus/query_range_response.qtpl:25
qw422016 := qt422016.AcquireWriter(qq422016)
//line app/vmselect/prometheus/query_range_response.qtpl:25
StreamQueryRangeResponse(qw422016, isPartial, rs)
//line app/vmselect/prometheus/query_range_response.qtpl:25
qt422016.ReleaseWriter(qw422016)
//line app/vmselect/prometheus/query_range_response.qtpl:25
}
//line app/vmselect/prometheus/query_range_response.qtpl:25
func QueryRangeResponse(isPartial bool, rs []netstorage.Result) string {
//line app/vmselect/prometheus/query_range_response.qtpl:25
qb422016 := qt422016.AcquireByteBuffer()
//line app/vmselect/prometheus/query_range_response.qtpl:25
WriteQueryRangeResponse(qb422016, isPartial, rs)
//line app/vmselect/prometheus/query_range_response.qtpl:25
qs422016 := string(qb422016.B)
//line app/vmselect/prometheus/query_range_response.qtpl:25
qt422016.ReleaseByteBuffer(qb422016)
//line app/vmselect/prometheus/query_range_response.qtpl:25
return qs422016
//line app/vmselect/prometheus/query_range_response.qtpl:25
}
//line app/vmselect/prometheus/query_range_response.qtpl:27
func streamqueryRangeLine(qw422016 *qt422016.Writer, r *netstorage.Result) {
//line app/vmselect/prometheus/query_range_response.qtpl:27
qw422016.N().S(`{"metric":`)
//line app/vmselect/prometheus/query_range_response.qtpl:29
streammetricNameObject(qw422016, &r.MetricName)
//line app/vmselect/prometheus/query_range_response.qtpl:29
qw422016.N().S(`,"values":`)
//line app/vmselect/prometheus/query_range_response.qtpl:30
streamvaluesWithTimestamps(qw422016, r.Values, r.Timestamps)
//line app/vmselect/prometheus/query_range_response.qtpl:30
qw422016.N().S(`}`)
//line app/vmselect/prometheus/query_range_response.qtpl:32
}
//line app/vmselect/prometheus/query_range_response.qtpl:32
func writequeryRangeLine(qq422016 qtio422016.Writer, r *netstorage.Result) {
//line app/vmselect/prometheus/query_range_response.qtpl:32
qw422016 := qt422016.AcquireWriter(qq422016)
//line app/vmselect/prometheus/query_range_response.qtpl:32
streamqueryRangeLine(qw422016, r)
//line app/vmselect/prometheus/query_range_response.qtpl:32
qt422016.ReleaseWriter(qw422016)
//line app/vmselect/prometheus/query_range_response.qtpl:32
}
//line app/vmselect/prometheus/query_range_response.qtpl:32
func queryRangeLine(r *netstorage.Result) string {
//line app/vmselect/prometheus/query_range_response.qtpl:32
qb422016 := qt422016.AcquireByteBuffer()
//line app/vmselect/prometheus/query_range_response.qtpl:32
writequeryRangeLine(qb422016, r)
//line app/vmselect/prometheus/query_range_response.qtpl:32
qs422016 := string(qb422016.B)
//line app/vmselect/prometheus/query_range_response.qtpl:32
qt422016.ReleaseByteBuffer(qb422016)
//line app/vmselect/prometheus/query_range_response.qtpl:32
return qs422016
//line app/vmselect/prometheus/query_range_response.qtpl:32
}