VictoriaMetrics/app/vmselect/prometheus/series_response.qtpl

33 lines
999 B
Text
Raw Normal View History

2019-05-22 21:16:55 +00:00
{% import (
"github.com/VictoriaMetrics/VictoriaMetrics/lib/storage"
"github.com/VictoriaMetrics/VictoriaMetrics/lib/querytracer"
2019-05-22 21:16:55 +00:00
) %}
{% stripspace %}
SeriesResponse generates response for /api/v1/series.
See https://prometheus.io/docs/prometheus/latest/querying/api/#finding-series-by-label-matchers
{% func SeriesResponse(isPartial bool, metricNames []string, qt *querytracer.Tracer, qtDone func()) %}
2019-05-22 21:16:55 +00:00
{
"status":"success",
"isPartial":{% if isPartial %}true{% else %}false{% endif %},
2019-05-22 21:16:55 +00:00
"data":[
{% code var mn storage.MetricName %}
{% for i, metricName := range metricNames %}
{% code err := mn.UnmarshalString(metricName) %}
{% if err != nil %}
{%q= "cannot unmarshal metricName: " + err.Error() %}
{% else %}
{%= metricNameObject(&mn) %}
{% endif %}
{% if i+1 < len(metricNames) %},{% endif %}
{% endfor %}
2019-05-22 21:16:55 +00:00
]
{% code
qt.Printf("generate response: series=%d", len(metricNames))
qtDone()
%}
{%= dumpQueryTrace(qt) %}
2019-05-22 21:16:55 +00:00
}
{% endfunc %}
{% endstripspace %}