{% import ( "github.com/VictoriaMetrics/VictoriaMetrics/lib/logstorage" ) %} {% stripspace %} // JSONRow creates JSON row from the given fields. {% func JSONRow(columns []logstorage.BlockColumn, rowIdx int) %} {% code i := 0 for i < len(columns) && columns[i].Values[rowIdx] == "" { i++ } columns = columns[i:] %} {% if len(columns) == 0 %} {% return %} {% endif %} { {% code c := &columns[0] %} {%q= c.Name %}:{%q= c.Values[rowIdx] %} {% code columns = columns[1:] %} {% for colIdx := range columns %} {% code c := &columns[colIdx] v := c.Values[rowIdx] %} {% if v == "" %} {% continue %} {% endif %} ,{%q= c.Name %}:{%q= c.Values[rowIdx] %} {% endfor %} }{% newline %} {% endfunc %} // JSONRows prints formatted rows {% func JSONRows(rows [][]logstorage.Field) %} {% if len(rows) == 0 %} {% return %} {% endif %} {% for _, fields := range rows %} {% code fields = logstorage.SkipLeadingFieldsWithoutValues(fields) %} {% if len(fields) == 0 %} {% continue %} {% endif %} { {% if len(fields) > 0 %} {% code f := fields[0] fields = fields[1:] %} {%q= f.Name %}:{%q= f.Value %} {% for _, f := range fields %} {% if f.Value == "" %} {% continue %} {% endif %} ,{%q= f.Name %}:{%q= f.Value %} {% endfor %} {% endif %} }{% newline %} {% endfor %} {% endfunc %} {% endstripspace %}