fix empty response template (#617)

This commit is contained in:
faceair 2020-07-13 13:31:19 -05:00 committed by Aliaksandr Valialkin
parent b6a5c29549
commit bf39e67ade
2 changed files with 67 additions and 70 deletions

View File

@ -22,9 +22,7 @@
{% func valuesWithTimestamps(values []float64, timestamps []int64) %} {% func valuesWithTimestamps(values []float64, timestamps []int64) %}
[ [
{% if len(values) == 0 %} {% if len(values) > 0 %}
{% return %}
{% endif %}
{% code /* inline metricRow call here for the sake of performance optimization */ %} {% code /* inline metricRow call here for the sake of performance optimization */ %}
[{%f= float64(timestamps[0])/1e3 %},"{%f= values[0] %}"] [{%f= float64(timestamps[0])/1e3 %},"{%f= values[0] %}"]
{% code {% code
@ -41,6 +39,7 @@
,[{%f= float64(timestamps[i])/1e3 %},"{%f= v %}"] ,[{%f= float64(timestamps[i])/1e3 %},"{%f= v %}"]
{% endfor %} {% endfor %}
{% endif %} {% endif %}
{% endif %}
] ]
{% endfunc %} {% endfunc %}

View File

@ -136,80 +136,78 @@ func streamvaluesWithTimestamps(qw422016 *qt422016.Writer, values []float64, tim
//line app/vmselect/prometheus/util.qtpl:23 //line app/vmselect/prometheus/util.qtpl:23
qw422016.N().S(`[`) qw422016.N().S(`[`)
//line app/vmselect/prometheus/util.qtpl:25 //line app/vmselect/prometheus/util.qtpl:25
if len(values) == 0 { if len(values) > 0 {
//line app/vmselect/prometheus/util.qtpl:26 //line app/vmselect/prometheus/util.qtpl:26
return
//line app/vmselect/prometheus/util.qtpl:27
}
//line app/vmselect/prometheus/util.qtpl:28
/* inline metricRow call here for the sake of performance optimization */ /* inline metricRow call here for the sake of performance optimization */
//line app/vmselect/prometheus/util.qtpl:28 //line app/vmselect/prometheus/util.qtpl:26
qw422016.N().S(`[`) qw422016.N().S(`[`)
//line app/vmselect/prometheus/util.qtpl:29 //line app/vmselect/prometheus/util.qtpl:27
qw422016.N().F(float64(timestamps[0]) / 1e3) qw422016.N().F(float64(timestamps[0]) / 1e3)
//line app/vmselect/prometheus/util.qtpl:29 //line app/vmselect/prometheus/util.qtpl:27
qw422016.N().S(`,"`) qw422016.N().S(`,"`)
//line app/vmselect/prometheus/util.qtpl:29 //line app/vmselect/prometheus/util.qtpl:27
qw422016.N().F(values[0]) qw422016.N().F(values[0])
//line app/vmselect/prometheus/util.qtpl:29 //line app/vmselect/prometheus/util.qtpl:27
qw422016.N().S(`"]`) qw422016.N().S(`"]`)
//line app/vmselect/prometheus/util.qtpl:31 //line app/vmselect/prometheus/util.qtpl:29
timestamps = timestamps[1:] timestamps = timestamps[1:]
values = values[1:] values = values[1:]
//line app/vmselect/prometheus/util.qtpl:34 //line app/vmselect/prometheus/util.qtpl:32
if len(values) > 0 { if len(values) > 0 {
//line app/vmselect/prometheus/util.qtpl:36 //line app/vmselect/prometheus/util.qtpl:34
// Remove bounds check inside the loop below // Remove bounds check inside the loop below
_ = timestamps[len(values)-1] _ = timestamps[len(values)-1]
//line app/vmselect/prometheus/util.qtpl:39 //line app/vmselect/prometheus/util.qtpl:37
for i, v := range values { for i, v := range values {
//line app/vmselect/prometheus/util.qtpl:40 //line app/vmselect/prometheus/util.qtpl:38
/* inline metricRow call here for the sake of performance optimization */ /* inline metricRow call here for the sake of performance optimization */
//line app/vmselect/prometheus/util.qtpl:40 //line app/vmselect/prometheus/util.qtpl:38
qw422016.N().S(`,[`) qw422016.N().S(`,[`)
//line app/vmselect/prometheus/util.qtpl:41 //line app/vmselect/prometheus/util.qtpl:39
qw422016.N().F(float64(timestamps[i]) / 1e3) qw422016.N().F(float64(timestamps[i]) / 1e3)
//line app/vmselect/prometheus/util.qtpl:41 //line app/vmselect/prometheus/util.qtpl:39
qw422016.N().S(`,"`) qw422016.N().S(`,"`)
//line app/vmselect/prometheus/util.qtpl:41 //line app/vmselect/prometheus/util.qtpl:39
qw422016.N().F(v) qw422016.N().F(v)
//line app/vmselect/prometheus/util.qtpl:41 //line app/vmselect/prometheus/util.qtpl:39
qw422016.N().S(`"]`) qw422016.N().S(`"]`)
//line app/vmselect/prometheus/util.qtpl:40
}
//line app/vmselect/prometheus/util.qtpl:41
}
//line app/vmselect/prometheus/util.qtpl:42 //line app/vmselect/prometheus/util.qtpl:42
} }
//line app/vmselect/prometheus/util.qtpl:43 //line app/vmselect/prometheus/util.qtpl:42
}
//line app/vmselect/prometheus/util.qtpl:43
qw422016.N().S(`]`) qw422016.N().S(`]`)
//line app/vmselect/prometheus/util.qtpl:45 //line app/vmselect/prometheus/util.qtpl:44
} }
//line app/vmselect/prometheus/util.qtpl:45 //line app/vmselect/prometheus/util.qtpl:44
func writevaluesWithTimestamps(qq422016 qtio422016.Writer, values []float64, timestamps []int64) { func writevaluesWithTimestamps(qq422016 qtio422016.Writer, values []float64, timestamps []int64) {
//line app/vmselect/prometheus/util.qtpl:45 //line app/vmselect/prometheus/util.qtpl:44
qw422016 := qt422016.AcquireWriter(qq422016) qw422016 := qt422016.AcquireWriter(qq422016)
//line app/vmselect/prometheus/util.qtpl:45 //line app/vmselect/prometheus/util.qtpl:44
streamvaluesWithTimestamps(qw422016, values, timestamps) streamvaluesWithTimestamps(qw422016, values, timestamps)
//line app/vmselect/prometheus/util.qtpl:45 //line app/vmselect/prometheus/util.qtpl:44
qt422016.ReleaseWriter(qw422016) qt422016.ReleaseWriter(qw422016)
//line app/vmselect/prometheus/util.qtpl:45 //line app/vmselect/prometheus/util.qtpl:44
} }
//line app/vmselect/prometheus/util.qtpl:45 //line app/vmselect/prometheus/util.qtpl:44
func valuesWithTimestamps(values []float64, timestamps []int64) string { func valuesWithTimestamps(values []float64, timestamps []int64) string {
//line app/vmselect/prometheus/util.qtpl:45 //line app/vmselect/prometheus/util.qtpl:44
qb422016 := qt422016.AcquireByteBuffer() qb422016 := qt422016.AcquireByteBuffer()
//line app/vmselect/prometheus/util.qtpl:45 //line app/vmselect/prometheus/util.qtpl:44
writevaluesWithTimestamps(qb422016, values, timestamps) writevaluesWithTimestamps(qb422016, values, timestamps)
//line app/vmselect/prometheus/util.qtpl:45 //line app/vmselect/prometheus/util.qtpl:44
qs422016 := string(qb422016.B) qs422016 := string(qb422016.B)
//line app/vmselect/prometheus/util.qtpl:45 //line app/vmselect/prometheus/util.qtpl:44
qt422016.ReleaseByteBuffer(qb422016) qt422016.ReleaseByteBuffer(qb422016)
//line app/vmselect/prometheus/util.qtpl:45 //line app/vmselect/prometheus/util.qtpl:44
return qs422016 return qs422016
//line app/vmselect/prometheus/util.qtpl:45 //line app/vmselect/prometheus/util.qtpl:44
} }