2019-05-22 21:16:55 +00:00
|
|
|
// Code generated by qtc from "query_response.qtpl". DO NOT EDIT.
|
|
|
|
// See https://github.com/valyala/quicktemplate for details.
|
|
|
|
|
|
|
|
//line app/vmselect/prometheus/query_response.qtpl:1
|
|
|
|
package prometheus
|
|
|
|
|
|
|
|
//line app/vmselect/prometheus/query_response.qtpl:1
|
|
|
|
import (
|
|
|
|
"github.com/VictoriaMetrics/VictoriaMetrics/app/vmselect/netstorage"
|
2022-05-31 23:29:19 +00:00
|
|
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/querytracer"
|
2019-05-22 21:16:55 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
// QueryResponse generates response for /api/v1/query.See https://prometheus.io/docs/prometheus/latest/querying/api/#instant-queries
|
|
|
|
|
2022-05-31 23:29:19 +00:00
|
|
|
//line app/vmselect/prometheus/query_response.qtpl:9
|
2019-05-22 21:16:55 +00:00
|
|
|
import (
|
|
|
|
qtio422016 "io"
|
|
|
|
|
|
|
|
qt422016 "github.com/valyala/quicktemplate"
|
|
|
|
)
|
|
|
|
|
2022-05-31 23:29:19 +00:00
|
|
|
//line app/vmselect/prometheus/query_response.qtpl:9
|
2019-05-22 21:16:55 +00:00
|
|
|
var (
|
|
|
|
_ = qtio422016.Copy
|
|
|
|
_ = qt422016.AcquireByteBuffer
|
|
|
|
)
|
|
|
|
|
2022-05-31 23:29:19 +00:00
|
|
|
//line app/vmselect/prometheus/query_response.qtpl:9
|
2023-03-27 15:51:33 +00:00
|
|
|
func StreamQueryResponse(qw422016 *qt422016.Writer, rs []netstorage.Result, qt *querytracer.Tracer, qtDone func(), seriesFetched int) {
|
2022-05-31 23:29:19 +00:00
|
|
|
//line app/vmselect/prometheus/query_response.qtpl:9
|
|
|
|
qw422016.N().S(`{`)
|
|
|
|
//line app/vmselect/prometheus/query_response.qtpl:11
|
|
|
|
seriesCount := len(rs)
|
|
|
|
|
|
|
|
//line app/vmselect/prometheus/query_response.qtpl:11
|
|
|
|
qw422016.N().S(`"status":"success","data":{"resultType":"vector","result":[`)
|
|
|
|
//line app/vmselect/prometheus/query_response.qtpl:16
|
2019-05-22 21:16:55 +00:00
|
|
|
if len(rs) > 0 {
|
|
|
|
//line app/vmselect/prometheus/query_response.qtpl:16
|
2022-05-31 23:29:19 +00:00
|
|
|
qw422016.N().S(`{"metric":`)
|
|
|
|
//line app/vmselect/prometheus/query_response.qtpl:18
|
2019-05-22 21:16:55 +00:00
|
|
|
streammetricNameObject(qw422016, &rs[0].MetricName)
|
2022-05-31 23:29:19 +00:00
|
|
|
//line app/vmselect/prometheus/query_response.qtpl:18
|
2019-05-22 21:16:55 +00:00
|
|
|
qw422016.N().S(`,"value":`)
|
2022-05-31 23:29:19 +00:00
|
|
|
//line app/vmselect/prometheus/query_response.qtpl:19
|
2019-05-22 21:16:55 +00:00
|
|
|
streammetricRow(qw422016, rs[0].Timestamps[0], rs[0].Values[0])
|
|
|
|
//line app/vmselect/prometheus/query_response.qtpl:19
|
2022-05-31 23:29:19 +00:00
|
|
|
qw422016.N().S(`}`)
|
|
|
|
//line app/vmselect/prometheus/query_response.qtpl:21
|
2019-05-22 21:16:55 +00:00
|
|
|
rs = rs[1:]
|
|
|
|
|
2022-05-31 23:29:19 +00:00
|
|
|
//line app/vmselect/prometheus/query_response.qtpl:22
|
2019-05-22 21:16:55 +00:00
|
|
|
for i := range rs {
|
2022-05-31 23:29:19 +00:00
|
|
|
//line app/vmselect/prometheus/query_response.qtpl:23
|
2019-05-22 21:16:55 +00:00
|
|
|
r := &rs[i]
|
|
|
|
|
|
|
|
//line app/vmselect/prometheus/query_response.qtpl:23
|
2022-05-31 23:29:19 +00:00
|
|
|
qw422016.N().S(`,{"metric":`)
|
|
|
|
//line app/vmselect/prometheus/query_response.qtpl:25
|
2019-05-22 21:16:55 +00:00
|
|
|
streammetricNameObject(qw422016, &r.MetricName)
|
2022-05-31 23:29:19 +00:00
|
|
|
//line app/vmselect/prometheus/query_response.qtpl:25
|
2019-05-22 21:16:55 +00:00
|
|
|
qw422016.N().S(`,"value":`)
|
2022-05-31 23:29:19 +00:00
|
|
|
//line app/vmselect/prometheus/query_response.qtpl:26
|
2019-05-22 21:16:55 +00:00
|
|
|
streammetricRow(qw422016, r.Timestamps[0], r.Values[0])
|
|
|
|
//line app/vmselect/prometheus/query_response.qtpl:26
|
2022-05-31 23:29:19 +00:00
|
|
|
qw422016.N().S(`}`)
|
|
|
|
//line app/vmselect/prometheus/query_response.qtpl:28
|
2019-05-22 21:16:55 +00:00
|
|
|
}
|
2022-05-31 23:29:19 +00:00
|
|
|
//line app/vmselect/prometheus/query_response.qtpl:29
|
2019-05-22 21:16:55 +00:00
|
|
|
}
|
2022-05-31 23:29:19 +00:00
|
|
|
//line app/vmselect/prometheus/query_response.qtpl:29
|
2023-03-27 15:51:33 +00:00
|
|
|
qw422016.N().S(`]},"stats":{"seriesFetched": "`)
|
2022-05-31 23:29:19 +00:00
|
|
|
//line app/vmselect/prometheus/query_response.qtpl:33
|
2023-03-27 15:51:33 +00:00
|
|
|
qw422016.N().D(seriesFetched)
|
|
|
|
//line app/vmselect/prometheus/query_response.qtpl:33
|
|
|
|
qw422016.N().S(`"}`)
|
|
|
|
//line app/vmselect/prometheus/query_response.qtpl:36
|
2022-05-31 23:29:19 +00:00
|
|
|
qt.Printf("generate /api/v1/query response for series=%d", seriesCount)
|
|
|
|
qtDone()
|
|
|
|
|
2023-03-27 15:51:33 +00:00
|
|
|
//line app/vmselect/prometheus/query_response.qtpl:39
|
2022-05-31 23:29:19 +00:00
|
|
|
streamdumpQueryTrace(qw422016, qt)
|
2023-03-27 15:51:33 +00:00
|
|
|
//line app/vmselect/prometheus/query_response.qtpl:39
|
2022-05-31 23:29:19 +00:00
|
|
|
qw422016.N().S(`}`)
|
2023-03-27 15:51:33 +00:00
|
|
|
//line app/vmselect/prometheus/query_response.qtpl:41
|
2019-05-22 21:16:55 +00:00
|
|
|
}
|
|
|
|
|
2023-03-27 15:51:33 +00:00
|
|
|
//line app/vmselect/prometheus/query_response.qtpl:41
|
|
|
|
func WriteQueryResponse(qq422016 qtio422016.Writer, rs []netstorage.Result, qt *querytracer.Tracer, qtDone func(), seriesFetched int) {
|
|
|
|
//line app/vmselect/prometheus/query_response.qtpl:41
|
2019-05-22 21:16:55 +00:00
|
|
|
qw422016 := qt422016.AcquireWriter(qq422016)
|
2023-03-27 15:51:33 +00:00
|
|
|
//line app/vmselect/prometheus/query_response.qtpl:41
|
|
|
|
StreamQueryResponse(qw422016, rs, qt, qtDone, seriesFetched)
|
|
|
|
//line app/vmselect/prometheus/query_response.qtpl:41
|
2019-05-22 21:16:55 +00:00
|
|
|
qt422016.ReleaseWriter(qw422016)
|
2023-03-27 15:51:33 +00:00
|
|
|
//line app/vmselect/prometheus/query_response.qtpl:41
|
2019-05-22 21:16:55 +00:00
|
|
|
}
|
|
|
|
|
2023-03-27 15:51:33 +00:00
|
|
|
//line app/vmselect/prometheus/query_response.qtpl:41
|
|
|
|
func QueryResponse(rs []netstorage.Result, qt *querytracer.Tracer, qtDone func(), seriesFetched int) string {
|
|
|
|
//line app/vmselect/prometheus/query_response.qtpl:41
|
2019-05-22 21:16:55 +00:00
|
|
|
qb422016 := qt422016.AcquireByteBuffer()
|
2023-03-27 15:51:33 +00:00
|
|
|
//line app/vmselect/prometheus/query_response.qtpl:41
|
|
|
|
WriteQueryResponse(qb422016, rs, qt, qtDone, seriesFetched)
|
|
|
|
//line app/vmselect/prometheus/query_response.qtpl:41
|
2019-05-22 21:16:55 +00:00
|
|
|
qs422016 := string(qb422016.B)
|
2023-03-27 15:51:33 +00:00
|
|
|
//line app/vmselect/prometheus/query_response.qtpl:41
|
2019-05-22 21:16:55 +00:00
|
|
|
qt422016.ReleaseByteBuffer(qb422016)
|
2023-03-27 15:51:33 +00:00
|
|
|
//line app/vmselect/prometheus/query_response.qtpl:41
|
2019-05-22 21:16:55 +00:00
|
|
|
return qs422016
|
2023-03-27 15:51:33 +00:00
|
|
|
//line app/vmselect/prometheus/query_response.qtpl:41
|
2019-05-22 21:16:55 +00:00
|
|
|
}
|