mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2024-12-26 20:30:10 +01:00
9387793f47
- Expose stats.seriesFetched at `/api/v1/query_range` responses too for the sake of consistency. - Initialize QueryStats when it is needed and pass it to EvalConfig then. This guarantees that the QueryStats is properly collected when the query contains some subqueries.
157 lines
6.5 KiB
Go
157 lines
6.5 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"
|
|
"github.com/VictoriaMetrics/VictoriaMetrics/app/vmselect/promql"
|
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/querytracer"
|
|
)
|
|
|
|
// 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:10
|
|
import (
|
|
qtio422016 "io"
|
|
|
|
qt422016 "github.com/valyala/quicktemplate"
|
|
)
|
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:10
|
|
var (
|
|
_ = qtio422016.Copy
|
|
_ = qt422016.AcquireByteBuffer
|
|
)
|
|
|
|
//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
|
|
qw422016.N().S(`{`)
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:13
|
|
seriesCount := len(rs)
|
|
pointsCount := 0
|
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:15
|
|
qw422016.N().S(`"status":"success","isPartial":`)
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:17
|
|
if isPartial {
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:17
|
|
qw422016.N().S(`true`)
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:17
|
|
} else {
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:17
|
|
qw422016.N().S(`false`)
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:17
|
|
}
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:17
|
|
qw422016.N().S(`,"data":{"resultType":"matrix","result":[`)
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:21
|
|
if len(rs) > 0 {
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:22
|
|
streamqueryRangeLine(qw422016, &rs[0])
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:23
|
|
pointsCount += len(rs[0].Values)
|
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:24
|
|
rs = rs[1:]
|
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:25
|
|
for i := range rs {
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:25
|
|
qw422016.N().S(`,`)
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:26
|
|
streamqueryRangeLine(qw422016, &rs[i])
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:27
|
|
pointsCount += len(rs[i].Values)
|
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:28
|
|
}
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:29
|
|
}
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:29
|
|
qw422016.N().S(`]},"stats":{"seriesFetched": "`)
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:33
|
|
qw422016.N().D(qs.SeriesFetched)
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:33
|
|
qw422016.N().S(`"}`)
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:36
|
|
qt.Printf("generate /api/v1/query_range response for series=%d, points=%d", seriesCount, pointsCount)
|
|
qtDone()
|
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:39
|
|
streamdumpQueryTrace(qw422016, qt)
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:39
|
|
qw422016.N().S(`}`)
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:41
|
|
}
|
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:41
|
|
func WriteQueryRangeResponse(qq422016 qtio422016.Writer, isPartial bool, rs []netstorage.Result, qt *querytracer.Tracer, qtDone func(), qs *promql.QueryStats) {
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:41
|
|
qw422016 := qt422016.AcquireWriter(qq422016)
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:41
|
|
StreamQueryRangeResponse(qw422016, isPartial, rs, qt, qtDone, qs)
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:41
|
|
qt422016.ReleaseWriter(qw422016)
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:41
|
|
}
|
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:41
|
|
func QueryRangeResponse(isPartial bool, rs []netstorage.Result, qt *querytracer.Tracer, qtDone func(), qs *promql.QueryStats) string {
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:41
|
|
qb422016 := qt422016.AcquireByteBuffer()
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:41
|
|
WriteQueryRangeResponse(qb422016, isPartial, rs, qt, qtDone, qs)
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:41
|
|
qs422016 := string(qb422016.B)
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:41
|
|
qt422016.ReleaseByteBuffer(qb422016)
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:41
|
|
return qs422016
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:41
|
|
}
|
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:43
|
|
func streamqueryRangeLine(qw422016 *qt422016.Writer, r *netstorage.Result) {
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:43
|
|
qw422016.N().S(`{"metric":`)
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:45
|
|
streammetricNameObject(qw422016, &r.MetricName)
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:45
|
|
qw422016.N().S(`,"values":`)
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:46
|
|
streamvaluesWithTimestamps(qw422016, r.Values, r.Timestamps)
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:46
|
|
qw422016.N().S(`}`)
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:48
|
|
}
|
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:48
|
|
func writequeryRangeLine(qq422016 qtio422016.Writer, r *netstorage.Result) {
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:48
|
|
qw422016 := qt422016.AcquireWriter(qq422016)
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:48
|
|
streamqueryRangeLine(qw422016, r)
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:48
|
|
qt422016.ReleaseWriter(qw422016)
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:48
|
|
}
|
|
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:48
|
|
func queryRangeLine(r *netstorage.Result) string {
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:48
|
|
qb422016 := qt422016.AcquireByteBuffer()
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:48
|
|
writequeryRangeLine(qb422016, r)
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:48
|
|
qs422016 := string(qb422016.B)
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:48
|
|
qt422016.ReleaseByteBuffer(qb422016)
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:48
|
|
return qs422016
|
|
//line app/vmselect/prometheus/query_range_response.qtpl:48
|
|
}
|