{% import ( "github.com/VictoriaMetrics/VictoriaMetrics/lib/querytracer" "github.com/VictoriaMetrics/VictoriaMetrics/lib/storage" ) %} {% stripspace %} TSDBStatusResponse generates response for /api/v1/status/tsdb . {% func TSDBStatusResponse(isPartial bool, status *storage.TSDBStatus, qt *querytracer.Tracer) %} { "status":"success", "isPartial":{% if isPartial %}true{% else %}false{% endif %}, "data":{ "totalSeries": {%dul= status.TotalSeries %}, "totalLabelValuePairs": {%dul= status.TotalLabelValuePairs %}, "seriesCountByMetricName":{%= tsdbStatusEntries(status.SeriesCountByMetricName) %}, "seriesCountByLabelName":{%= tsdbStatusEntries(status.SeriesCountByLabelName) %}, "seriesCountByFocusLabelValue":{%= tsdbStatusEntries(status.SeriesCountByFocusLabelValue) %}, "seriesCountByLabelValuePair":{%= tsdbStatusEntries(status.SeriesCountByLabelValuePair) %}, "labelValueCountByLabelName":{%= tsdbStatusEntries(status.LabelValueCountByLabelName) %} } {% code qt.Done() %} {%= dumpQueryTrace(qt) %} } {% endfunc %} {% func tsdbStatusEntries(a []storage.TopHeapEntry) %} [ {% for i, e := range a %} { "name":{%q= e.Name %}, "value":{%d= int(e.Count) %} } {% if i+1 < len(a) %},{% endif %} {% endfor %} ] {% endfunc %} {% endstripspace %}