mirror of
https://github.com/grafana/grafana.git
synced 2024-11-28 03:34:15 -06:00
Loki: backend: use streaming JSON parser, try2 (#48752)
* converter: remove __name__ customization because Loki does not do that Loki does not handle __name__ in a special way. for Prometheus, the caller can implement the formatting by themselves * converter: change labels-formatting the labels.String() method does not handle strange values well * loki: backend: use streaming-json parser * more idiomatic code Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com> * simpler row-length check * simpler code * fixed converter/prom tests Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>
This commit is contained in:
parent
8ed3fb1f2d
commit
da74dba7c8
@ -10,8 +10,9 @@ import (
|
||||
"net/url"
|
||||
"strconv"
|
||||
|
||||
"github.com/grafana/grafana-plugin-sdk-go/data"
|
||||
"github.com/grafana/grafana/pkg/infra/log"
|
||||
"github.com/grafana/loki/pkg/loghttp"
|
||||
"github.com/grafana/grafana/pkg/util/converter"
|
||||
jsoniter "github.com/json-iterator/go"
|
||||
)
|
||||
|
||||
@ -137,7 +138,7 @@ func makeLokiError(body io.ReadCloser) error {
|
||||
return fmt.Errorf("%v", errorMessage)
|
||||
}
|
||||
|
||||
func (api *LokiAPI) DataQuery(ctx context.Context, query lokiQuery) (*loghttp.QueryResponse, error) {
|
||||
func (api *LokiAPI) DataQuery(ctx context.Context, query lokiQuery) (data.Frames, error) {
|
||||
req, err := makeDataRequest(ctx, api.url, query, api.oauthToken)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@ -158,13 +159,14 @@ func (api *LokiAPI) DataQuery(ctx context.Context, query lokiQuery) (*loghttp.Qu
|
||||
return nil, makeLokiError(resp.Body)
|
||||
}
|
||||
|
||||
var response loghttp.QueryResponse
|
||||
err = jsoniter.NewDecoder(resp.Body).Decode(&response)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
iter := jsoniter.Parse(jsoniter.ConfigDefault, resp.Body, 1024)
|
||||
res := converter.ReadPrometheusStyleResult(iter)
|
||||
|
||||
if res.Error != nil {
|
||||
return nil, res.Error
|
||||
}
|
||||
|
||||
return &response, nil
|
||||
return res.Frames, nil
|
||||
}
|
||||
|
||||
func makeRawRequest(ctx context.Context, lokiDsUrl string, resourceURL string, oauthToken string) (*http.Request, error) {
|
||||
|
@ -6,7 +6,6 @@ import (
|
||||
"hash/fnv"
|
||||
"sort"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/grafana/grafana-plugin-sdk-go/data"
|
||||
)
|
||||
@ -57,6 +56,9 @@ func adjustMetricFrame(frame *data.Frame, query *lokiQuery) error {
|
||||
frame.Meta = &data.FrameMeta{}
|
||||
}
|
||||
|
||||
frame.Meta.Stats = parseStats(frame.Meta.Custom)
|
||||
frame.Meta.Custom = nil
|
||||
|
||||
if isMetricRange {
|
||||
frame.Meta.ExecutedQueryString = "Expr: " + query.Expr + "\n" + "Step: " + query.Step.String()
|
||||
} else {
|
||||
@ -81,53 +83,55 @@ func adjustMetricFrame(frame *data.Frame, query *lokiQuery) error {
|
||||
func adjustLogsFrame(frame *data.Frame, query *lokiQuery) error {
|
||||
// we check if the fields are of correct type and length
|
||||
fields := frame.Fields
|
||||
if len(fields) != 3 {
|
||||
if len(fields) != 4 {
|
||||
return fmt.Errorf("invalid fields in logs frame")
|
||||
}
|
||||
|
||||
labelsField := fields[0]
|
||||
timeField := fields[1]
|
||||
lineField := fields[2]
|
||||
stringTimeField := fields[3]
|
||||
|
||||
if (timeField.Type() != data.FieldTypeTime) || (lineField.Type() != data.FieldTypeString) || (labelsField.Type() != data.FieldTypeJSON) {
|
||||
if (timeField.Type() != data.FieldTypeTime) || (lineField.Type() != data.FieldTypeString) || (labelsField.Type() != data.FieldTypeJSON) || (stringTimeField.Type() != data.FieldTypeString) {
|
||||
return fmt.Errorf("invalid fields in logs frame")
|
||||
}
|
||||
|
||||
if (timeField.Len() != lineField.Len()) || (timeField.Len() != labelsField.Len()) {
|
||||
if (timeField.Len() != lineField.Len()) || (timeField.Len() != labelsField.Len()) || (timeField.Len() != stringTimeField.Len()) {
|
||||
return fmt.Errorf("invalid fields in logs frame")
|
||||
}
|
||||
|
||||
// this returns an error when the length of fields do not match
|
||||
_, err := frame.RowLen()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
labelsField.Name = "labels"
|
||||
stringTimeField.Name = "tsNs"
|
||||
|
||||
if frame.Meta == nil {
|
||||
frame.Meta = &data.FrameMeta{}
|
||||
}
|
||||
|
||||
frame.Meta.Stats = parseStats(frame.Meta.Custom)
|
||||
frame.Meta.Custom = nil
|
||||
|
||||
frame.Meta.ExecutedQueryString = "Expr: " + query.Expr
|
||||
|
||||
// we need to send to the browser the nanosecond-precision timestamp too.
|
||||
// usually timestamps become javascript-date-objects in the browser automatically, which only
|
||||
// have millisecond-precision.
|
||||
// so we send a separate timestamp-as-string field too.
|
||||
stringTimeField := makeStringTimeField(timeField)
|
||||
// so we send a separate timestamp-as-string field too. it is provided by the
|
||||
// loki-json-parser-code
|
||||
|
||||
idField, err := makeIdField(stringTimeField, lineField, labelsField, frame.RefID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
frame.Fields = append(frame.Fields, stringTimeField, idField)
|
||||
frame.Fields = append(frame.Fields, idField)
|
||||
return nil
|
||||
}
|
||||
|
||||
func makeStringTimeField(timeField *data.Field) *data.Field {
|
||||
length := timeField.Len()
|
||||
stringTimestamps := make([]string, length)
|
||||
|
||||
for i := 0; i < length; i++ {
|
||||
nsNumber := timeField.At(i).(time.Time).UnixNano()
|
||||
stringTimestamps[i] = fmt.Sprintf("%d", nsNumber)
|
||||
}
|
||||
return data.NewField("tsNs", timeField.Labels.Copy(), stringTimestamps)
|
||||
}
|
||||
|
||||
func calculateCheckSum(time string, line string, labels []byte) (string, error) {
|
||||
input := []byte(line + "_")
|
||||
input = append(input, labels...)
|
||||
@ -211,3 +215,75 @@ func getFrameLabels(frame *data.Frame) map[string]string {
|
||||
|
||||
return labels
|
||||
}
|
||||
|
||||
func parseStats(frameMetaCustom interface{}) []data.QueryStat {
|
||||
customMap, ok := frameMetaCustom.(map[string]interface{})
|
||||
if !ok {
|
||||
return nil
|
||||
}
|
||||
rawStats, ok := customMap["stats"].(map[string]interface{})
|
||||
if !ok {
|
||||
return nil
|
||||
}
|
||||
|
||||
var stats []data.QueryStat
|
||||
|
||||
summary, ok := rawStats["summary"].(map[string]interface{})
|
||||
if ok {
|
||||
stats = append(stats,
|
||||
makeStat("Summary: bytes processed per second", summary["bytesProcessedPerSecond"], "Bps"),
|
||||
makeStat("Summary: lines processed per second", summary["linesProcessedPerSecond"], ""),
|
||||
makeStat("Summary: total bytes processed", summary["totalBytesProcessed"], "decbytes"),
|
||||
makeStat("Summary: total lines processed", summary["totalLinesProcessed"], ""),
|
||||
makeStat("Summary: exec time", summary["execTime"], "s"))
|
||||
}
|
||||
|
||||
store, ok := rawStats["store"].(map[string]interface{})
|
||||
if ok {
|
||||
stats = append(stats,
|
||||
makeStat("Store: total chunks ref", store["totalChunksRef"], ""),
|
||||
makeStat("Store: total chunks downloaded", store["totalChunksDownloaded"], ""),
|
||||
makeStat("Store: chunks download time", store["chunksDownloadTime"], "s"),
|
||||
makeStat("Store: head chunk bytes", store["headChunkBytes"], "decbytes"),
|
||||
makeStat("Store: head chunk lines", store["headChunkLines"], ""),
|
||||
makeStat("Store: decompressed bytes", store["decompressedBytes"], "decbytes"),
|
||||
makeStat("Store: decompressed lines", store["decompressedLines"], ""),
|
||||
makeStat("Store: compressed bytes", store["compressedBytes"], "decbytes"),
|
||||
makeStat("Store: total duplicates", store["totalDuplicates"], ""))
|
||||
}
|
||||
|
||||
ingester, ok := rawStats["ingester"].(map[string]interface{})
|
||||
if ok {
|
||||
stats = append(stats,
|
||||
makeStat("Ingester: total reached", ingester["totalReached"], ""),
|
||||
makeStat("Ingester: total chunks matched", ingester["totalChunksMatched"], ""),
|
||||
makeStat("Ingester: total batches", ingester["totalBatches"], ""),
|
||||
makeStat("Ingester: total lines sent", ingester["totalLinesSent"], ""),
|
||||
makeStat("Ingester: head chunk bytes", ingester["headChunkBytes"], "decbytes"),
|
||||
makeStat("Ingester: head chunk lines", ingester["headChunkLines"], ""),
|
||||
makeStat("Ingester: decompressed bytes", ingester["decompressedBytes"], "decbytes"),
|
||||
makeStat("Ingester: decompressed lines", ingester["decompressedLines"], ""),
|
||||
makeStat("Ingester: compressed bytes", ingester["compressedBytes"], "decbytes"),
|
||||
makeStat("Ingester: total duplicates", ingester["totalDuplicates"], ""))
|
||||
}
|
||||
|
||||
return stats
|
||||
}
|
||||
|
||||
func makeStat(name string, interfaceValue interface{}, unit string) data.QueryStat {
|
||||
var value float64
|
||||
switch v := interfaceValue.(type) {
|
||||
case float64:
|
||||
value = v
|
||||
case int:
|
||||
value = float64(v)
|
||||
}
|
||||
|
||||
return data.QueryStat{
|
||||
FieldConfig: data.FieldConfig{
|
||||
DisplayName: name,
|
||||
Unit: unit,
|
||||
},
|
||||
Value: value,
|
||||
}
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package loki
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"strconv"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
@ -39,20 +40,30 @@ func TestFormatName(t *testing.T) {
|
||||
|
||||
func TestAdjustFrame(t *testing.T) {
|
||||
t.Run("logs-frame metadata should be set correctly", func(t *testing.T) {
|
||||
time1 := time.Date(2022, 1, 2, 3, 4, 5, 6, time.UTC)
|
||||
time2 := time.Date(2022, 1, 2, 3, 5, 5, 6, time.UTC)
|
||||
time3 := time.Date(2022, 1, 2, 3, 5, 5, 6, time.UTC)
|
||||
time4 := time.Date(2022, 1, 2, 3, 6, 5, 6, time.UTC)
|
||||
|
||||
timeNs1 := strconv.FormatInt(time1.UnixNano(), 10)
|
||||
timeNs2 := strconv.FormatInt(time2.UnixNano(), 10)
|
||||
timeNs3 := strconv.FormatInt(time3.UnixNano(), 10)
|
||||
timeNs4 := strconv.FormatInt(time4.UnixNano(), 10)
|
||||
|
||||
frame := data.NewFrame("",
|
||||
data.NewField("labels", nil, []json.RawMessage{
|
||||
data.NewField("__labels", nil, []json.RawMessage{
|
||||
json.RawMessage(`{"level":"info"}`),
|
||||
json.RawMessage(`{"level":"error"}`),
|
||||
json.RawMessage(`{"level":"error"}`),
|
||||
json.RawMessage(`{"level":"info"}`),
|
||||
}),
|
||||
data.NewField("time", nil, []time.Time{
|
||||
time.Date(2022, 1, 2, 3, 4, 5, 6, time.UTC),
|
||||
time.Date(2022, 1, 2, 3, 5, 5, 6, time.UTC),
|
||||
time.Date(2022, 1, 2, 3, 5, 5, 6, time.UTC),
|
||||
time.Date(2022, 1, 2, 3, 6, 5, 6, time.UTC),
|
||||
data.NewField("Time", nil, []time.Time{
|
||||
time1, time2, time3, time4,
|
||||
}),
|
||||
data.NewField("Line", nil, []string{"line1", "line2", "line2", "line3"}),
|
||||
data.NewField("TS", nil, []string{
|
||||
timeNs1, timeNs2, timeNs3, timeNs4,
|
||||
}),
|
||||
data.NewField("line", nil, []string{"line1", "line2", "line2", "line3"}),
|
||||
)
|
||||
|
||||
frame.RefID = "A"
|
||||
@ -68,14 +79,6 @@ func TestAdjustFrame(t *testing.T) {
|
||||
fields := frame.Fields
|
||||
|
||||
require.Equal(t, 5, len(fields))
|
||||
tsNsField := fields[3]
|
||||
require.Equal(t, "tsNs", tsNsField.Name)
|
||||
require.Equal(t, data.FieldTypeString, tsNsField.Type())
|
||||
require.Equal(t, 4, tsNsField.Len())
|
||||
require.Equal(t, "1641092645000000006", tsNsField.At(0))
|
||||
require.Equal(t, "1641092705000000006", tsNsField.At(1))
|
||||
require.Equal(t, "1641092705000000006", tsNsField.At(2))
|
||||
require.Equal(t, "1641092765000000006", tsNsField.At(3))
|
||||
|
||||
idField := fields[4]
|
||||
require.Equal(t, "id", idField.Name)
|
||||
@ -136,4 +139,85 @@ func TestAdjustFrame(t *testing.T) {
|
||||
require.NotNil(t, timeFieldConfig)
|
||||
require.Equal(t, float64(42000), timeFieldConfig.Interval)
|
||||
})
|
||||
|
||||
t.Run("should parse response stats", func(t *testing.T) {
|
||||
stats := map[string]interface{}{
|
||||
"summary": map[string]interface{}{
|
||||
"bytesProcessedPerSecond": 1,
|
||||
"linesProcessedPerSecond": 2,
|
||||
"totalBytesProcessed": 3,
|
||||
"totalLinesProcessed": 4,
|
||||
"execTime": 5.5,
|
||||
},
|
||||
|
||||
"store": map[string]interface{}{
|
||||
"totalChunksRef": 6,
|
||||
"totalChunksDownloaded": 7,
|
||||
"chunksDownloadTime": 8.8,
|
||||
"headChunkBytes": 9,
|
||||
"headChunkLines": 10,
|
||||
"decompressedBytes": 11,
|
||||
"decompressedLines": 12,
|
||||
"compressedBytes": 13,
|
||||
"totalDuplicates": 14,
|
||||
},
|
||||
|
||||
"ingester": map[string]interface{}{
|
||||
"totalReached": 15,
|
||||
"totalChunksMatched": 16,
|
||||
"totalBatches": 17,
|
||||
"totalLinesSent": 18,
|
||||
"headChunkBytes": 19,
|
||||
"headChunkLines": 20,
|
||||
"decompressedBytes": 21,
|
||||
"decompressedLines": 22,
|
||||
"compressedBytes": 23,
|
||||
"totalDuplicates": 24,
|
||||
},
|
||||
}
|
||||
|
||||
meta := data.FrameMeta{
|
||||
Custom: map[string]interface{}{
|
||||
"stats": stats,
|
||||
},
|
||||
}
|
||||
|
||||
expected := []data.QueryStat{
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Summary: bytes processed per second", Unit: "Bps"}, Value: 1},
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Summary: lines processed per second", Unit: ""}, Value: 2},
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Summary: total bytes processed", Unit: "decbytes"}, Value: 3},
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Summary: total lines processed", Unit: ""}, Value: 4},
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Summary: exec time", Unit: "s"}, Value: 5.5},
|
||||
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Store: total chunks ref", Unit: ""}, Value: 6},
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Store: total chunks downloaded", Unit: ""}, Value: 7},
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Store: chunks download time", Unit: "s"}, Value: 8.8},
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Store: head chunk bytes", Unit: "decbytes"}, Value: 9},
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Store: head chunk lines", Unit: ""}, Value: 10},
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Store: decompressed bytes", Unit: "decbytes"}, Value: 11},
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Store: decompressed lines", Unit: ""}, Value: 12},
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Store: compressed bytes", Unit: "decbytes"}, Value: 13},
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Store: total duplicates", Unit: ""}, Value: 14},
|
||||
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Ingester: total reached", Unit: ""}, Value: 15},
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Ingester: total chunks matched", Unit: ""}, Value: 16},
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Ingester: total batches", Unit: ""}, Value: 17},
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Ingester: total lines sent", Unit: ""}, Value: 18},
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Ingester: head chunk bytes", Unit: "decbytes"}, Value: 19},
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Ingester: head chunk lines", Unit: ""}, Value: 20},
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Ingester: decompressed bytes", Unit: "decbytes"}, Value: 21},
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Ingester: decompressed lines", Unit: ""}, Value: 22},
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Ingester: compressed bytes", Unit: "decbytes"}, Value: 23},
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Ingester: total duplicates", Unit: ""}, Value: 24},
|
||||
}
|
||||
|
||||
result := parseStats(meta.Custom)
|
||||
|
||||
// NOTE: i compare it item-by-item otherwise the test-fail-error-message is very hard to read
|
||||
require.Len(t, result, len(expected))
|
||||
|
||||
for i := 0; i < len(result); i++ {
|
||||
require.Equal(t, expected[i], result[i])
|
||||
}
|
||||
})
|
||||
}
|
||||
|
@ -209,12 +209,21 @@ func queryData(ctx context.Context, req *backend.QueryDataRequest, dsInfo *datas
|
||||
|
||||
// we extracted this part of the functionality to make it easy to unit-test it
|
||||
func runQuery(ctx context.Context, api *LokiAPI, query *lokiQuery) (data.Frames, error) {
|
||||
value, err := api.DataQuery(ctx, *query)
|
||||
frames, err := api.DataQuery(ctx, *query)
|
||||
if err != nil {
|
||||
return data.Frames{}, err
|
||||
}
|
||||
|
||||
return parseResponse(value, query)
|
||||
for _, frame := range frames {
|
||||
if err = adjustFrame(frame, query); err != nil {
|
||||
return data.Frames{}, err
|
||||
}
|
||||
if err != nil {
|
||||
return data.Frames{}, err
|
||||
}
|
||||
}
|
||||
|
||||
return frames, nil
|
||||
}
|
||||
|
||||
func (s *Service) getDSInfo(pluginCtx backend.PluginContext) (*datasourceInfo, error) {
|
||||
|
@ -1,206 +0,0 @@
|
||||
package loki
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"github.com/grafana/grafana-plugin-sdk-go/data"
|
||||
"github.com/grafana/loki/pkg/loghttp"
|
||||
"github.com/grafana/loki/pkg/logqlmodel/stats"
|
||||
jsoniter "github.com/json-iterator/go"
|
||||
)
|
||||
|
||||
func parseResponse(value *loghttp.QueryResponse, query *lokiQuery) (data.Frames, error) {
|
||||
frames, err := lokiResponseToDataFrames(value, query)
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
for _, frame := range frames {
|
||||
err = adjustFrame(frame, query)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return frames, nil
|
||||
}
|
||||
|
||||
func lokiResponseToDataFrames(value *loghttp.QueryResponse, query *lokiQuery) (data.Frames, error) {
|
||||
stats := parseStats(value.Data.Statistics)
|
||||
switch res := value.Data.Result.(type) {
|
||||
case loghttp.Matrix:
|
||||
return lokiMatrixToDataFrames(res, query, stats), nil
|
||||
case loghttp.Vector:
|
||||
return lokiVectorToDataFrames(res, query, stats), nil
|
||||
case loghttp.Streams:
|
||||
return lokiStreamsToDataFrames(res, query, stats)
|
||||
default:
|
||||
return nil, fmt.Errorf("resultType %T not supported{", res)
|
||||
}
|
||||
}
|
||||
|
||||
func lokiMatrixToDataFrames(matrix loghttp.Matrix, query *lokiQuery, stats []data.QueryStat) data.Frames {
|
||||
frames := data.Frames{}
|
||||
|
||||
for i, v := range matrix {
|
||||
tags := make(map[string]string, len(v.Metric))
|
||||
timeVector := make([]time.Time, 0, len(v.Values))
|
||||
values := make([]float64, 0, len(v.Values))
|
||||
|
||||
for k, v := range v.Metric {
|
||||
tags[string(k)] = string(v)
|
||||
}
|
||||
|
||||
for _, k := range v.Values {
|
||||
timeVector = append(timeVector, k.Timestamp.Time().UTC())
|
||||
values = append(values, float64(k.Value))
|
||||
}
|
||||
|
||||
timeField := data.NewField(data.TimeSeriesTimeFieldName, nil, timeVector)
|
||||
valueField := data.NewField(data.TimeSeriesValueFieldName, tags, values)
|
||||
|
||||
frame := data.NewFrame("", timeField, valueField)
|
||||
frame.SetMeta(&data.FrameMeta{
|
||||
Type: data.FrameTypeTimeSeriesMany,
|
||||
})
|
||||
|
||||
// only add the stats to the first dataframe
|
||||
if i == 0 {
|
||||
frame.Meta.Stats = stats
|
||||
}
|
||||
|
||||
frames = append(frames, frame)
|
||||
}
|
||||
|
||||
return frames
|
||||
}
|
||||
|
||||
func lokiVectorToDataFrames(vector loghttp.Vector, query *lokiQuery, stats []data.QueryStat) data.Frames {
|
||||
frames := data.Frames{}
|
||||
|
||||
for i, v := range vector {
|
||||
tags := make(map[string]string, len(v.Metric))
|
||||
timeVector := []time.Time{v.Timestamp.Time().UTC()}
|
||||
values := []float64{float64(v.Value)}
|
||||
|
||||
for k, v := range v.Metric {
|
||||
tags[string(k)] = string(v)
|
||||
}
|
||||
timeField := data.NewField(data.TimeSeriesTimeFieldName, nil, timeVector)
|
||||
valueField := data.NewField(data.TimeSeriesValueFieldName, tags, values)
|
||||
|
||||
frame := data.NewFrame("", timeField, valueField)
|
||||
frame.SetMeta(&data.FrameMeta{
|
||||
Type: data.FrameTypeTimeSeriesMany,
|
||||
})
|
||||
|
||||
// only add the stats to the first dataframe
|
||||
if i == 0 {
|
||||
frame.Meta.Stats = stats
|
||||
}
|
||||
|
||||
frames = append(frames, frame)
|
||||
}
|
||||
|
||||
return frames
|
||||
}
|
||||
|
||||
// we serialize the labels as an ordered list of pairs
|
||||
func labelsToRawJson(labels data.Labels) (json.RawMessage, error) {
|
||||
// data.Labels when converted to JSON keep the fields sorted
|
||||
bytes, err := jsoniter.Marshal(labels)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return json.RawMessage(bytes), nil
|
||||
}
|
||||
|
||||
func lokiStreamsToDataFrames(streams loghttp.Streams, query *lokiQuery, stats []data.QueryStat) (data.Frames, error) {
|
||||
var timeVector []time.Time
|
||||
var values []string
|
||||
var labelsVector []json.RawMessage
|
||||
|
||||
for _, v := range streams {
|
||||
labelsJson, err := labelsToRawJson(v.Labels.Map())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
for _, k := range v.Entries {
|
||||
timeVector = append(timeVector, k.Timestamp.UTC())
|
||||
values = append(values, k.Line)
|
||||
labelsVector = append(labelsVector, labelsJson)
|
||||
}
|
||||
}
|
||||
|
||||
timeField := data.NewField(data.TimeSeriesTimeFieldName, nil, timeVector)
|
||||
valueField := data.NewField("Line", nil, values)
|
||||
labelsField := data.NewField("labels", nil, labelsVector)
|
||||
|
||||
frame := data.NewFrame("", labelsField, timeField, valueField)
|
||||
frame.SetMeta(&data.FrameMeta{
|
||||
Stats: stats,
|
||||
})
|
||||
|
||||
return data.Frames{frame}, nil
|
||||
}
|
||||
|
||||
func parseStats(result stats.Result) []data.QueryStat {
|
||||
data := []data.QueryStat{
|
||||
makeStat("Summary: bytes processed per second", float64(result.Summary.BytesProcessedPerSecond), "Bps"),
|
||||
makeStat("Summary: lines processed per second", float64(result.Summary.LinesProcessedPerSecond), ""),
|
||||
makeStat("Summary: total bytes processed", float64(result.Summary.TotalBytesProcessed), "decbytes"),
|
||||
makeStat("Summary: total lines processed", float64(result.Summary.TotalLinesProcessed), ""),
|
||||
makeStat("Summary: exec time", result.Summary.ExecTime, "s"),
|
||||
makeStat("Store: total chunks ref", float64(result.Store.TotalChunksRef), ""),
|
||||
makeStat("Store: total chunks downloaded", float64(result.Store.TotalChunksDownloaded), ""),
|
||||
makeStat("Store: chunks download time", result.Store.ChunksDownloadTime, "s"),
|
||||
makeStat("Store: head chunk bytes", float64(result.Store.HeadChunkBytes), "decbytes"),
|
||||
makeStat("Store: head chunk lines", float64(result.Store.HeadChunkLines), ""),
|
||||
makeStat("Store: decompressed bytes", float64(result.Store.DecompressedBytes), "decbytes"),
|
||||
makeStat("Store: decompressed lines", float64(result.Store.DecompressedLines), ""),
|
||||
makeStat("Store: compressed bytes", float64(result.Store.CompressedBytes), "decbytes"),
|
||||
makeStat("Store: total duplicates", float64(result.Store.TotalDuplicates), ""),
|
||||
makeStat("Ingester: total reached", float64(result.Ingester.TotalReached), ""),
|
||||
makeStat("Ingester: total chunks matched", float64(result.Ingester.TotalChunksMatched), ""),
|
||||
makeStat("Ingester: total batches", float64(result.Ingester.TotalBatches), ""),
|
||||
makeStat("Ingester: total lines sent", float64(result.Ingester.TotalLinesSent), ""),
|
||||
makeStat("Ingester: head chunk bytes", float64(result.Ingester.HeadChunkBytes), "decbytes"),
|
||||
makeStat("Ingester: head chunk lines", float64(result.Ingester.HeadChunkLines), ""),
|
||||
makeStat("Ingester: decompressed bytes", float64(result.Ingester.DecompressedBytes), "decbytes"),
|
||||
makeStat("Ingester: decompressed lines", float64(result.Ingester.DecompressedLines), ""),
|
||||
makeStat("Ingester: compressed bytes", float64(result.Ingester.CompressedBytes), "decbytes"),
|
||||
makeStat("Ingester: total duplicates", float64(result.Ingester.TotalDuplicates), ""),
|
||||
}
|
||||
|
||||
// it is not possible to know whether the given statistics was missing, or
|
||||
// it's value was zero.
|
||||
// we do a heuristic here, if every stat-value is zero, we assume we got no stats-data
|
||||
allStatsZero := true
|
||||
for _, stat := range data {
|
||||
if stat.Value > 0 {
|
||||
allStatsZero = false
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
if allStatsZero {
|
||||
return nil
|
||||
}
|
||||
|
||||
return data
|
||||
}
|
||||
|
||||
func makeStat(name string, value float64, unit string) data.QueryStat {
|
||||
return data.QueryStat{
|
||||
FieldConfig: data.FieldConfig{
|
||||
DisplayName: name,
|
||||
Unit: unit,
|
||||
},
|
||||
Value: value,
|
||||
}
|
||||
}
|
@ -1,183 +0,0 @@
|
||||
package loki
|
||||
|
||||
import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/google/go-cmp/cmp"
|
||||
"github.com/grafana/grafana-plugin-sdk-go/data"
|
||||
"github.com/grafana/loki/pkg/loghttp"
|
||||
"github.com/grafana/loki/pkg/logqlmodel/stats"
|
||||
p "github.com/prometheus/common/model"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func TestParseResponse(t *testing.T) {
|
||||
t.Run("value is not of supported type", func(t *testing.T) {
|
||||
value := loghttp.QueryResponse{
|
||||
Data: loghttp.QueryResponseData{
|
||||
Result: loghttp.Scalar{},
|
||||
},
|
||||
}
|
||||
res, err := parseResponse(&value, nil)
|
||||
require.Equal(t, len(res), 0)
|
||||
require.Error(t, err)
|
||||
})
|
||||
|
||||
t.Run("response should be parsed normally", func(t *testing.T) {
|
||||
values := []p.SamplePair{
|
||||
{Value: 1, Timestamp: 1000},
|
||||
{Value: 2, Timestamp: 2000},
|
||||
{Value: 3, Timestamp: 3000},
|
||||
{Value: 4, Timestamp: 4000},
|
||||
{Value: 5, Timestamp: 5000},
|
||||
}
|
||||
value := loghttp.QueryResponse{
|
||||
Data: loghttp.QueryResponseData{
|
||||
Result: loghttp.Matrix{
|
||||
p.SampleStream{
|
||||
Metric: p.Metric{"app": "Application", "tag2": "tag2"},
|
||||
Values: values,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
query := &lokiQuery{
|
||||
Expr: "up(ALERTS)",
|
||||
QueryType: QueryTypeRange,
|
||||
LegendFormat: "legend {{app}}",
|
||||
Step: time.Second * 42,
|
||||
}
|
||||
frame, err := parseResponse(&value, query)
|
||||
require.NoError(t, err)
|
||||
|
||||
labels, err := data.LabelsFromString("app=Application, tag2=tag2")
|
||||
require.NoError(t, err)
|
||||
field1 := data.NewField("Time", nil, []time.Time{
|
||||
time.Date(1970, 1, 1, 0, 0, 1, 0, time.UTC),
|
||||
time.Date(1970, 1, 1, 0, 0, 2, 0, time.UTC),
|
||||
time.Date(1970, 1, 1, 0, 0, 3, 0, time.UTC),
|
||||
time.Date(1970, 1, 1, 0, 0, 4, 0, time.UTC),
|
||||
time.Date(1970, 1, 1, 0, 0, 5, 0, time.UTC),
|
||||
})
|
||||
field1.Config = &data.FieldConfig{Interval: float64(42000)}
|
||||
field2 := data.NewField("Value", labels, []float64{1, 2, 3, 4, 5})
|
||||
field2.SetConfig(&data.FieldConfig{DisplayNameFromDS: "legend Application"})
|
||||
testFrame := data.NewFrame("legend Application", field1, field2)
|
||||
testFrame.SetMeta(&data.FrameMeta{
|
||||
ExecutedQueryString: "Expr: up(ALERTS)\nStep: 42s",
|
||||
Type: data.FrameTypeTimeSeriesMany,
|
||||
})
|
||||
|
||||
if diff := cmp.Diff(testFrame, frame[0], data.FrameTestCompareOptions()...); diff != "" {
|
||||
t.Errorf("Result mismatch (-want +got):\n%s", diff)
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("should set interval-attribute in response", func(t *testing.T) {
|
||||
values := []p.SamplePair{
|
||||
{Value: 1, Timestamp: 1000},
|
||||
}
|
||||
value := loghttp.QueryResponse{
|
||||
Data: loghttp.QueryResponseData{
|
||||
Result: loghttp.Matrix{
|
||||
p.SampleStream{
|
||||
Values: values,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
query := &lokiQuery{
|
||||
Step: time.Second * 42,
|
||||
QueryType: QueryTypeRange,
|
||||
}
|
||||
|
||||
frames, err := parseResponse(&value, query)
|
||||
require.NoError(t, err)
|
||||
|
||||
// to keep the test simple, we assume the
|
||||
// first field is the time-field
|
||||
timeField := frames[0].Fields[0]
|
||||
require.NotNil(t, timeField)
|
||||
require.Equal(t, data.FieldTypeTime, timeField.Type())
|
||||
|
||||
timeFieldConfig := timeField.Config
|
||||
require.NotNil(t, timeFieldConfig)
|
||||
require.Equal(t, float64(42000), timeFieldConfig.Interval)
|
||||
})
|
||||
|
||||
t.Run("should parse response stats", func(t *testing.T) {
|
||||
stats := stats.Result{
|
||||
Summary: stats.Summary{
|
||||
BytesProcessedPerSecond: 1,
|
||||
LinesProcessedPerSecond: 2,
|
||||
TotalBytesProcessed: 3,
|
||||
TotalLinesProcessed: 4,
|
||||
ExecTime: 5.5,
|
||||
},
|
||||
Store: stats.Store{
|
||||
TotalChunksRef: 6,
|
||||
TotalChunksDownloaded: 7,
|
||||
ChunksDownloadTime: 8.8,
|
||||
HeadChunkBytes: 9,
|
||||
HeadChunkLines: 10,
|
||||
DecompressedBytes: 11,
|
||||
DecompressedLines: 12,
|
||||
CompressedBytes: 13,
|
||||
TotalDuplicates: 14,
|
||||
},
|
||||
Ingester: stats.Ingester{
|
||||
TotalReached: 15,
|
||||
TotalChunksMatched: 16,
|
||||
TotalBatches: 17,
|
||||
TotalLinesSent: 18,
|
||||
HeadChunkBytes: 19,
|
||||
HeadChunkLines: 20,
|
||||
DecompressedBytes: 21,
|
||||
DecompressedLines: 22,
|
||||
CompressedBytes: 23,
|
||||
TotalDuplicates: 24,
|
||||
},
|
||||
}
|
||||
|
||||
expected := []data.QueryStat{
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Summary: bytes processed per second", Unit: "Bps"}, Value: 1},
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Summary: lines processed per second", Unit: ""}, Value: 2},
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Summary: total bytes processed", Unit: "decbytes"}, Value: 3},
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Summary: total lines processed", Unit: ""}, Value: 4},
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Summary: exec time", Unit: "s"}, Value: 5.5},
|
||||
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Store: total chunks ref", Unit: ""}, Value: 6},
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Store: total chunks downloaded", Unit: ""}, Value: 7},
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Store: chunks download time", Unit: "s"}, Value: 8.8},
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Store: head chunk bytes", Unit: "decbytes"}, Value: 9},
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Store: head chunk lines", Unit: ""}, Value: 10},
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Store: decompressed bytes", Unit: "decbytes"}, Value: 11},
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Store: decompressed lines", Unit: ""}, Value: 12},
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Store: compressed bytes", Unit: "decbytes"}, Value: 13},
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Store: total duplicates", Unit: ""}, Value: 14},
|
||||
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Ingester: total reached", Unit: ""}, Value: 15},
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Ingester: total chunks matched", Unit: ""}, Value: 16},
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Ingester: total batches", Unit: ""}, Value: 17},
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Ingester: total lines sent", Unit: ""}, Value: 18},
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Ingester: head chunk bytes", Unit: "decbytes"}, Value: 19},
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Ingester: head chunk lines", Unit: ""}, Value: 20},
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Ingester: decompressed bytes", Unit: "decbytes"}, Value: 21},
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Ingester: decompressed lines", Unit: ""}, Value: 22},
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Ingester: compressed bytes", Unit: "decbytes"}, Value: 23},
|
||||
{FieldConfig: data.FieldConfig{DisplayName: "Ingester: total duplicates", Unit: ""}, Value: 24},
|
||||
}
|
||||
|
||||
result := parseStats((stats))
|
||||
|
||||
// NOTE: i compare it item-by-item otherwise the test-fail-error-message is very hard to read
|
||||
require.Len(t, result, len(expected))
|
||||
|
||||
for i := 0; i < len(result); i++ {
|
||||
require.Equal(t, expected[i], result[i])
|
||||
}
|
||||
})
|
||||
}
|
@ -1,6 +1,7 @@
|
||||
package converter
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"strconv"
|
||||
"time"
|
||||
@ -349,6 +350,7 @@ func readMatrixOrVector(iter *jsoniter.Iterator) *backend.DataResponse {
|
||||
timeField := data.NewFieldFromFieldType(data.FieldTypeTime, 0)
|
||||
timeField.Name = data.TimeSeriesTimeFieldName
|
||||
valueField := data.NewFieldFromFieldType(data.FieldTypeFloat64, 0)
|
||||
valueField.Name = data.TimeSeriesValueFieldName
|
||||
valueField.Labels = data.Labels{}
|
||||
|
||||
for l1Field := iter.ReadObject(); l1Field != ""; l1Field = iter.ReadObject() {
|
||||
@ -375,14 +377,6 @@ func readMatrixOrVector(iter *jsoniter.Iterator) *backend.DataResponse {
|
||||
}
|
||||
}
|
||||
|
||||
name, ok := valueField.Labels["__name__"]
|
||||
if ok {
|
||||
valueField.Name = name
|
||||
delete(valueField.Labels, "__name__")
|
||||
} else {
|
||||
valueField.Name = data.TimeSeriesValueFieldName
|
||||
}
|
||||
|
||||
frame := data.NewFrame("", timeField, valueField)
|
||||
frame.Meta = &data.FrameMeta{
|
||||
Type: data.FrameTypeTimeSeriesMany,
|
||||
@ -408,7 +402,7 @@ func readTimeValuePair(iter *jsoniter.Iterator) (time.Time, float64, error) {
|
||||
func readStream(iter *jsoniter.Iterator) *backend.DataResponse {
|
||||
rsp := &backend.DataResponse{}
|
||||
|
||||
labelsField := data.NewFieldFromFieldType(data.FieldTypeString, 0)
|
||||
labelsField := data.NewFieldFromFieldType(data.FieldTypeJSON, 0)
|
||||
labelsField.Name = "__labels" // avoid automatically spreading this by labels
|
||||
|
||||
timeField := data.NewFieldFromFieldType(data.FieldTypeTime, 0)
|
||||
@ -422,14 +416,20 @@ func readStream(iter *jsoniter.Iterator) *backend.DataResponse {
|
||||
tsField.Name = "TS"
|
||||
|
||||
labels := data.Labels{}
|
||||
labelString := labels.String()
|
||||
labelJson, err := labelsToRawJson(labels)
|
||||
if err != nil {
|
||||
return &backend.DataResponse{Error: err}
|
||||
}
|
||||
|
||||
for iter.ReadArray() {
|
||||
for l1Field := iter.ReadObject(); l1Field != ""; l1Field = iter.ReadObject() {
|
||||
switch l1Field {
|
||||
case "stream":
|
||||
iter.ReadVal(&labels)
|
||||
labelString = labels.String()
|
||||
labelJson, err = labelsToRawJson(labels)
|
||||
if err != nil {
|
||||
return &backend.DataResponse{Error: err}
|
||||
}
|
||||
|
||||
case "values":
|
||||
for iter.ReadArray() {
|
||||
@ -441,7 +441,7 @@ func readStream(iter *jsoniter.Iterator) *backend.DataResponse {
|
||||
|
||||
t := timeFromLokiString(ts)
|
||||
|
||||
labelsField.Append(labelString)
|
||||
labelsField.Append(labelJson)
|
||||
timeField.Append(t)
|
||||
lineField.Append(line)
|
||||
tsField.Append(ts)
|
||||
@ -477,3 +477,13 @@ func timeFromLokiString(str string) time.Time {
|
||||
ns, _ := strconv.ParseInt(str[10:], 10, 64)
|
||||
return time.Unix(ss, ns).UTC()
|
||||
}
|
||||
|
||||
func labelsToRawJson(labels data.Labels) (json.RawMessage, error) {
|
||||
// data.Labels when converted to JSON keep the fields sorted
|
||||
bytes, err := jsoniter.Marshal(labels)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return json.RawMessage(bytes), nil
|
||||
}
|
||||
|
@ -5,17 +5,28 @@
|
||||
"meta": {
|
||||
"custom": {
|
||||
"stats": {
|
||||
"ingester": {
|
||||
"totalChunksMatched": 0,
|
||||
"totalBatches": 0,
|
||||
"totalLinesSent": 0,
|
||||
"store": {
|
||||
"headChunkBytes": 0,
|
||||
"headChunkLines": 0,
|
||||
"compressedBytes": 31432,
|
||||
"decompressedBytes": 7772,
|
||||
"decompressedLines": 55,
|
||||
"totalDuplicates": 0,
|
||||
"totalChunksRef": 2,
|
||||
"totalChunksDownloaded": 2,
|
||||
"chunksDownloadTime": 0.000390958
|
||||
},
|
||||
"ingester": {
|
||||
"totalReached": 0,
|
||||
"headChunkBytes": 0,
|
||||
"totalDuplicates": 0,
|
||||
"headChunkLines": 0,
|
||||
"decompressedBytes": 0,
|
||||
"decompressedLines": 0,
|
||||
"compressedBytes": 0,
|
||||
"totalReached": 0,
|
||||
"totalDuplicates": 0,
|
||||
"decompressedBytes": 0
|
||||
"totalChunksMatched": 0,
|
||||
"totalBatches": 0,
|
||||
"totalLinesSent": 0
|
||||
},
|
||||
"summary": {
|
||||
"bytesProcessedPerSecond": 3507022,
|
||||
@ -23,17 +34,6 @@
|
||||
"totalBytesProcessed": 7772,
|
||||
"totalLinesProcessed": 55,
|
||||
"execTime": 0.002216125
|
||||
},
|
||||
"store": {
|
||||
"totalChunksDownloaded": 2,
|
||||
"headChunkBytes": 0,
|
||||
"decompressedLines": 55,
|
||||
"totalDuplicates": 0,
|
||||
"totalChunksRef": 2,
|
||||
"headChunkLines": 0,
|
||||
"decompressedBytes": 7772,
|
||||
"compressedBytes": 31432,
|
||||
"chunksDownloadTime": 0.000390958
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -41,9 +41,9 @@
|
||||
"fields": [
|
||||
{
|
||||
"name": "__labels",
|
||||
"type": "string",
|
||||
"type": "other",
|
||||
"typeInfo": {
|
||||
"frame": "string"
|
||||
"frame": "json.RawMessage"
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -72,7 +72,7 @@
|
||||
"data": {
|
||||
"values": [
|
||||
[
|
||||
"level=error, location=moon🌙","level=info, location=moon🌙","level=info, location=moon🌙","level=info, location=moon🌙","level=info, location=moon🌙","level=info, location=moon🌙"
|
||||
{"level":"error","location":"moon🌙"},{"level":"info","location":"moon🌙"},{"level":"info","location":"moon🌙"},{"level":"info","location":"moon🌙"},{"level":"info","location":"moon🌙"},{"level":"info","location":"moon🌙"}
|
||||
],
|
||||
[
|
||||
1645030244810,1645030247027,1645030246277,1645030246277,1645030245539,1645030244091
|
||||
|
@ -38,19 +38,19 @@ Frame[0] {
|
||||
}
|
||||
Name:
|
||||
Dimensions: 4 Fields by 6 Rows
|
||||
+------------------------------+-----------------------------------------+------------------+---------------------+
|
||||
| Name: __labels | Name: Time | Name: Line | Name: TS |
|
||||
| Labels: | Labels: | Labels: | Labels: |
|
||||
| Type: []string | Type: []time.Time | Type: []string | Type: []string |
|
||||
+------------------------------+-----------------------------------------+------------------+---------------------+
|
||||
| level=error, location=moon🌙 | 2022-02-16 16:50:44.81075712 +0000 UTC | log line error 1 | 1645030244810757120 |
|
||||
| level=info, location=moon🌙 | 2022-02-16 16:50:47.02773504 +0000 UTC | log line info 1 | 1645030247027735040 |
|
||||
| level=info, location=moon🌙 | 2022-02-16 16:50:46.277587968 +0000 UTC | log line info 2 | 1645030246277587968 |
|
||||
| level=info, location=moon🌙 | 2022-02-16 16:50:46.277587968 +0000 UTC | log line info 2 | 1645030246277587968 |
|
||||
| level=info, location=moon🌙 | 2022-02-16 16:50:45.539423744 +0000 UTC | log line info 3 | 1645030245539423744 |
|
||||
| level=info, location=moon🌙 | 2022-02-16 16:50:44.091700992 +0000 UTC | log line info 4 | 1645030244091700992 |
|
||||
+------------------------------+-----------------------------------------+------------------+---------------------+
|
||||
+---------------------------------------+-----------------------------------------+------------------+---------------------+
|
||||
| Name: __labels | Name: Time | Name: Line | Name: TS |
|
||||
| Labels: | Labels: | Labels: | Labels: |
|
||||
| Type: []json.RawMessage | Type: []time.Time | Type: []string | Type: []string |
|
||||
+---------------------------------------+-----------------------------------------+------------------+---------------------+
|
||||
| {"level":"error","location":"moon🌙"} | 2022-02-16 16:50:44.81075712 +0000 UTC | log line error 1 | 1645030244810757120 |
|
||||
| {"level":"info","location":"moon🌙"} | 2022-02-16 16:50:47.02773504 +0000 UTC | log line info 1 | 1645030247027735040 |
|
||||
| {"level":"info","location":"moon🌙"} | 2022-02-16 16:50:46.277587968 +0000 UTC | log line info 2 | 1645030246277587968 |
|
||||
| {"level":"info","location":"moon🌙"} | 2022-02-16 16:50:46.277587968 +0000 UTC | log line info 2 | 1645030246277587968 |
|
||||
| {"level":"info","location":"moon🌙"} | 2022-02-16 16:50:45.539423744 +0000 UTC | log line info 3 | 1645030245539423744 |
|
||||
| {"level":"info","location":"moon🌙"} | 2022-02-16 16:50:44.091700992 +0000 UTC | log line info 4 | 1645030244091700992 |
|
||||
+---------------------------------------+-----------------------------------------+------------------+---------------------+
|
||||
|
||||
|
||||
====== TEST DATA RESPONSE (arrow base64) ======
|
||||
FRAME=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
|
||||
FRAME=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
|
||||
|
@ -6,34 +6,34 @@
|
||||
"custom": {
|
||||
"stats": {
|
||||
"summary": {
|
||||
"execTime": 0.002216125,
|
||||
"bytesProcessedPerSecond": 3507022,
|
||||
"linesProcessedPerSecond": 24818,
|
||||
"totalBytesProcessed": 7772,
|
||||
"totalLinesProcessed": 55
|
||||
"totalLinesProcessed": 55,
|
||||
"execTime": 0.002216125
|
||||
},
|
||||
"store": {
|
||||
"headChunkBytes": 0,
|
||||
"decompressedLines": 55,
|
||||
"compressedBytes": 31432,
|
||||
"totalDuplicates": 0,
|
||||
"totalChunksDownloaded": 2,
|
||||
"totalChunksRef": 2,
|
||||
"chunksDownloadTime": 0.000390958,
|
||||
"headChunkLines": 0,
|
||||
"decompressedLines": 55,
|
||||
"totalDuplicates": 0,
|
||||
"totalChunksDownloaded": 2,
|
||||
"headChunkBytes": 0,
|
||||
"decompressedBytes": 7772,
|
||||
"totalChunksRef": 2
|
||||
"compressedBytes": 31432
|
||||
},
|
||||
"ingester": {
|
||||
"headChunkBytes": 0,
|
||||
"decompressedBytes": 0,
|
||||
"totalBatches": 0,
|
||||
"totalLinesSent": 0,
|
||||
"headChunkLines": 0,
|
||||
"decompressedLines": 0,
|
||||
"compressedBytes": 0,
|
||||
"totalDuplicates": 0,
|
||||
"totalReached": 0,
|
||||
"totalChunksMatched": 0
|
||||
"totalChunksMatched": 0,
|
||||
"totalLinesSent": 0,
|
||||
"headChunkBytes": 0,
|
||||
"decompressedLines": 0,
|
||||
"totalBatches": 0,
|
||||
"headChunkLines": 0,
|
||||
"decompressedBytes": 0,
|
||||
"compressedBytes": 0,
|
||||
"totalDuplicates": 0
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -41,9 +41,9 @@
|
||||
"fields": [
|
||||
{
|
||||
"name": "__labels",
|
||||
"type": "string",
|
||||
"type": "other",
|
||||
"typeInfo": {
|
||||
"frame": "string"
|
||||
"frame": "json.RawMessage"
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -72,7 +72,7 @@
|
||||
"data": {
|
||||
"values": [
|
||||
[
|
||||
"level=error, location=moon","level=info, location=moon","level=info, location=moon","level=info, location=moon","level=info, location=moon"
|
||||
{"level":"error","location":"moon"},{"level":"info","location":"moon"},{"level":"info","location":"moon"},{"level":"info","location":"moon"},{"level":"info","location":"moon"}
|
||||
],
|
||||
[
|
||||
1645030244810,1645030247027,1645030246277,1645030245539,1645030244091
|
||||
|
@ -38,18 +38,18 @@ Frame[0] {
|
||||
}
|
||||
Name:
|
||||
Dimensions: 4 Fields by 5 Rows
|
||||
+----------------------------+-----------------------------------------+------------------+---------------------+
|
||||
| Name: __labels | Name: Time | Name: Line | Name: TS |
|
||||
| Labels: | Labels: | Labels: | Labels: |
|
||||
| Type: []string | Type: []time.Time | Type: []string | Type: []string |
|
||||
+----------------------------+-----------------------------------------+------------------+---------------------+
|
||||
| level=error, location=moon | 2022-02-16 16:50:44.81075712 +0000 UTC | log line error 1 | 1645030244810757120 |
|
||||
| level=info, location=moon | 2022-02-16 16:50:47.02773504 +0000 UTC | log line info 1 | 1645030247027735040 |
|
||||
| level=info, location=moon | 2022-02-16 16:50:46.277587968 +0000 UTC | log line info 2 | 1645030246277587968 |
|
||||
| level=info, location=moon | 2022-02-16 16:50:45.539423744 +0000 UTC | log line info 3 | 1645030245539423744 |
|
||||
| level=info, location=moon | 2022-02-16 16:50:44.091700992 +0000 UTC | log line info 4 | 1645030244091700992 |
|
||||
+----------------------------+-----------------------------------------+------------------+---------------------+
|
||||
+-------------------------------------+-----------------------------------------+------------------+---------------------+
|
||||
| Name: __labels | Name: Time | Name: Line | Name: TS |
|
||||
| Labels: | Labels: | Labels: | Labels: |
|
||||
| Type: []json.RawMessage | Type: []time.Time | Type: []string | Type: []string |
|
||||
+-------------------------------------+-----------------------------------------+------------------+---------------------+
|
||||
| {"level":"error","location":"moon"} | 2022-02-16 16:50:44.81075712 +0000 UTC | log line error 1 | 1645030244810757120 |
|
||||
| {"level":"info","location":"moon"} | 2022-02-16 16:50:47.02773504 +0000 UTC | log line info 1 | 1645030247027735040 |
|
||||
| {"level":"info","location":"moon"} | 2022-02-16 16:50:46.277587968 +0000 UTC | log line info 2 | 1645030246277587968 |
|
||||
| {"level":"info","location":"moon"} | 2022-02-16 16:50:45.539423744 +0000 UTC | log line info 3 | 1645030245539423744 |
|
||||
| {"level":"info","location":"moon"} | 2022-02-16 16:50:44.091700992 +0000 UTC | log line info 4 | 1645030244091700992 |
|
||||
+-------------------------------------+-----------------------------------------+------------------+---------------------+
|
||||
|
||||
|
||||
====== TEST DATA RESPONSE (arrow base64) ======
|
||||
FRAME=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
|
||||
FRAME=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
|
||||
|
@ -14,14 +14,15 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "up",
|
||||
"name": "Value",
|
||||
"type": "number",
|
||||
"typeInfo": {
|
||||
"frame": "float64"
|
||||
},
|
||||
"labels": {
|
||||
"job": "prometheus",
|
||||
"instance": "localhost:9090"
|
||||
"instance": "localhost:9090",
|
||||
"__name__": "up"
|
||||
}
|
||||
}
|
||||
]
|
||||
@ -51,12 +52,13 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "up",
|
||||
"name": "Value",
|
||||
"type": "number",
|
||||
"typeInfo": {
|
||||
"frame": "float64"
|
||||
},
|
||||
"labels": {
|
||||
"__name__": "up",
|
||||
"job": "node",
|
||||
"instance": "localhost:9091"
|
||||
}
|
||||
|
@ -5,15 +5,15 @@ Frame[0] {
|
||||
}
|
||||
Name:
|
||||
Dimensions: 2 Fields by 3 Rows
|
||||
+-----------------------------------+-------------------------------------------------+
|
||||
| Name: Time | Name: up |
|
||||
| Labels: | Labels: instance=localhost:9090, job=prometheus |
|
||||
| Type: []time.Time | Type: []float64 |
|
||||
+-----------------------------------+-------------------------------------------------+
|
||||
| 2015-07-01 20:10:30.781 +0000 UTC | 1 |
|
||||
| 2015-07-01 20:10:45.781 +0000 UTC | 1 |
|
||||
| 2015-07-01 20:11:00.781 +0000 UTC | 1 |
|
||||
+-----------------------------------+-------------------------------------------------+
|
||||
+-----------------------------------+--------------------------------------------------------------+
|
||||
| Name: Time | Name: Value |
|
||||
| Labels: | Labels: __name__=up, instance=localhost:9090, job=prometheus |
|
||||
| Type: []time.Time | Type: []float64 |
|
||||
+-----------------------------------+--------------------------------------------------------------+
|
||||
| 2015-07-01 20:10:30.781 +0000 UTC | 1 |
|
||||
| 2015-07-01 20:10:45.781 +0000 UTC | 1 |
|
||||
| 2015-07-01 20:11:00.781 +0000 UTC | 1 |
|
||||
+-----------------------------------+--------------------------------------------------------------+
|
||||
|
||||
|
||||
|
||||
@ -22,17 +22,17 @@ Frame[1] {
|
||||
}
|
||||
Name:
|
||||
Dimensions: 2 Fields by 3 Rows
|
||||
+-----------------------------------+-------------------------------------------+
|
||||
| Name: Time | Name: up |
|
||||
| Labels: | Labels: instance=localhost:9091, job=node |
|
||||
| Type: []time.Time | Type: []float64 |
|
||||
+-----------------------------------+-------------------------------------------+
|
||||
| 2015-07-01 20:10:30.781 +0000 UTC | 0 |
|
||||
| 2015-07-01 20:10:45.781 +0000 UTC | 0 |
|
||||
| 2015-07-01 20:11:00.781 +0000 UTC | 1 |
|
||||
+-----------------------------------+-------------------------------------------+
|
||||
+-----------------------------------+--------------------------------------------------------+
|
||||
| Name: Time | Name: Value |
|
||||
| Labels: | Labels: __name__=up, instance=localhost:9091, job=node |
|
||||
| Type: []time.Time | Type: []float64 |
|
||||
+-----------------------------------+--------------------------------------------------------+
|
||||
| 2015-07-01 20:10:30.781 +0000 UTC | 0 |
|
||||
| 2015-07-01 20:10:45.781 +0000 UTC | 0 |
|
||||
| 2015-07-01 20:11:00.781 +0000 UTC | 1 |
|
||||
+-----------------------------------+--------------------------------------------------------+
|
||||
|
||||
|
||||
====== TEST DATA RESPONSE (arrow base64) ======
|
||||
FRAME=QVJST1cxAAD/////8AEAABAAAAAAAAoADgAMAAsABAAKAAAAFAAAAAAAAAEEAAoADAAAAAgABAAKAAAACAAAAIwAAAADAAAATAAAACgAAAAEAAAAoP7//wgAAAAMAAAAAAAAAAAAAAAFAAAAcmVmSWQAAADA/v//CAAAAAwAAAAAAAAAAAAAAAQAAABuYW1lAAAAAOD+//8IAAAAJAAAABoAAAB7InR5cGUiOiJ0aW1lc2VyaWVzLW1hbnkifQAABAAAAG1ldGEAAAAAAgAAAMQAAAAEAAAAVv///xQAAACMAAAAjAAAAAAAAAOMAAAAAgAAACgAAAAEAAAASP///wgAAAAMAAAAAgAAAHVwAAAEAAAAbmFtZQAAAABo////CAAAADwAAAAwAAAAeyJpbnN0YW5jZSI6ImxvY2FsaG9zdDo5MDkwIiwiam9iIjoicHJvbWV0aGV1cyJ9AAAAAAYAAABsYWJlbHMAAAAAAACK////AAACAAIAAAB1cAAAAAASABgAFAAAABMADAAAAAgABAASAAAAFAAAAEQAAABMAAAAAAAACkwAAAABAAAADAAAAAgADAAIAAQACAAAAAgAAAAQAAAABAAAAFRpbWUAAAAABAAAAG5hbWUAAAAAAAAAAAAABgAIAAYABgAAAAAAAwAEAAAAVGltZQAAAAD/////uAAAABQAAAAAAAAADAAWABQAEwAMAAQADAAAADAAAAAAAAAAFAAAAAAAAAMEAAoAGAAMAAgABAAKAAAAFAAAAFgAAAADAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAYAAAAAAAAAAAAAAACAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAABAuc2smuvsE0CP3yqe6+wTQGXxqKHr7BMAAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8QAAAADAAUABIADAAIAAQADAAAABAAAAAsAAAAPAAAAAAABAABAAAAAAIAAAAAAADAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAwAAAAIAAQACgAAAAgAAACMAAAAAwAAAEwAAAAoAAAABAAAAKD+//8IAAAADAAAAAAAAAAAAAAABQAAAHJlZklkAAAAwP7//wgAAAAMAAAAAAAAAAAAAAAEAAAAbmFtZQAAAADg/v//CAAAACQAAAAaAAAAeyJ0eXBlIjoidGltZXNlcmllcy1tYW55In0AAAQAAABtZXRhAAAAAAIAAADEAAAABAAAAFb///8UAAAAjAAAAIwAAAAAAAADjAAAAAIAAAAoAAAABAAAAEj///8IAAAADAAAAAIAAAB1cAAABAAAAG5hbWUAAAAAaP///wgAAAA8AAAAMAAAAHsiaW5zdGFuY2UiOiJsb2NhbGhvc3Q6OTA5MCIsImpvYiI6InByb21ldGhldXMifQAAAAAGAAAAbGFiZWxzAAAAAAAAiv///wAAAgACAAAAdXAAAAAAEgAYABQAAAATAAwAAAAIAAQAEgAAABQAAABEAAAATAAAAAAAAApMAAAAAQAAAAwAAAAIAAwACAAEAAgAAAAIAAAAEAAAAAQAAABUaW1lAAAAAAQAAABuYW1lAAAAAAAAAAAAAAYACAAGAAYAAAAAAAMABAAAAFRpbWUAAAAAIAIAAEFSUk9XMQ==
|
||||
FRAME=QVJST1cxAAD/////6AEAABAAAAAAAAoADgAMAAsABAAKAAAAFAAAAAAAAAEEAAoADAAAAAgABAAKAAAACAAAAIwAAAADAAAATAAAACgAAAAEAAAAqP7//wgAAAAMAAAAAAAAAAAAAAAFAAAAcmVmSWQAAADI/v//CAAAAAwAAAAAAAAAAAAAAAQAAABuYW1lAAAAAOj+//8IAAAAJAAAABoAAAB7InR5cGUiOiJ0aW1lc2VyaWVzLW1hbnkifQAABAAAAG1ldGEAAAAAAgAAALwAAAAEAAAAXv///xQAAACEAAAAhAAAAAAAAAOEAAAAAgAAACgAAAAEAAAAUP///wgAAAAMAAAAAgAAAHVwAAAEAAAAbmFtZQAAAABw////CAAAADQAAAAqAAAAeyJpbnN0YW5jZSI6ImxvY2FsaG9zdDo5MDkxIiwiam9iIjoibm9kZSJ9AAAGAAAAbGFiZWxzAAAAAAAAiv///wAAAgACAAAAdXAAAAAAEgAYABQAAAATAAwAAAAIAAQAEgAAABQAAABEAAAATAAAAAAAAApMAAAAAQAAAAwAAAAIAAwACAAEAAgAAAAIAAAAEAAAAAQAAABUaW1lAAAAAAQAAABuYW1lAAAAAAAAAAAAAAYACAAGAAYAAAAAAAMABAAAAFRpbWUAAAAA/////7gAAAAUAAAAAAAAAAwAFgAUABMADAAEAAwAAAAwAAAAAAAAABQAAAAAAAADBAAKABgADAAIAAQACgAAABQAAABYAAAAAwAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAGAAAAAAAAAAAAAAAAgAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAQLnNrJrr7BNAj98qnuvsE0Bl8aih6+wTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPA/EAAAAAwAFAASAAwACAAEAAwAAAAQAAAALAAAADwAAAAAAAQAAQAAAPgBAAAAAAAAwAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAMAAAACAAEAAoAAAAIAAAAjAAAAAMAAABMAAAAKAAAAAQAAACo/v//CAAAAAwAAAAAAAAAAAAAAAUAAAByZWZJZAAAAMj+//8IAAAADAAAAAAAAAAAAAAABAAAAG5hbWUAAAAA6P7//wgAAAAkAAAAGgAAAHsidHlwZSI6InRpbWVzZXJpZXMtbWFueSJ9AAAEAAAAbWV0YQAAAAACAAAAvAAAAAQAAABe////FAAAAIQAAACEAAAAAAAAA4QAAAACAAAAKAAAAAQAAABQ////CAAAAAwAAAACAAAAdXAAAAQAAABuYW1lAAAAAHD///8IAAAANAAAACoAAAB7Imluc3RhbmNlIjoibG9jYWxob3N0OjkwOTEiLCJqb2IiOiJub2RlIn0AAAYAAABsYWJlbHMAAAAAAACK////AAACAAIAAAB1cAAAAAASABgAFAAAABMADAAAAAgABAASAAAAFAAAAEQAAABMAAAAAAAACkwAAAABAAAADAAAAAgADAAIAAQACAAAAAgAAAAQAAAABAAAAFRpbWUAAAAABAAAAG5hbWUAAAAAAAAAAAAABgAIAAYABgAAAAAAAwAEAAAAVGltZQAAAAAYAgAAQVJST1cx
|
||||
FRAME=QVJST1cxAAD/////CAIAABAAAAAAAAoADgAMAAsABAAKAAAAFAAAAAAAAAEEAAoADAAAAAgABAAKAAAACAAAAIwAAAADAAAATAAAACgAAAAEAAAAjP7//wgAAAAMAAAAAAAAAAAAAAAFAAAAcmVmSWQAAACs/v//CAAAAAwAAAAAAAAAAAAAAAQAAABuYW1lAAAAAMz+//8IAAAAJAAAABoAAAB7InR5cGUiOiJ0aW1lc2VyaWVzLW1hbnkifQAABAAAAG1ldGEAAAAAAgAAANgAAAAEAAAAQv///xQAAACgAAAAoAAAAAAAAAOgAAAAAgAAACwAAAAEAAAANP///wgAAAAQAAAABQAAAFZhbHVlAAAABAAAAG5hbWUAAAAAWP///wgAAABMAAAAQAAAAHsiX19uYW1lX18iOiJ1cCIsImluc3RhbmNlIjoibG9jYWxob3N0OjkwOTAiLCJqb2IiOiJwcm9tZXRoZXVzIn0AAAAABgAAAGxhYmVscwAAAAAAAIr///8AAAIABQAAAFZhbHVlABIAGAAUAAAAEwAMAAAACAAEABIAAAAUAAAARAAAAEwAAAAAAAAKTAAAAAEAAAAMAAAACAAMAAgABAAIAAAACAAAABAAAAAEAAAAVGltZQAAAAAEAAAAbmFtZQAAAAAAAAAAAAAGAAgABgAGAAAAAAADAAQAAABUaW1lAAAAAAAAAAD/////uAAAABQAAAAAAAAADAAWABQAEwAMAAQADAAAADAAAAAAAAAAFAAAAAAAAAMEAAoAGAAMAAgABAAKAAAAFAAAAFgAAAADAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAYAAAAAAAAAAAAAAACAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAABAuc2smuvsE0CP3yqe6+wTQGXxqKHr7BMAAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8QAAAADAAUABIADAAIAAQADAAAABAAAAAsAAAAOAAAAAAABAABAAAAGAIAAAAAAADAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAoADAAAAAgABAAKAAAACAAAAIwAAAADAAAATAAAACgAAAAEAAAAjP7//wgAAAAMAAAAAAAAAAAAAAAFAAAAcmVmSWQAAACs/v//CAAAAAwAAAAAAAAAAAAAAAQAAABuYW1lAAAAAMz+//8IAAAAJAAAABoAAAB7InR5cGUiOiJ0aW1lc2VyaWVzLW1hbnkifQAABAAAAG1ldGEAAAAAAgAAANgAAAAEAAAAQv///xQAAACgAAAAoAAAAAAAAAOgAAAAAgAAACwAAAAEAAAANP///wgAAAAQAAAABQAAAFZhbHVlAAAABAAAAG5hbWUAAAAAWP///wgAAABMAAAAQAAAAHsiX19uYW1lX18iOiJ1cCIsImluc3RhbmNlIjoibG9jYWxob3N0OjkwOTAiLCJqb2IiOiJwcm9tZXRoZXVzIn0AAAAABgAAAGxhYmVscwAAAAAAAIr///8AAAIABQAAAFZhbHVlABIAGAAUAAAAEwAMAAAACAAEABIAAAAUAAAARAAAAEwAAAAAAAAKTAAAAAEAAAAMAAAACAAMAAgABAAIAAAACAAAABAAAAAEAAAAVGltZQAAAAAEAAAAbmFtZQAAAAAAAAAAAAAGAAgABgAGAAAAAAADAAQAAABUaW1lAAAAADACAABBUlJPVzE=
|
||||
FRAME=QVJST1cxAAD/////AAIAABAAAAAAAAoADgAMAAsABAAKAAAAFAAAAAAAAAEEAAoADAAAAAgABAAKAAAACAAAAIwAAAADAAAATAAAACgAAAAEAAAAlP7//wgAAAAMAAAAAAAAAAAAAAAFAAAAcmVmSWQAAAC0/v//CAAAAAwAAAAAAAAAAAAAAAQAAABuYW1lAAAAANT+//8IAAAAJAAAABoAAAB7InR5cGUiOiJ0aW1lc2VyaWVzLW1hbnkifQAABAAAAG1ldGEAAAAAAgAAANAAAAAEAAAASv///xQAAACYAAAAmAAAAAAAAAOYAAAAAgAAACwAAAAEAAAAPP///wgAAAAQAAAABQAAAFZhbHVlAAAABAAAAG5hbWUAAAAAYP///wgAAABEAAAAOgAAAHsiX19uYW1lX18iOiJ1cCIsImluc3RhbmNlIjoibG9jYWxob3N0OjkwOTEiLCJqb2IiOiJub2RlIn0AAAYAAABsYWJlbHMAAAAAAACK////AAACAAUAAABWYWx1ZQASABgAFAAAABMADAAAAAgABAASAAAAFAAAAEQAAABMAAAAAAAACkwAAAABAAAADAAAAAgADAAIAAQACAAAAAgAAAAQAAAABAAAAFRpbWUAAAAABAAAAG5hbWUAAAAAAAAAAAAABgAIAAYABgAAAAAAAwAEAAAAVGltZQAAAAAAAAAA/////7gAAAAUAAAAAAAAAAwAFgAUABMADAAEAAwAAAAwAAAAAAAAABQAAAAAAAADBAAKABgADAAIAAQACgAAABQAAABYAAAAAwAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAGAAAAAAAAAAAAAAAAgAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAQLnNrJrr7BNAj98qnuvsE0Bl8aih6+wTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPA/EAAAAAwAFAASAAwACAAEAAwAAAAQAAAALAAAADgAAAAAAAQAAQAAABACAAAAAAAAwAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAKAAwAAAAIAAQACgAAAAgAAACMAAAAAwAAAEwAAAAoAAAABAAAAJT+//8IAAAADAAAAAAAAAAAAAAABQAAAHJlZklkAAAAtP7//wgAAAAMAAAAAAAAAAAAAAAEAAAAbmFtZQAAAADU/v//CAAAACQAAAAaAAAAeyJ0eXBlIjoidGltZXNlcmllcy1tYW55In0AAAQAAABtZXRhAAAAAAIAAADQAAAABAAAAEr///8UAAAAmAAAAJgAAAAAAAADmAAAAAIAAAAsAAAABAAAADz///8IAAAAEAAAAAUAAABWYWx1ZQAAAAQAAABuYW1lAAAAAGD///8IAAAARAAAADoAAAB7Il9fbmFtZV9fIjoidXAiLCJpbnN0YW5jZSI6ImxvY2FsaG9zdDo5MDkxIiwiam9iIjoibm9kZSJ9AAAGAAAAbGFiZWxzAAAAAAAAiv///wAAAgAFAAAAVmFsdWUAEgAYABQAAAATAAwAAAAIAAQAEgAAABQAAABEAAAATAAAAAAAAApMAAAAAQAAAAwAAAAIAAwACAAEAAgAAAAIAAAAEAAAAAQAAABUaW1lAAAAAAQAAABuYW1lAAAAAAAAAAAAAAYACAAGAAYAAAAAAAMABAAAAFRpbWUAAAAAKAIAAEFSUk9XMQ==
|
||||
|
@ -14,12 +14,13 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "up",
|
||||
"name": "Value",
|
||||
"type": "number",
|
||||
"typeInfo": {
|
||||
"frame": "float64"
|
||||
},
|
||||
"labels": {
|
||||
"__name__": "up",
|
||||
"job": "prometheus",
|
||||
"instance": "localhost:9090"
|
||||
}
|
||||
@ -51,14 +52,15 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "up",
|
||||
"name": "Value",
|
||||
"type": "number",
|
||||
"typeInfo": {
|
||||
"frame": "float64"
|
||||
},
|
||||
"labels": {
|
||||
"job": "node",
|
||||
"instance": "localhost:9100"
|
||||
"instance": "localhost:9100",
|
||||
"__name__": "up"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -5,13 +5,13 @@ Frame[0] {
|
||||
}
|
||||
Name:
|
||||
Dimensions: 2 Fields by 1 Rows
|
||||
+-----------------------------------+-------------------------------------------------+
|
||||
| Name: Time | Name: up |
|
||||
| Labels: | Labels: instance=localhost:9090, job=prometheus |
|
||||
| Type: []time.Time | Type: []float64 |
|
||||
+-----------------------------------+-------------------------------------------------+
|
||||
| 2015-07-01 20:10:51.781 +0000 UTC | 1 |
|
||||
+-----------------------------------+-------------------------------------------------+
|
||||
+-----------------------------------+--------------------------------------------------------------+
|
||||
| Name: Time | Name: Value |
|
||||
| Labels: | Labels: __name__=up, instance=localhost:9090, job=prometheus |
|
||||
| Type: []time.Time | Type: []float64 |
|
||||
+-----------------------------------+--------------------------------------------------------------+
|
||||
| 2015-07-01 20:10:51.781 +0000 UTC | 1 |
|
||||
+-----------------------------------+--------------------------------------------------------------+
|
||||
|
||||
|
||||
|
||||
@ -20,13 +20,13 @@ Frame[1] {
|
||||
}
|
||||
Name:
|
||||
Dimensions: 2 Fields by 1 Rows
|
||||
+-----------------------------------+-------------------------------------------+
|
||||
| Name: Time | Name: up |
|
||||
| Labels: | Labels: instance=localhost:9100, job=node |
|
||||
| Type: []time.Time | Type: []float64 |
|
||||
+-----------------------------------+-------------------------------------------+
|
||||
| 2015-07-01 20:10:51.781 +0000 UTC | 0 |
|
||||
+-----------------------------------+-------------------------------------------+
|
||||
+-----------------------------------+--------------------------------------------------------+
|
||||
| Name: Time | Name: Value |
|
||||
| Labels: | Labels: __name__=up, instance=localhost:9100, job=node |
|
||||
| Type: []time.Time | Type: []float64 |
|
||||
+-----------------------------------+--------------------------------------------------------+
|
||||
| 2015-07-01 20:10:51.781 +0000 UTC | 0 |
|
||||
+-----------------------------------+--------------------------------------------------------+
|
||||
|
||||
|
||||
|
||||
@ -75,8 +75,8 @@ Dimensions: 2 Fields by 1 Rows
|
||||
|
||||
|
||||
====== TEST DATA RESPONSE (arrow base64) ======
|
||||
FRAME=QVJST1cxAAD/////8AEAABAAAAAAAAoADgAMAAsABAAKAAAAFAAAAAAAAAEEAAoADAAAAAgABAAKAAAACAAAAIwAAAADAAAATAAAACgAAAAEAAAAoP7//wgAAAAMAAAAAAAAAAAAAAAFAAAAcmVmSWQAAADA/v//CAAAAAwAAAAAAAAAAAAAAAQAAABuYW1lAAAAAOD+//8IAAAAJAAAABoAAAB7InR5cGUiOiJ0aW1lc2VyaWVzLW1hbnkifQAABAAAAG1ldGEAAAAAAgAAAMQAAAAEAAAAVv///xQAAACMAAAAjAAAAAAAAAOMAAAAAgAAACgAAAAEAAAASP///wgAAAAMAAAAAgAAAHVwAAAEAAAAbmFtZQAAAABo////CAAAADwAAAAwAAAAeyJpbnN0YW5jZSI6ImxvY2FsaG9zdDo5MDkwIiwiam9iIjoicHJvbWV0aGV1cyJ9AAAAAAYAAABsYWJlbHMAAAAAAACK////AAACAAIAAAB1cAAAAAASABgAFAAAABMADAAAAAgABAASAAAAFAAAAEQAAABMAAAAAAAACkwAAAABAAAADAAAAAgADAAIAAQACAAAAAgAAAAQAAAABAAAAFRpbWUAAAAABAAAAG5hbWUAAAAAAAAAAAAABgAIAAYABgAAAAAAAwAEAAAAVGltZQAAAAD/////uAAAABQAAAAAAAAADAAWABQAEwAMAAQADAAAABAAAAAAAAAAFAAAAAAAAAMEAAoAGAAMAAgABAAKAAAAFAAAAFgAAAABAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAAAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAABAS4CQn+vsEwAAAAAAAPA/EAAAAAwAFAASAAwACAAEAAwAAAAQAAAALAAAADwAAAAAAAQAAQAAAAACAAAAAAAAwAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAMAAAACAAEAAoAAAAIAAAAjAAAAAMAAABMAAAAKAAAAAQAAACg/v//CAAAAAwAAAAAAAAAAAAAAAUAAAByZWZJZAAAAMD+//8IAAAADAAAAAAAAAAAAAAABAAAAG5hbWUAAAAA4P7//wgAAAAkAAAAGgAAAHsidHlwZSI6InRpbWVzZXJpZXMtbWFueSJ9AAAEAAAAbWV0YQAAAAACAAAAxAAAAAQAAABW////FAAAAIwAAACMAAAAAAAAA4wAAAACAAAAKAAAAAQAAABI////CAAAAAwAAAACAAAAdXAAAAQAAABuYW1lAAAAAGj///8IAAAAPAAAADAAAAB7Imluc3RhbmNlIjoibG9jYWxob3N0OjkwOTAiLCJqb2IiOiJwcm9tZXRoZXVzIn0AAAAABgAAAGxhYmVscwAAAAAAAIr///8AAAIAAgAAAHVwAAAAABIAGAAUAAAAEwAMAAAACAAEABIAAAAUAAAARAAAAEwAAAAAAAAKTAAAAAEAAAAMAAAACAAMAAgABAAIAAAACAAAABAAAAAEAAAAVGltZQAAAAAEAAAAbmFtZQAAAAAAAAAAAAAGAAgABgAGAAAAAAADAAQAAABUaW1lAAAAACACAABBUlJPVzE=
|
||||
FRAME=QVJST1cxAAD/////6AEAABAAAAAAAAoADgAMAAsABAAKAAAAFAAAAAAAAAEEAAoADAAAAAgABAAKAAAACAAAAIwAAAADAAAATAAAACgAAAAEAAAAqP7//wgAAAAMAAAAAAAAAAAAAAAFAAAAcmVmSWQAAADI/v//CAAAAAwAAAAAAAAAAAAAAAQAAABuYW1lAAAAAOj+//8IAAAAJAAAABoAAAB7InR5cGUiOiJ0aW1lc2VyaWVzLW1hbnkifQAABAAAAG1ldGEAAAAAAgAAALwAAAAEAAAAXv///xQAAACEAAAAhAAAAAAAAAOEAAAAAgAAACgAAAAEAAAAUP///wgAAAAMAAAAAgAAAHVwAAAEAAAAbmFtZQAAAABw////CAAAADQAAAAqAAAAeyJpbnN0YW5jZSI6ImxvY2FsaG9zdDo5MTAwIiwiam9iIjoibm9kZSJ9AAAGAAAAbGFiZWxzAAAAAAAAiv///wAAAgACAAAAdXAAAAAAEgAYABQAAAATAAwAAAAIAAQAEgAAABQAAABEAAAATAAAAAAAAApMAAAAAQAAAAwAAAAIAAwACAAEAAgAAAAIAAAAEAAAAAQAAABUaW1lAAAAAAQAAABuYW1lAAAAAAAAAAAAAAYACAAGAAYAAAAAAAMABAAAAFRpbWUAAAAA/////7gAAAAUAAAAAAAAAAwAFgAUABMADAAEAAwAAAAQAAAAAAAAABQAAAAAAAADBAAKABgADAAIAAQACgAAABQAAABYAAAAAQAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAQEuAkJ/r7BMAAAAAAAAAABAAAAAMABQAEgAMAAgABAAMAAAAEAAAACwAAAA8AAAAAAAEAAEAAAD4AQAAAAAAAMAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoADAAAAAgABAAKAAAACAAAAIwAAAADAAAATAAAACgAAAAEAAAAqP7//wgAAAAMAAAAAAAAAAAAAAAFAAAAcmVmSWQAAADI/v//CAAAAAwAAAAAAAAAAAAAAAQAAABuYW1lAAAAAOj+//8IAAAAJAAAABoAAAB7InR5cGUiOiJ0aW1lc2VyaWVzLW1hbnkifQAABAAAAG1ldGEAAAAAAgAAALwAAAAEAAAAXv///xQAAACEAAAAhAAAAAAAAAOEAAAAAgAAACgAAAAEAAAAUP///wgAAAAMAAAAAgAAAHVwAAAEAAAAbmFtZQAAAABw////CAAAADQAAAAqAAAAeyJpbnN0YW5jZSI6ImxvY2FsaG9zdDo5MTAwIiwiam9iIjoibm9kZSJ9AAAGAAAAbGFiZWxzAAAAAAAAiv///wAAAgACAAAAdXAAAAAAEgAYABQAAAATAAwAAAAIAAQAEgAAABQAAABEAAAATAAAAAAAAApMAAAAAQAAAAwAAAAIAAwACAAEAAgAAAAIAAAAEAAAAAQAAABUaW1lAAAAAAQAAABuYW1lAAAAAAAAAAAAAAYACAAGAAYAAAAAAAMABAAAAFRpbWUAAAAAGAIAAEFSUk9XMQ==
|
||||
FRAME=QVJST1cxAAD/////CAIAABAAAAAAAAoADgAMAAsABAAKAAAAFAAAAAAAAAEEAAoADAAAAAgABAAKAAAACAAAAIwAAAADAAAATAAAACgAAAAEAAAAjP7//wgAAAAMAAAAAAAAAAAAAAAFAAAAcmVmSWQAAACs/v//CAAAAAwAAAAAAAAAAAAAAAQAAABuYW1lAAAAAMz+//8IAAAAJAAAABoAAAB7InR5cGUiOiJ0aW1lc2VyaWVzLW1hbnkifQAABAAAAG1ldGEAAAAAAgAAANgAAAAEAAAAQv///xQAAACgAAAAoAAAAAAAAAOgAAAAAgAAACwAAAAEAAAANP///wgAAAAQAAAABQAAAFZhbHVlAAAABAAAAG5hbWUAAAAAWP///wgAAABMAAAAQAAAAHsiX19uYW1lX18iOiJ1cCIsImluc3RhbmNlIjoibG9jYWxob3N0OjkwOTAiLCJqb2IiOiJwcm9tZXRoZXVzIn0AAAAABgAAAGxhYmVscwAAAAAAAIr///8AAAIABQAAAFZhbHVlABIAGAAUAAAAEwAMAAAACAAEABIAAAAUAAAARAAAAEwAAAAAAAAKTAAAAAEAAAAMAAAACAAMAAgABAAIAAAACAAAABAAAAAEAAAAVGltZQAAAAAEAAAAbmFtZQAAAAAAAAAAAAAGAAgABgAGAAAAAAADAAQAAABUaW1lAAAAAAAAAAD/////uAAAABQAAAAAAAAADAAWABQAEwAMAAQADAAAABAAAAAAAAAAFAAAAAAAAAMEAAoAGAAMAAgABAAKAAAAFAAAAFgAAAABAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAAAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAABAS4CQn+vsEwAAAAAAAPA/EAAAAAwAFAASAAwACAAEAAwAAAAQAAAALAAAADgAAAAAAAQAAQAAABgCAAAAAAAAwAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAKAAwAAAAIAAQACgAAAAgAAACMAAAAAwAAAEwAAAAoAAAABAAAAIz+//8IAAAADAAAAAAAAAAAAAAABQAAAHJlZklkAAAArP7//wgAAAAMAAAAAAAAAAAAAAAEAAAAbmFtZQAAAADM/v//CAAAACQAAAAaAAAAeyJ0eXBlIjoidGltZXNlcmllcy1tYW55In0AAAQAAABtZXRhAAAAAAIAAADYAAAABAAAAEL///8UAAAAoAAAAKAAAAAAAAADoAAAAAIAAAAsAAAABAAAADT///8IAAAAEAAAAAUAAABWYWx1ZQAAAAQAAABuYW1lAAAAAFj///8IAAAATAAAAEAAAAB7Il9fbmFtZV9fIjoidXAiLCJpbnN0YW5jZSI6ImxvY2FsaG9zdDo5MDkwIiwiam9iIjoicHJvbWV0aGV1cyJ9AAAAAAYAAABsYWJlbHMAAAAAAACK////AAACAAUAAABWYWx1ZQASABgAFAAAABMADAAAAAgABAASAAAAFAAAAEQAAABMAAAAAAAACkwAAAABAAAADAAAAAgADAAIAAQACAAAAAgAAAAQAAAABAAAAFRpbWUAAAAABAAAAG5hbWUAAAAAAAAAAAAABgAIAAYABgAAAAAAAwAEAAAAVGltZQAAAAAwAgAAQVJST1cx
|
||||
FRAME=QVJST1cxAAD/////AAIAABAAAAAAAAoADgAMAAsABAAKAAAAFAAAAAAAAAEEAAoADAAAAAgABAAKAAAACAAAAIwAAAADAAAATAAAACgAAAAEAAAAlP7//wgAAAAMAAAAAAAAAAAAAAAFAAAAcmVmSWQAAAC0/v//CAAAAAwAAAAAAAAAAAAAAAQAAABuYW1lAAAAANT+//8IAAAAJAAAABoAAAB7InR5cGUiOiJ0aW1lc2VyaWVzLW1hbnkifQAABAAAAG1ldGEAAAAAAgAAANAAAAAEAAAASv///xQAAACYAAAAmAAAAAAAAAOYAAAAAgAAACwAAAAEAAAAPP///wgAAAAQAAAABQAAAFZhbHVlAAAABAAAAG5hbWUAAAAAYP///wgAAABEAAAAOgAAAHsiX19uYW1lX18iOiJ1cCIsImluc3RhbmNlIjoibG9jYWxob3N0OjkxMDAiLCJqb2IiOiJub2RlIn0AAAYAAABsYWJlbHMAAAAAAACK////AAACAAUAAABWYWx1ZQASABgAFAAAABMADAAAAAgABAASAAAAFAAAAEQAAABMAAAAAAAACkwAAAABAAAADAAAAAgADAAIAAQACAAAAAgAAAAQAAAABAAAAFRpbWUAAAAABAAAAG5hbWUAAAAAAAAAAAAABgAIAAYABgAAAAAAAwAEAAAAVGltZQAAAAAAAAAA/////7gAAAAUAAAAAAAAAAwAFgAUABMADAAEAAwAAAAQAAAAAAAAABQAAAAAAAADBAAKABgADAAIAAQACgAAABQAAABYAAAAAQAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAQEuAkJ/r7BMAAAAAAAAAABAAAAAMABQAEgAMAAgABAAMAAAAEAAAACwAAAA4AAAAAAAEAAEAAAAQAgAAAAAAAMAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAACgAMAAAACAAEAAoAAAAIAAAAjAAAAAMAAABMAAAAKAAAAAQAAACU/v//CAAAAAwAAAAAAAAAAAAAAAUAAAByZWZJZAAAALT+//8IAAAADAAAAAAAAAAAAAAABAAAAG5hbWUAAAAA1P7//wgAAAAkAAAAGgAAAHsidHlwZSI6InRpbWVzZXJpZXMtbWFueSJ9AAAEAAAAbWV0YQAAAAACAAAA0AAAAAQAAABK////FAAAAJgAAACYAAAAAAAAA5gAAAACAAAALAAAAAQAAAA8////CAAAABAAAAAFAAAAVmFsdWUAAAAEAAAAbmFtZQAAAABg////CAAAAEQAAAA6AAAAeyJfX25hbWVfXyI6InVwIiwiaW5zdGFuY2UiOiJsb2NhbGhvc3Q6OTEwMCIsImpvYiI6Im5vZGUifQAABgAAAGxhYmVscwAAAAAAAIr///8AAAIABQAAAFZhbHVlABIAGAAUAAAAEwAMAAAACAAEABIAAAAUAAAARAAAAEwAAAAAAAAKTAAAAAEAAAAMAAAACAAMAAgABAAIAAAACAAAABAAAAAEAAAAVGltZQAAAAAEAAAAbmFtZQAAAAAAAAAAAAAGAAgABgAGAAAAAAADAAQAAABUaW1lAAAAACgCAABBUlJPVzE=
|
||||
FRAME=QVJST1cxAAD/////6AEAABAAAAAAAAoADgAMAAsABAAKAAAAFAAAAAAAAAEEAAoADAAAAAgABAAKAAAACAAAAIwAAAADAAAATAAAACgAAAAEAAAArP7//wgAAAAMAAAAAAAAAAAAAAAFAAAAcmVmSWQAAADM/v//CAAAAAwAAAAAAAAAAAAAAAQAAABuYW1lAAAAAOz+//8IAAAAJAAAABoAAAB7InR5cGUiOiJ0aW1lc2VyaWVzLW1hbnkifQAABAAAAG1ldGEAAAAAAgAAALgAAAAEAAAAYv///xQAAACAAAAAgAAAAAAAAAOAAAAAAgAAACwAAAAEAAAAVP///wgAAAAQAAAABQAAAFZhbHVlAAAABAAAAG5hbWUAAAAAeP///wgAAAAsAAAAIwAAAHsibGV2ZWwiOiJlcnJvciIsImxvY2F0aW9uIjoibW9vbiJ9AAYAAABsYWJlbHMAAAAAAACK////AAACAAUAAABWYWx1ZQASABgAFAAAABMADAAAAAgABAASAAAAFAAAAEQAAABMAAAAAAAACkwAAAABAAAADAAAAAgADAAIAAQACAAAAAgAAAAQAAAABAAAAFRpbWUAAAAABAAAAG5hbWUAAAAAAAAAAAAABgAIAAYABgAAAAAAAwAEAAAAVGltZQAAAAAAAAAA/////7gAAAAUAAAAAAAAAAwAFgAUABMADAAEAAwAAAAQAAAAAAAAABQAAAAAAAADBAAKABgADAAIAAQACgAAABQAAABYAAAAAQAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAN7cpctR1BYAAAAAAADwfxAAAAAMABQAEgAMAAgABAAMAAAAEAAAACwAAAA4AAAAAAAEAAEAAAD4AQAAAAAAAMAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAACgAMAAAACAAEAAoAAAAIAAAAjAAAAAMAAABMAAAAKAAAAAQAAACs/v//CAAAAAwAAAAAAAAAAAAAAAUAAAByZWZJZAAAAMz+//8IAAAADAAAAAAAAAAAAAAABAAAAG5hbWUAAAAA7P7//wgAAAAkAAAAGgAAAHsidHlwZSI6InRpbWVzZXJpZXMtbWFueSJ9AAAEAAAAbWV0YQAAAAACAAAAuAAAAAQAAABi////FAAAAIAAAACAAAAAAAAAA4AAAAACAAAALAAAAAQAAABU////CAAAABAAAAAFAAAAVmFsdWUAAAAEAAAAbmFtZQAAAAB4////CAAAACwAAAAjAAAAeyJsZXZlbCI6ImVycm9yIiwibG9jYXRpb24iOiJtb29uIn0ABgAAAGxhYmVscwAAAAAAAIr///8AAAIABQAAAFZhbHVlABIAGAAUAAAAEwAMAAAACAAEABIAAAAUAAAARAAAAEwAAAAAAAAKTAAAAAEAAAAMAAAACAAMAAgABAAIAAAACAAAABAAAAAEAAAAVGltZQAAAAAEAAAAbmFtZQAAAAAAAAAAAAAGAAgABgAGAAAAAAADAAQAAABUaW1lAAAAABACAABBUlJPVzE=
|
||||
FRAME=QVJST1cxAAD/////6AEAABAAAAAAAAoADgAMAAsABAAKAAAAFAAAAAAAAAEEAAoADAAAAAgABAAKAAAACAAAAIwAAAADAAAATAAAACgAAAAEAAAArP7//wgAAAAMAAAAAAAAAAAAAAAFAAAAcmVmSWQAAADM/v//CAAAAAwAAAAAAAAAAAAAAAQAAABuYW1lAAAAAOz+//8IAAAAJAAAABoAAAB7InR5cGUiOiJ0aW1lc2VyaWVzLW1hbnkifQAABAAAAG1ldGEAAAAAAgAAALgAAAAEAAAAYv///xQAAACAAAAAgAAAAAAAAAOAAAAAAgAAACwAAAAEAAAAVP///wgAAAAQAAAABQAAAFZhbHVlAAAABAAAAG5hbWUAAAAAeP///wgAAAAsAAAAIgAAAHsibGV2ZWwiOiJpbmZvIiwibG9jYXRpb24iOiJtb29uIn0AAAYAAABsYWJlbHMAAAAAAACK////AAACAAUAAABWYWx1ZQASABgAFAAAABMADAAAAAgABAASAAAAFAAAAEQAAABMAAAAAAAACkwAAAABAAAADAAAAAgADAAIAAQACAAAAAgAAAAQAAAABAAAAFRpbWUAAAAABAAAAG5hbWUAAAAAAAAAAAAABgAIAAYABgAAAAAAAwAEAAAAVGltZQAAAAAAAAAA/////7gAAAAUAAAAAAAAAAwAFgAUABMADAAEAAwAAAAQAAAAAAAAABQAAAAAAAADBAAKABgADAAIAAQACgAAABQAAABYAAAAAQAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAN7cpctR1BYAAAAAAADw/xAAAAAMABQAEgAMAAgABAAMAAAAEAAAACwAAAA4AAAAAAAEAAEAAAD4AQAAAAAAAMAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAACgAMAAAACAAEAAoAAAAIAAAAjAAAAAMAAABMAAAAKAAAAAQAAACs/v//CAAAAAwAAAAAAAAAAAAAAAUAAAByZWZJZAAAAMz+//8IAAAADAAAAAAAAAAAAAAABAAAAG5hbWUAAAAA7P7//wgAAAAkAAAAGgAAAHsidHlwZSI6InRpbWVzZXJpZXMtbWFueSJ9AAAEAAAAbWV0YQAAAAACAAAAuAAAAAQAAABi////FAAAAIAAAACAAAAAAAAAA4AAAAACAAAALAAAAAQAAABU////CAAAABAAAAAFAAAAVmFsdWUAAAAEAAAAbmFtZQAAAAB4////CAAAACwAAAAiAAAAeyJsZXZlbCI6ImluZm8iLCJsb2NhdGlvbiI6Im1vb24ifQAABgAAAGxhYmVscwAAAAAAAIr///8AAAIABQAAAFZhbHVlABIAGAAUAAAAEwAMAAAACAAEABIAAAAUAAAARAAAAEwAAAAAAAAKTAAAAAEAAAAMAAAACAAMAAgABAAIAAAACAAAABAAAAAEAAAAVGltZQAAAAAEAAAAbmFtZQAAAAAAAAAAAAAGAAgABgAGAAAAAAADAAQAAABUaW1lAAAAABACAABBUlJPVzE=
|
||||
FRAME=QVJST1cxAAD/////6AEAABAAAAAAAAoADgAMAAsABAAKAAAAFAAAAAAAAAEEAAoADAAAAAgABAAKAAAACAAAAIwAAAADAAAATAAAACgAAAAEAAAArP7//wgAAAAMAAAAAAAAAAAAAAAFAAAAcmVmSWQAAADM/v//CAAAAAwAAAAAAAAAAAAAAAQAAABuYW1lAAAAAOz+//8IAAAAJAAAABoAAAB7InR5cGUiOiJ0aW1lc2VyaWVzLW1hbnkifQAABAAAAG1ldGEAAAAAAgAAALgAAAAEAAAAYv///xQAAACAAAAAgAAAAAAAAAOAAAAAAgAAACwAAAAEAAAAVP///wgAAAAQAAAABQAAAFZhbHVlAAAABAAAAG5hbWUAAAAAeP///wgAAAAsAAAAIwAAAHsibGV2ZWwiOiJkZWJ1ZyIsImxvY2F0aW9uIjoibW9vbiJ9AAYAAABsYWJlbHMAAAAAAACK////AAACAAUAAABWYWx1ZQASABgAFAAAABMADAAAAAgABAASAAAAFAAAAEQAAABMAAAAAAAACkwAAAABAAAADAAAAAgADAAIAAQACAAAAAgAAAAQAAAABAAAAFRpbWUAAAAABAAAAG5hbWUAAAAAAAAAAAAABgAIAAYABgAAAAAAAwAEAAAAVGltZQAAAAAAAAAA/////7gAAAAUAAAAAAAAAAwAFgAUABMADAAEAAwAAAAQAAAAAAAAABQAAAAAAAADBAAKABgADAAIAAQACgAAABQAAABYAAAAAQAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAN7cpctR1BYBAAAAAAD4fxAAAAAMABQAEgAMAAgABAAMAAAAEAAAACwAAAA4AAAAAAAEAAEAAAD4AQAAAAAAAMAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAACgAMAAAACAAEAAoAAAAIAAAAjAAAAAMAAABMAAAAKAAAAAQAAACs/v//CAAAAAwAAAAAAAAAAAAAAAUAAAByZWZJZAAAAMz+//8IAAAADAAAAAAAAAAAAAAABAAAAG5hbWUAAAAA7P7//wgAAAAkAAAAGgAAAHsidHlwZSI6InRpbWVzZXJpZXMtbWFueSJ9AAAEAAAAbWV0YQAAAAACAAAAuAAAAAQAAABi////FAAAAIAAAACAAAAAAAAAA4AAAAACAAAALAAAAAQAAABU////CAAAABAAAAAFAAAAVmFsdWUAAAAEAAAAbmFtZQAAAAB4////CAAAACwAAAAjAAAAeyJsZXZlbCI6ImRlYnVnIiwibG9jYXRpb24iOiJtb29uIn0ABgAAAGxhYmVscwAAAAAAAIr///8AAAIABQAAAFZhbHVlABIAGAAUAAAAEwAMAAAACAAEABIAAAAUAAAARAAAAEwAAAAAAAAKTAAAAAEAAAAMAAAACAAMAAgABAAIAAAACAAAABAAAAAEAAAAVGltZQAAAAAEAAAAbmFtZQAAAAAAAAAAAAAGAAgABgAGAAAAAAADAAQAAABUaW1lAAAAABACAABBUlJPVzE=
|
||||
|
@ -24,12 +24,13 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "up",
|
||||
"name": "Value",
|
||||
"type": "number",
|
||||
"typeInfo": {
|
||||
"frame": "float64"
|
||||
},
|
||||
"labels": {
|
||||
"__name__": "up",
|
||||
"instance": "localhost:9090",
|
||||
"job": "prometheus"
|
||||
}
|
||||
@ -71,12 +72,13 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "up",
|
||||
"name": "Value",
|
||||
"type": "number",
|
||||
"typeInfo": {
|
||||
"frame": "float64"
|
||||
},
|
||||
"labels": {
|
||||
"__name__": "up",
|
||||
"instance": "localhost:9100",
|
||||
"job": "node"
|
||||
}
|
||||
|
@ -15,13 +15,13 @@ Frame[0] {
|
||||
}
|
||||
Name:
|
||||
Dimensions: 2 Fields by 1 Rows
|
||||
+-----------------------------------+-------------------------------------------------+
|
||||
| Name: Time | Name: up |
|
||||
| Labels: | Labels: instance=localhost:9090, job=prometheus |
|
||||
| Type: []time.Time | Type: []float64 |
|
||||
+-----------------------------------+-------------------------------------------------+
|
||||
| 2015-07-01 20:10:51.781 +0000 UTC | 1 |
|
||||
+-----------------------------------+-------------------------------------------------+
|
||||
+-----------------------------------+--------------------------------------------------------------+
|
||||
| Name: Time | Name: Value |
|
||||
| Labels: | Labels: __name__=up, instance=localhost:9090, job=prometheus |
|
||||
| Type: []time.Time | Type: []float64 |
|
||||
+-----------------------------------+--------------------------------------------------------------+
|
||||
| 2015-07-01 20:10:51.781 +0000 UTC | 1 |
|
||||
+-----------------------------------+--------------------------------------------------------------+
|
||||
|
||||
|
||||
|
||||
@ -40,13 +40,13 @@ Frame[1] {
|
||||
}
|
||||
Name:
|
||||
Dimensions: 2 Fields by 1 Rows
|
||||
+-----------------------------------+-------------------------------------------+
|
||||
| Name: Time | Name: up |
|
||||
| Labels: | Labels: instance=localhost:9100, job=node |
|
||||
| Type: []time.Time | Type: []float64 |
|
||||
+-----------------------------------+-------------------------------------------+
|
||||
| 2015-07-01 20:10:51.781 +0000 UTC | 0 |
|
||||
+-----------------------------------+-------------------------------------------+
|
||||
+-----------------------------------+--------------------------------------------------------+
|
||||
| Name: Time | Name: Value |
|
||||
| Labels: | Labels: __name__=up, instance=localhost:9100, job=node |
|
||||
| Type: []time.Time | Type: []float64 |
|
||||
+-----------------------------------+--------------------------------------------------------+
|
||||
| 2015-07-01 20:10:51.781 +0000 UTC | 0 |
|
||||
+-----------------------------------+--------------------------------------------------------+
|
||||
|
||||
|
||||
|
||||
@ -125,8 +125,8 @@ Dimensions: 2 Fields by 1 Rows
|
||||
|
||||
|
||||
====== TEST DATA RESPONSE (arrow base64) ======
|
||||
FRAME=QVJST1cxAAD/////UAIAABAAAAAAAAoADgAMAAsABAAKAAAAFAAAAAAAAAEEAAoADAAAAAgABAAKAAAACAAAAOwAAAADAAAATAAAACgAAAAEAAAAQP7//wgAAAAMAAAAAAAAAAAAAAAFAAAAcmVmSWQAAABg/v//CAAAAAwAAAAAAAAAAAAAAAQAAABuYW1lAAAAAID+//8IAAAAhAAAAHoAAAB7InR5cGUiOiJ0aW1lc2VyaWVzLW1hbnkiLCJub3RpY2VzIjpbeyJzZXZlcml0eSI6Indhcm5pbmciLCJ0ZXh0Ijoid2FybmluZyAxIn0seyJzZXZlcml0eSI6Indhcm5pbmciLCJ0ZXh0Ijoid2FybmluZyAyIn1dfQAABAAAAG1ldGEAAAAAAgAAAMQAAAAEAAAAVv///xQAAACMAAAAjAAAAAAAAAOMAAAAAgAAACgAAAAEAAAASP///wgAAAAMAAAAAgAAAHVwAAAEAAAAbmFtZQAAAABo////CAAAADwAAAAwAAAAeyJpbnN0YW5jZSI6ImxvY2FsaG9zdDo5MDkwIiwiam9iIjoicHJvbWV0aGV1cyJ9AAAAAAYAAABsYWJlbHMAAAAAAACK////AAACAAIAAAB1cAAAAAASABgAFAAAABMADAAAAAgABAASAAAAFAAAAEQAAABMAAAAAAAACkwAAAABAAAADAAAAAgADAAIAAQACAAAAAgAAAAQAAAABAAAAFRpbWUAAAAABAAAAG5hbWUAAAAAAAAAAAAABgAIAAYABgAAAAAAAwAEAAAAVGltZQAAAAD/////uAAAABQAAAAAAAAADAAWABQAEwAMAAQADAAAABAAAAAAAAAAFAAAAAAAAAMEAAoAGAAMAAgABAAKAAAAFAAAAFgAAAABAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAAAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAABAS4CQn+vsEwAAAAAAAPA/EAAAAAwAFAASAAwACAAEAAwAAAAQAAAALAAAADwAAAAAAAQAAQAAAGACAAAAAAAAwAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAMAAAACAAEAAoAAAAIAAAA7AAAAAMAAABMAAAAKAAAAAQAAABA/v//CAAAAAwAAAAAAAAAAAAAAAUAAAByZWZJZAAAAGD+//8IAAAADAAAAAAAAAAAAAAABAAAAG5hbWUAAAAAgP7//wgAAACEAAAAegAAAHsidHlwZSI6InRpbWVzZXJpZXMtbWFueSIsIm5vdGljZXMiOlt7InNldmVyaXR5Ijoid2FybmluZyIsInRleHQiOiJ3YXJuaW5nIDEifSx7InNldmVyaXR5Ijoid2FybmluZyIsInRleHQiOiJ3YXJuaW5nIDIifV19AAAEAAAAbWV0YQAAAAACAAAAxAAAAAQAAABW////FAAAAIwAAACMAAAAAAAAA4wAAAACAAAAKAAAAAQAAABI////CAAAAAwAAAACAAAAdXAAAAQAAABuYW1lAAAAAGj///8IAAAAPAAAADAAAAB7Imluc3RhbmNlIjoibG9jYWxob3N0OjkwOTAiLCJqb2IiOiJwcm9tZXRoZXVzIn0AAAAABgAAAGxhYmVscwAAAAAAAIr///8AAAIAAgAAAHVwAAAAABIAGAAUAAAAEwAMAAAACAAEABIAAAAUAAAARAAAAEwAAAAAAAAKTAAAAAEAAAAMAAAACAAMAAgABAAIAAAACAAAABAAAAAEAAAAVGltZQAAAAAEAAAAbmFtZQAAAAAAAAAAAAAGAAgABgAGAAAAAAADAAQAAABUaW1lAAAAAIACAABBUlJPVzE=
|
||||
FRAME=QVJST1cxAAD/////SAIAABAAAAAAAAoADgAMAAsABAAKAAAAFAAAAAAAAAEEAAoADAAAAAgABAAKAAAACAAAAOwAAAADAAAATAAAACgAAAAEAAAASP7//wgAAAAMAAAAAAAAAAAAAAAFAAAAcmVmSWQAAABo/v//CAAAAAwAAAAAAAAAAAAAAAQAAABuYW1lAAAAAIj+//8IAAAAhAAAAHoAAAB7InR5cGUiOiJ0aW1lc2VyaWVzLW1hbnkiLCJub3RpY2VzIjpbeyJzZXZlcml0eSI6Indhcm5pbmciLCJ0ZXh0Ijoid2FybmluZyAxIn0seyJzZXZlcml0eSI6Indhcm5pbmciLCJ0ZXh0Ijoid2FybmluZyAyIn1dfQAABAAAAG1ldGEAAAAAAgAAALwAAAAEAAAAXv///xQAAACEAAAAhAAAAAAAAAOEAAAAAgAAACgAAAAEAAAAUP///wgAAAAMAAAAAgAAAHVwAAAEAAAAbmFtZQAAAABw////CAAAADQAAAAqAAAAeyJpbnN0YW5jZSI6ImxvY2FsaG9zdDo5MTAwIiwiam9iIjoibm9kZSJ9AAAGAAAAbGFiZWxzAAAAAAAAiv///wAAAgACAAAAdXAAAAAAEgAYABQAAAATAAwAAAAIAAQAEgAAABQAAABEAAAATAAAAAAAAApMAAAAAQAAAAwAAAAIAAwACAAEAAgAAAAIAAAAEAAAAAQAAABUaW1lAAAAAAQAAABuYW1lAAAAAAAAAAAAAAYACAAGAAYAAAAAAAMABAAAAFRpbWUAAAAA/////7gAAAAUAAAAAAAAAAwAFgAUABMADAAEAAwAAAAQAAAAAAAAABQAAAAAAAADBAAKABgADAAIAAQACgAAABQAAABYAAAAAQAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAQEuAkJ/r7BMAAAAAAAAAABAAAAAMABQAEgAMAAgABAAMAAAAEAAAACwAAAA8AAAAAAAEAAEAAABYAgAAAAAAAMAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoADAAAAAgABAAKAAAACAAAAOwAAAADAAAATAAAACgAAAAEAAAASP7//wgAAAAMAAAAAAAAAAAAAAAFAAAAcmVmSWQAAABo/v//CAAAAAwAAAAAAAAAAAAAAAQAAABuYW1lAAAAAIj+//8IAAAAhAAAAHoAAAB7InR5cGUiOiJ0aW1lc2VyaWVzLW1hbnkiLCJub3RpY2VzIjpbeyJzZXZlcml0eSI6Indhcm5pbmciLCJ0ZXh0Ijoid2FybmluZyAxIn0seyJzZXZlcml0eSI6Indhcm5pbmciLCJ0ZXh0Ijoid2FybmluZyAyIn1dfQAABAAAAG1ldGEAAAAAAgAAALwAAAAEAAAAXv///xQAAACEAAAAhAAAAAAAAAOEAAAAAgAAACgAAAAEAAAAUP///wgAAAAMAAAAAgAAAHVwAAAEAAAAbmFtZQAAAABw////CAAAADQAAAAqAAAAeyJpbnN0YW5jZSI6ImxvY2FsaG9zdDo5MTAwIiwiam9iIjoibm9kZSJ9AAAGAAAAbGFiZWxzAAAAAAAAiv///wAAAgACAAAAdXAAAAAAEgAYABQAAAATAAwAAAAIAAQAEgAAABQAAABEAAAATAAAAAAAAApMAAAAAQAAAAwAAAAIAAwACAAEAAgAAAAIAAAAEAAAAAQAAABUaW1lAAAAAAQAAABuYW1lAAAAAAAAAAAAAAYACAAGAAYAAAAAAAMABAAAAFRpbWUAAAAAeAIAAEFSUk9XMQ==
|
||||
FRAME=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
|
||||
FRAME=QVJST1cxAAD/////YAIAABAAAAAAAAoADgAMAAsABAAKAAAAFAAAAAAAAAEEAAoADAAAAAgABAAKAAAACAAAAOwAAAADAAAATAAAACgAAAAEAAAANP7//wgAAAAMAAAAAAAAAAAAAAAFAAAAcmVmSWQAAABU/v//CAAAAAwAAAAAAAAAAAAAAAQAAABuYW1lAAAAAHT+//8IAAAAhAAAAHoAAAB7InR5cGUiOiJ0aW1lc2VyaWVzLW1hbnkiLCJub3RpY2VzIjpbeyJzZXZlcml0eSI6Indhcm5pbmciLCJ0ZXh0Ijoid2FybmluZyAxIn0seyJzZXZlcml0eSI6Indhcm5pbmciLCJ0ZXh0Ijoid2FybmluZyAyIn1dfQAABAAAAG1ldGEAAAAAAgAAANAAAAAEAAAASv///xQAAACYAAAAmAAAAAAAAAOYAAAAAgAAACwAAAAEAAAAPP///wgAAAAQAAAABQAAAFZhbHVlAAAABAAAAG5hbWUAAAAAYP///wgAAABEAAAAOgAAAHsiX19uYW1lX18iOiJ1cCIsImluc3RhbmNlIjoibG9jYWxob3N0OjkxMDAiLCJqb2IiOiJub2RlIn0AAAYAAABsYWJlbHMAAAAAAACK////AAACAAUAAABWYWx1ZQASABgAFAAAABMADAAAAAgABAASAAAAFAAAAEQAAABMAAAAAAAACkwAAAABAAAADAAAAAgADAAIAAQACAAAAAgAAAAQAAAABAAAAFRpbWUAAAAABAAAAG5hbWUAAAAAAAAAAAAABgAIAAYABgAAAAAAAwAEAAAAVGltZQAAAAAAAAAA/////7gAAAAUAAAAAAAAAAwAFgAUABMADAAEAAwAAAAQAAAAAAAAABQAAAAAAAADBAAKABgADAAIAAQACgAAABQAAABYAAAAAQAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAQEuAkJ/r7BMAAAAAAAAAABAAAAAMABQAEgAMAAgABAAMAAAAEAAAACwAAAA4AAAAAAAEAAEAAABwAgAAAAAAAMAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAACgAMAAAACAAEAAoAAAAIAAAA7AAAAAMAAABMAAAAKAAAAAQAAAA0/v//CAAAAAwAAAAAAAAAAAAAAAUAAAByZWZJZAAAAFT+//8IAAAADAAAAAAAAAAAAAAABAAAAG5hbWUAAAAAdP7//wgAAACEAAAAegAAAHsidHlwZSI6InRpbWVzZXJpZXMtbWFueSIsIm5vdGljZXMiOlt7InNldmVyaXR5Ijoid2FybmluZyIsInRleHQiOiJ3YXJuaW5nIDEifSx7InNldmVyaXR5Ijoid2FybmluZyIsInRleHQiOiJ3YXJuaW5nIDIifV19AAAEAAAAbWV0YQAAAAACAAAA0AAAAAQAAABK////FAAAAJgAAACYAAAAAAAAA5gAAAACAAAALAAAAAQAAAA8////CAAAABAAAAAFAAAAVmFsdWUAAAAEAAAAbmFtZQAAAABg////CAAAAEQAAAA6AAAAeyJfX25hbWVfXyI6InVwIiwiaW5zdGFuY2UiOiJsb2NhbGhvc3Q6OTEwMCIsImpvYiI6Im5vZGUifQAABgAAAGxhYmVscwAAAAAAAIr///8AAAIABQAAAFZhbHVlABIAGAAUAAAAEwAMAAAACAAEABIAAAAUAAAARAAAAEwAAAAAAAAKTAAAAAEAAAAMAAAACAAMAAgABAAIAAAACAAAABAAAAAEAAAAVGltZQAAAAAEAAAAbmFtZQAAAAAAAAAAAAAGAAgABgAGAAAAAAADAAQAAABUaW1lAAAAAIgCAABBUlJPVzE=
|
||||
FRAME=QVJST1cxAAD/////SAIAABAAAAAAAAoADgAMAAsABAAKAAAAFAAAAAAAAAEEAAoADAAAAAgABAAKAAAACAAAAOwAAAADAAAATAAAACgAAAAEAAAATP7//wgAAAAMAAAAAAAAAAAAAAAFAAAAcmVmSWQAAABs/v//CAAAAAwAAAAAAAAAAAAAAAQAAABuYW1lAAAAAIz+//8IAAAAhAAAAHoAAAB7InR5cGUiOiJ0aW1lc2VyaWVzLW1hbnkiLCJub3RpY2VzIjpbeyJzZXZlcml0eSI6Indhcm5pbmciLCJ0ZXh0Ijoid2FybmluZyAxIn0seyJzZXZlcml0eSI6Indhcm5pbmciLCJ0ZXh0Ijoid2FybmluZyAyIn1dfQAABAAAAG1ldGEAAAAAAgAAALgAAAAEAAAAYv///xQAAACAAAAAgAAAAAAAAAOAAAAAAgAAACwAAAAEAAAAVP///wgAAAAQAAAABQAAAFZhbHVlAAAABAAAAG5hbWUAAAAAeP///wgAAAAsAAAAIwAAAHsibGV2ZWwiOiJlcnJvciIsImxvY2F0aW9uIjoibW9vbiJ9AAYAAABsYWJlbHMAAAAAAACK////AAACAAUAAABWYWx1ZQASABgAFAAAABMADAAAAAgABAASAAAAFAAAAEQAAABMAAAAAAAACkwAAAABAAAADAAAAAgADAAIAAQACAAAAAgAAAAQAAAABAAAAFRpbWUAAAAABAAAAG5hbWUAAAAAAAAAAAAABgAIAAYABgAAAAAAAwAEAAAAVGltZQAAAAAAAAAA/////7gAAAAUAAAAAAAAAAwAFgAUABMADAAEAAwAAAAQAAAAAAAAABQAAAAAAAADBAAKABgADAAIAAQACgAAABQAAABYAAAAAQAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAN7cpctR1BYAAAAAAADwfxAAAAAMABQAEgAMAAgABAAMAAAAEAAAACwAAAA4AAAAAAAEAAEAAABYAgAAAAAAAMAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAACgAMAAAACAAEAAoAAAAIAAAA7AAAAAMAAABMAAAAKAAAAAQAAABM/v//CAAAAAwAAAAAAAAAAAAAAAUAAAByZWZJZAAAAGz+//8IAAAADAAAAAAAAAAAAAAABAAAAG5hbWUAAAAAjP7//wgAAACEAAAAegAAAHsidHlwZSI6InRpbWVzZXJpZXMtbWFueSIsIm5vdGljZXMiOlt7InNldmVyaXR5Ijoid2FybmluZyIsInRleHQiOiJ3YXJuaW5nIDEifSx7InNldmVyaXR5Ijoid2FybmluZyIsInRleHQiOiJ3YXJuaW5nIDIifV19AAAEAAAAbWV0YQAAAAACAAAAuAAAAAQAAABi////FAAAAIAAAACAAAAAAAAAA4AAAAACAAAALAAAAAQAAABU////CAAAABAAAAAFAAAAVmFsdWUAAAAEAAAAbmFtZQAAAAB4////CAAAACwAAAAjAAAAeyJsZXZlbCI6ImVycm9yIiwibG9jYXRpb24iOiJtb29uIn0ABgAAAGxhYmVscwAAAAAAAIr///8AAAIABQAAAFZhbHVlABIAGAAUAAAAEwAMAAAACAAEABIAAAAUAAAARAAAAEwAAAAAAAAKTAAAAAEAAAAMAAAACAAMAAgABAAIAAAACAAAABAAAAAEAAAAVGltZQAAAAAEAAAAbmFtZQAAAAAAAAAAAAAGAAgABgAGAAAAAAADAAQAAABUaW1lAAAAAHACAABBUlJPVzE=
|
||||
FRAME=QVJST1cxAAD/////SAIAABAAAAAAAAoADgAMAAsABAAKAAAAFAAAAAAAAAEEAAoADAAAAAgABAAKAAAACAAAAOwAAAADAAAATAAAACgAAAAEAAAATP7//wgAAAAMAAAAAAAAAAAAAAAFAAAAcmVmSWQAAABs/v//CAAAAAwAAAAAAAAAAAAAAAQAAABuYW1lAAAAAIz+//8IAAAAhAAAAHoAAAB7InR5cGUiOiJ0aW1lc2VyaWVzLW1hbnkiLCJub3RpY2VzIjpbeyJzZXZlcml0eSI6Indhcm5pbmciLCJ0ZXh0Ijoid2FybmluZyAxIn0seyJzZXZlcml0eSI6Indhcm5pbmciLCJ0ZXh0Ijoid2FybmluZyAyIn1dfQAABAAAAG1ldGEAAAAAAgAAALgAAAAEAAAAYv///xQAAACAAAAAgAAAAAAAAAOAAAAAAgAAACwAAAAEAAAAVP///wgAAAAQAAAABQAAAFZhbHVlAAAABAAAAG5hbWUAAAAAeP///wgAAAAsAAAAIgAAAHsibGV2ZWwiOiJpbmZvIiwibG9jYXRpb24iOiJtb29uIn0AAAYAAABsYWJlbHMAAAAAAACK////AAACAAUAAABWYWx1ZQASABgAFAAAABMADAAAAAgABAASAAAAFAAAAEQAAABMAAAAAAAACkwAAAABAAAADAAAAAgADAAIAAQACAAAAAgAAAAQAAAABAAAAFRpbWUAAAAABAAAAG5hbWUAAAAAAAAAAAAABgAIAAYABgAAAAAAAwAEAAAAVGltZQAAAAAAAAAA/////7gAAAAUAAAAAAAAAAwAFgAUABMADAAEAAwAAAAQAAAAAAAAABQAAAAAAAADBAAKABgADAAIAAQACgAAABQAAABYAAAAAQAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAN7cpctR1BYAAAAAAADw/xAAAAAMABQAEgAMAAgABAAMAAAAEAAAACwAAAA4AAAAAAAEAAEAAABYAgAAAAAAAMAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAACgAMAAAACAAEAAoAAAAIAAAA7AAAAAMAAABMAAAAKAAAAAQAAABM/v//CAAAAAwAAAAAAAAAAAAAAAUAAAByZWZJZAAAAGz+//8IAAAADAAAAAAAAAAAAAAABAAAAG5hbWUAAAAAjP7//wgAAACEAAAAegAAAHsidHlwZSI6InRpbWVzZXJpZXMtbWFueSIsIm5vdGljZXMiOlt7InNldmVyaXR5Ijoid2FybmluZyIsInRleHQiOiJ3YXJuaW5nIDEifSx7InNldmVyaXR5Ijoid2FybmluZyIsInRleHQiOiJ3YXJuaW5nIDIifV19AAAEAAAAbWV0YQAAAAACAAAAuAAAAAQAAABi////FAAAAIAAAACAAAAAAAAAA4AAAAACAAAALAAAAAQAAABU////CAAAABAAAAAFAAAAVmFsdWUAAAAEAAAAbmFtZQAAAAB4////CAAAACwAAAAiAAAAeyJsZXZlbCI6ImluZm8iLCJsb2NhdGlvbiI6Im1vb24ifQAABgAAAGxhYmVscwAAAAAAAIr///8AAAIABQAAAFZhbHVlABIAGAAUAAAAEwAMAAAACAAEABIAAAAUAAAARAAAAEwAAAAAAAAKTAAAAAEAAAAMAAAACAAMAAgABAAIAAAACAAAABAAAAAEAAAAVGltZQAAAAAEAAAAbmFtZQAAAAAAAAAAAAAGAAgABgAGAAAAAAADAAQAAABUaW1lAAAAAHACAABBUlJPVzE=
|
||||
FRAME=QVJST1cxAAD/////SAIAABAAAAAAAAoADgAMAAsABAAKAAAAFAAAAAAAAAEEAAoADAAAAAgABAAKAAAACAAAAOwAAAADAAAATAAAACgAAAAEAAAATP7//wgAAAAMAAAAAAAAAAAAAAAFAAAAcmVmSWQAAABs/v//CAAAAAwAAAAAAAAAAAAAAAQAAABuYW1lAAAAAIz+//8IAAAAhAAAAHoAAAB7InR5cGUiOiJ0aW1lc2VyaWVzLW1hbnkiLCJub3RpY2VzIjpbeyJzZXZlcml0eSI6Indhcm5pbmciLCJ0ZXh0Ijoid2FybmluZyAxIn0seyJzZXZlcml0eSI6Indhcm5pbmciLCJ0ZXh0Ijoid2FybmluZyAyIn1dfQAABAAAAG1ldGEAAAAAAgAAALgAAAAEAAAAYv///xQAAACAAAAAgAAAAAAAAAOAAAAAAgAAACwAAAAEAAAAVP///wgAAAAQAAAABQAAAFZhbHVlAAAABAAAAG5hbWUAAAAAeP///wgAAAAsAAAAIwAAAHsibGV2ZWwiOiJkZWJ1ZyIsImxvY2F0aW9uIjoibW9vbiJ9AAYAAABsYWJlbHMAAAAAAACK////AAACAAUAAABWYWx1ZQASABgAFAAAABMADAAAAAgABAASAAAAFAAAAEQAAABMAAAAAAAACkwAAAABAAAADAAAAAgADAAIAAQACAAAAAgAAAAQAAAABAAAAFRpbWUAAAAABAAAAG5hbWUAAAAAAAAAAAAABgAIAAYABgAAAAAAAwAEAAAAVGltZQAAAAAAAAAA/////7gAAAAUAAAAAAAAAAwAFgAUABMADAAEAAwAAAAQAAAAAAAAABQAAAAAAAADBAAKABgADAAIAAQACgAAABQAAABYAAAAAQAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAN7cpctR1BYBAAAAAAD4fxAAAAAMABQAEgAMAAgABAAMAAAAEAAAACwAAAA4AAAAAAAEAAEAAABYAgAAAAAAAMAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAACgAMAAAACAAEAAoAAAAIAAAA7AAAAAMAAABMAAAAKAAAAAQAAABM/v//CAAAAAwAAAAAAAAAAAAAAAUAAAByZWZJZAAAAGz+//8IAAAADAAAAAAAAAAAAAAABAAAAG5hbWUAAAAAjP7//wgAAACEAAAAegAAAHsidHlwZSI6InRpbWVzZXJpZXMtbWFueSIsIm5vdGljZXMiOlt7InNldmVyaXR5Ijoid2FybmluZyIsInRleHQiOiJ3YXJuaW5nIDEifSx7InNldmVyaXR5Ijoid2FybmluZyIsInRleHQiOiJ3YXJuaW5nIDIifV19AAAEAAAAbWV0YQAAAAACAAAAuAAAAAQAAABi////FAAAAIAAAACAAAAAAAAAA4AAAAACAAAALAAAAAQAAABU////CAAAABAAAAAFAAAAVmFsdWUAAAAEAAAAbmFtZQAAAAB4////CAAAACwAAAAjAAAAeyJsZXZlbCI6ImRlYnVnIiwibG9jYXRpb24iOiJtb29uIn0ABgAAAGxhYmVscwAAAAAAAIr///8AAAIABQAAAFZhbHVlABIAGAAUAAAAEwAMAAAACAAEABIAAAAUAAAARAAAAEwAAAAAAAAKTAAAAAEAAAAMAAAACAAMAAgABAAIAAAACAAAABAAAAAEAAAAVGltZQAAAAAEAAAAbmFtZQAAAAAAAAAAAAAGAAgABgAGAAAAAAADAAQAAABUaW1lAAAAAHACAABBUlJPVzE=
|
||||
|
@ -31,7 +31,7 @@ const inputFrame: DataFrame = {
|
||||
json: true,
|
||||
},
|
||||
},
|
||||
values: new ArrayVector([`[["level", "info"],["code", "41🌙"]]`, `[["level", "error"],["code", "41🌙"]]`]),
|
||||
values: new ArrayVector(['{ "level": "info", "code": "41🌙" }', '{ "level": "error", "code": "41🌙" }']),
|
||||
},
|
||||
{
|
||||
name: 'tsNs',
|
||||
|
Loading…
Reference in New Issue
Block a user