2019-05-22 23:16:55 +02:00
|
|
|
// 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"
|
2023-03-28 00:11:40 +02:00
|
|
|
"github.com/VictoriaMetrics/VictoriaMetrics/app/vmselect/promql"
|
2022-06-01 01:31:40 +02:00
|
|
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/querytracer"
|
2019-05-22 23:16:55 +02:00
|
|
|
)
|
|
|
|
|
|
|
|
// QueryRangeResponse generates response for /api/v1/query_range.See https://prometheus.io/docs/prometheus/latest/querying/api/#range-queries
|
|
|
|
|
2023-03-28 00:11:40 +02:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:10
|
2019-05-22 23:16:55 +02:00
|
|
|
import (
|
|
|
|
qtio422016 "io"
|
|
|
|
|
|
|
|
qt422016 "github.com/valyala/quicktemplate"
|
|
|
|
)
|
|
|
|
|
2023-03-28 00:11:40 +02:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:10
|
2019-05-22 23:16:55 +02:00
|
|
|
var (
|
|
|
|
_ = qtio422016.Copy
|
|
|
|
_ = qt422016.AcquireByteBuffer
|
|
|
|
)
|
|
|
|
|
2023-03-28 00:11:40 +02:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:10
|
|
|
|
func StreamQueryRangeResponse(qw422016 *qt422016.Writer, isPartial bool, rs []netstorage.Result, qt *querytracer.Tracer, qtDone func(), qs *promql.QueryStats) {
|
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:10
|
2022-06-01 01:31:40 +02:00
|
|
|
qw422016.N().S(`{`)
|
2023-03-28 00:11:40 +02:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:13
|
2022-06-01 01:31:40 +02:00
|
|
|
seriesCount := len(rs)
|
|
|
|
pointsCount := 0
|
|
|
|
|
2023-03-28 00:11:40 +02:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:15
|
2022-06-01 01:31:40 +02:00
|
|
|
qw422016.N().S(`"status":"success","isPartial":`)
|
2023-03-28 00:11:40 +02:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:17
|
2020-11-14 11:36:21 +01:00
|
|
|
if isPartial {
|
2023-03-28 00:11:40 +02:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:17
|
2020-11-14 11:36:21 +01:00
|
|
|
qw422016.N().S(`true`)
|
2023-03-28 00:11:40 +02:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:17
|
2020-11-14 11:36:21 +01:00
|
|
|
} else {
|
2023-03-28 00:11:40 +02:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:17
|
2020-11-14 11:36:21 +01:00
|
|
|
qw422016.N().S(`false`)
|
2023-03-28 00:11:40 +02:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:17
|
2020-11-14 11:36:21 +01:00
|
|
|
}
|
2023-03-28 00:11:40 +02:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:17
|
2020-11-14 11:36:21 +01:00
|
|
|
qw422016.N().S(`,"data":{"resultType":"matrix","result":[`)
|
2022-06-01 01:31:40 +02:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:21
|
2023-03-28 00:11:40 +02:00
|
|
|
if len(rs) > 0 {
|
2022-06-01 01:31:40 +02:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:22
|
2023-03-28 00:11:40 +02:00
|
|
|
streamqueryRangeLine(qw422016, &rs[0])
|
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:23
|
2022-06-01 01:31:40 +02:00
|
|
|
pointsCount += len(rs[0].Values)
|
|
|
|
|
2023-03-28 00:11:40 +02:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:24
|
2019-05-22 23:16:55 +02:00
|
|
|
rs = rs[1:]
|
|
|
|
|
2023-03-28 00:11:40 +02:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:25
|
2019-05-22 23:16:55 +02:00
|
|
|
for i := range rs {
|
2022-06-01 01:31:40 +02:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:25
|
2023-03-28 00:11:40 +02:00
|
|
|
qw422016.N().S(`,`)
|
2022-06-01 01:31:40 +02:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:26
|
2023-03-28 00:11:40 +02:00
|
|
|
streamqueryRangeLine(qw422016, &rs[i])
|
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:27
|
2022-06-01 01:31:40 +02:00
|
|
|
pointsCount += len(rs[i].Values)
|
|
|
|
|
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:28
|
2023-03-28 00:11:40 +02:00
|
|
|
}
|
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:29
|
2019-05-22 23:16:55 +02:00
|
|
|
}
|
2023-03-28 00:11:40 +02:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:29
|
2023-11-01 17:52:56 +01:00
|
|
|
qw422016.N().S(`]},"stats":{`)
|
2023-11-01 16:42:51 +01:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:34
|
2023-11-01 17:52:56 +01:00
|
|
|
// seriesFetched is string instead of int because of historical reasons.
|
|
|
|
// It cannot be converted to int without breaking backwards compatibility at vmalert :(
|
|
|
|
|
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:36
|
|
|
|
qw422016.N().S(`"seriesFetched": "`)
|
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:37
|
2024-02-24 01:44:19 +01:00
|
|
|
qw422016.N().DL(qs.SeriesFetched.Load())
|
2023-11-01 17:52:56 +01:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:37
|
|
|
|
qw422016.N().S(`","executionTimeMsec":`)
|
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:38
|
2024-02-24 01:44:19 +01:00
|
|
|
qw422016.N().DL(qs.ExecutionTimeMsec.Load())
|
2023-11-01 17:52:56 +01:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:38
|
2023-11-01 16:42:51 +01:00
|
|
|
qw422016.N().S(`}`)
|
2023-11-01 17:52:56 +01:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:41
|
2022-06-01 01:31:40 +02:00
|
|
|
qt.Printf("generate /api/v1/query_range response for series=%d, points=%d", seriesCount, pointsCount)
|
|
|
|
qtDone()
|
|
|
|
|
2023-11-01 17:52:56 +01:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:44
|
2022-06-01 01:31:40 +02:00
|
|
|
streamdumpQueryTrace(qw422016, qt)
|
2023-11-01 17:52:56 +01:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:44
|
2022-06-01 01:31:40 +02:00
|
|
|
qw422016.N().S(`}`)
|
2023-11-01 17:52:56 +01:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:46
|
2019-05-22 23:16:55 +02:00
|
|
|
}
|
|
|
|
|
2023-11-01 17:52:56 +01:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:46
|
2023-03-28 00:11:40 +02:00
|
|
|
func WriteQueryRangeResponse(qq422016 qtio422016.Writer, isPartial bool, rs []netstorage.Result, qt *querytracer.Tracer, qtDone func(), qs *promql.QueryStats) {
|
2023-11-01 17:52:56 +01:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:46
|
2019-05-22 23:16:55 +02:00
|
|
|
qw422016 := qt422016.AcquireWriter(qq422016)
|
2023-11-01 17:52:56 +01:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:46
|
2023-03-28 00:11:40 +02:00
|
|
|
StreamQueryRangeResponse(qw422016, isPartial, rs, qt, qtDone, qs)
|
2023-11-01 17:52:56 +01:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:46
|
2019-05-22 23:16:55 +02:00
|
|
|
qt422016.ReleaseWriter(qw422016)
|
2023-11-01 17:52:56 +01:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:46
|
2019-05-22 23:16:55 +02:00
|
|
|
}
|
|
|
|
|
2023-11-01 17:52:56 +01:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:46
|
2023-03-28 00:11:40 +02:00
|
|
|
func QueryRangeResponse(isPartial bool, rs []netstorage.Result, qt *querytracer.Tracer, qtDone func(), qs *promql.QueryStats) string {
|
2023-11-01 17:52:56 +01:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:46
|
2019-05-22 23:16:55 +02:00
|
|
|
qb422016 := qt422016.AcquireByteBuffer()
|
2023-11-01 17:52:56 +01:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:46
|
2023-03-28 00:11:40 +02:00
|
|
|
WriteQueryRangeResponse(qb422016, isPartial, rs, qt, qtDone, qs)
|
2023-11-01 17:52:56 +01:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:46
|
2019-05-22 23:16:55 +02:00
|
|
|
qs422016 := string(qb422016.B)
|
2023-11-01 17:52:56 +01:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:46
|
2019-05-22 23:16:55 +02:00
|
|
|
qt422016.ReleaseByteBuffer(qb422016)
|
2023-11-01 17:52:56 +01:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:46
|
2019-05-22 23:16:55 +02:00
|
|
|
return qs422016
|
2023-11-01 17:52:56 +01:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:46
|
2019-05-22 23:16:55 +02:00
|
|
|
}
|
|
|
|
|
2023-11-01 17:52:56 +01:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:48
|
2019-05-22 23:16:55 +02:00
|
|
|
func streamqueryRangeLine(qw422016 *qt422016.Writer, r *netstorage.Result) {
|
2023-11-01 17:52:56 +01:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:48
|
2019-05-22 23:16:55 +02:00
|
|
|
qw422016.N().S(`{"metric":`)
|
2023-11-01 17:52:56 +01:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:50
|
2019-05-22 23:16:55 +02:00
|
|
|
streammetricNameObject(qw422016, &r.MetricName)
|
2023-11-01 17:52:56 +01:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:50
|
2023-11-01 16:42:51 +01:00
|
|
|
qw422016.N().S(`,"values":`)
|
2023-11-01 17:52:56 +01:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:51
|
2019-05-22 23:16:55 +02:00
|
|
|
streamvaluesWithTimestamps(qw422016, r.Values, r.Timestamps)
|
2023-11-01 17:52:56 +01:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:51
|
2019-05-22 23:16:55 +02:00
|
|
|
qw422016.N().S(`}`)
|
2023-11-01 17:52:56 +01:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:53
|
2019-05-22 23:16:55 +02:00
|
|
|
}
|
|
|
|
|
2023-11-01 17:52:56 +01:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:53
|
2019-05-22 23:16:55 +02:00
|
|
|
func writequeryRangeLine(qq422016 qtio422016.Writer, r *netstorage.Result) {
|
2023-11-01 17:52:56 +01:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:53
|
2019-05-22 23:16:55 +02:00
|
|
|
qw422016 := qt422016.AcquireWriter(qq422016)
|
2023-11-01 17:52:56 +01:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:53
|
2019-05-22 23:16:55 +02:00
|
|
|
streamqueryRangeLine(qw422016, r)
|
2023-11-01 17:52:56 +01:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:53
|
2019-05-22 23:16:55 +02:00
|
|
|
qt422016.ReleaseWriter(qw422016)
|
2023-11-01 17:52:56 +01:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:53
|
2019-05-22 23:16:55 +02:00
|
|
|
}
|
|
|
|
|
2023-11-01 17:52:56 +01:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:53
|
2019-05-22 23:16:55 +02:00
|
|
|
func queryRangeLine(r *netstorage.Result) string {
|
2023-11-01 17:52:56 +01:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:53
|
2019-05-22 23:16:55 +02:00
|
|
|
qb422016 := qt422016.AcquireByteBuffer()
|
2023-11-01 17:52:56 +01:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:53
|
2019-05-22 23:16:55 +02:00
|
|
|
writequeryRangeLine(qb422016, r)
|
2023-11-01 17:52:56 +01:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:53
|
2019-05-22 23:16:55 +02:00
|
|
|
qs422016 := string(qb422016.B)
|
2023-11-01 17:52:56 +01:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:53
|
2019-05-22 23:16:55 +02:00
|
|
|
qt422016.ReleaseByteBuffer(qb422016)
|
2023-11-01 17:52:56 +01:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:53
|
2019-05-22 23:16:55 +02:00
|
|
|
return qs422016
|
2023-11-01 17:52:56 +01:00
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:53
|
2019-05-22 23:16:55 +02:00
|
|
|
}
|