2023-04-01 08:35:26 +02:00
|
|
|
// Code generated by qtc from "render_response.qtpl". DO NOT EDIT.
|
|
|
|
// See https://github.com/valyala/quicktemplate for details.
|
|
|
|
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:3
|
|
|
|
package graphite
|
|
|
|
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:3
|
|
|
|
import (
|
|
|
|
"math"
|
|
|
|
"sort"
|
|
|
|
)
|
|
|
|
|
|
|
|
// RenderJSONResponse generates response for /render?format=json .See https://graphite.readthedocs.io/en/stable/render_api.html#json
|
|
|
|
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:10
|
|
|
|
import (
|
|
|
|
qtio422016 "io"
|
|
|
|
|
|
|
|
qt422016 "github.com/valyala/quicktemplate"
|
|
|
|
)
|
|
|
|
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:10
|
|
|
|
var (
|
|
|
|
_ = qtio422016.Copy
|
|
|
|
_ = qt422016.AcquireByteBuffer
|
|
|
|
)
|
|
|
|
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:10
|
|
|
|
func StreamRenderJSONResponse(qw422016 *qt422016.Writer, nextSeries nextSeriesFunc, jsonp string) {
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:11
|
|
|
|
if jsonp != "" {
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:11
|
|
|
|
qw422016.N().S(jsonp)
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:11
|
|
|
|
qw422016.N().S(`(`)
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:11
|
|
|
|
}
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:12
|
|
|
|
ss, err := fetchAllSeries(nextSeries)
|
|
|
|
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:13
|
|
|
|
if err != nil {
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:13
|
|
|
|
qw422016.N().S(`{"error":`)
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:15
|
|
|
|
qw422016.N().Q(err.Error())
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:15
|
|
|
|
qw422016.N().S(`}`)
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:17
|
|
|
|
return
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:18
|
|
|
|
}
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:19
|
|
|
|
sort.Slice(ss, func(i, j int) bool { return ss[i].Name < ss[j].Name })
|
|
|
|
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:19
|
|
|
|
qw422016.N().S(`[`)
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:21
|
|
|
|
for i, s := range ss {
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:22
|
|
|
|
streamrenderSeriesJSON(qw422016, s)
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:23
|
|
|
|
if i+1 < len(ss) {
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:23
|
|
|
|
qw422016.N().S(`,`)
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:23
|
|
|
|
}
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:24
|
|
|
|
}
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:24
|
|
|
|
qw422016.N().S(`]`)
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:26
|
|
|
|
if jsonp != "" {
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:26
|
|
|
|
qw422016.N().S(`)`)
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:26
|
|
|
|
}
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:27
|
|
|
|
}
|
|
|
|
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:27
|
|
|
|
func WriteRenderJSONResponse(qq422016 qtio422016.Writer, nextSeries nextSeriesFunc, jsonp string) {
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:27
|
|
|
|
qw422016 := qt422016.AcquireWriter(qq422016)
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:27
|
|
|
|
StreamRenderJSONResponse(qw422016, nextSeries, jsonp)
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:27
|
|
|
|
qt422016.ReleaseWriter(qw422016)
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:27
|
|
|
|
}
|
|
|
|
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:27
|
|
|
|
func RenderJSONResponse(nextSeries nextSeriesFunc, jsonp string) string {
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:27
|
|
|
|
qb422016 := qt422016.AcquireByteBuffer()
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:27
|
|
|
|
WriteRenderJSONResponse(qb422016, nextSeries, jsonp)
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:27
|
|
|
|
qs422016 := string(qb422016.B)
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:27
|
|
|
|
qt422016.ReleaseByteBuffer(qb422016)
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:27
|
|
|
|
return qs422016
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:27
|
|
|
|
}
|
|
|
|
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:29
|
|
|
|
func streamrenderSeriesJSON(qw422016 *qt422016.Writer, s *series) {
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:29
|
|
|
|
qw422016.N().S(`{"target":`)
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:31
|
|
|
|
qw422016.N().Q(s.Name)
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:31
|
|
|
|
qw422016.N().S(`,"tags":{`)
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:34
|
|
|
|
tagKeys := make([]string, 0, len(s.Tags))
|
|
|
|
for k := range s.Tags {
|
|
|
|
tagKeys = append(tagKeys, k)
|
|
|
|
}
|
|
|
|
sort.Strings(tagKeys)
|
|
|
|
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:40
|
|
|
|
for i, k := range tagKeys {
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:41
|
|
|
|
v := s.Tags[k]
|
|
|
|
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:42
|
|
|
|
qw422016.N().Q(k)
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:42
|
|
|
|
qw422016.N().S(`:`)
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:42
|
|
|
|
qw422016.N().Q(v)
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:43
|
|
|
|
if i+1 < len(tagKeys) {
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:43
|
|
|
|
qw422016.N().S(`,`)
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:43
|
|
|
|
}
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:44
|
|
|
|
}
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:44
|
|
|
|
qw422016.N().S(`},"datapoints":[`)
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:47
|
|
|
|
timestamps := s.Timestamps
|
|
|
|
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:48
|
|
|
|
for i, v := range s.Values {
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:48
|
|
|
|
qw422016.N().S(`[`)
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:50
|
2023-09-15 19:23:59 +02:00
|
|
|
if math.IsNaN(v) || math.IsInf(v, 0) {
|
2023-04-01 08:35:26 +02:00
|
|
|
//line app/vmselect/graphite/render_response.qtpl:50
|
|
|
|
qw422016.N().S(`null`)
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:50
|
|
|
|
} else {
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:50
|
|
|
|
qw422016.N().F(v)
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:50
|
|
|
|
}
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:50
|
|
|
|
qw422016.N().S(`,`)
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:51
|
|
|
|
qw422016.N().DL(timestamps[i] / 1e3)
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:51
|
|
|
|
qw422016.N().S(`]`)
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:53
|
|
|
|
if i+1 < len(timestamps) {
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:53
|
|
|
|
qw422016.N().S(`,`)
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:53
|
|
|
|
}
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:54
|
|
|
|
}
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:54
|
|
|
|
qw422016.N().S(`]}`)
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:57
|
|
|
|
}
|
|
|
|
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:57
|
|
|
|
func writerenderSeriesJSON(qq422016 qtio422016.Writer, s *series) {
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:57
|
|
|
|
qw422016 := qt422016.AcquireWriter(qq422016)
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:57
|
|
|
|
streamrenderSeriesJSON(qw422016, s)
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:57
|
|
|
|
qt422016.ReleaseWriter(qw422016)
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:57
|
|
|
|
}
|
|
|
|
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:57
|
|
|
|
func renderSeriesJSON(s *series) string {
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:57
|
|
|
|
qb422016 := qt422016.AcquireByteBuffer()
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:57
|
|
|
|
writerenderSeriesJSON(qb422016, s)
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:57
|
|
|
|
qs422016 := string(qb422016.B)
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:57
|
|
|
|
qt422016.ReleaseByteBuffer(qb422016)
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:57
|
|
|
|
return qs422016
|
|
|
|
//line app/vmselect/graphite/render_response.qtpl:57
|
|
|
|
}
|