From f3295cc74ea1832e2bbd8dfa0ee1a6b0bea90602 Mon Sep 17 00:00:00 2001 From: Jesus Vazquez Date: Tue, 30 Jul 2024 11:23:29 +0200 Subject: [PATCH] progress --- storage/remote/write_handler_test.go | 48 ++++++++++++++++++++++++++++ tsdb/metadata_test.go | 12 +++---- 2 files changed, 53 insertions(+), 7 deletions(-) diff --git a/storage/remote/write_handler_test.go b/storage/remote/write_handler_test.go index af2229b9a2..d713d77e68 100644 --- a/storage/remote/write_handler_test.go +++ b/storage/remote/write_handler_test.go @@ -699,6 +699,54 @@ func TestCommitErr_V2Message(t *testing.T) { require.Equal(t, "commit error\n", string(body)) } +func TestRemoteWriteWithNewMetadata(t *testing.T) { + dir := t.TempDir() + + opts := tsdb.DefaultOptions() + // TODO(jesusvazquez) Add new metadata flag and turn it on + + db, err := tsdb.Open(dir, nil, nil, opts, nil) + require.NoError(t, err) + + t.Cleanup(func() { + require.NoError(t, db.Close()) + }) + + handler := NewWriteHandler(log.NewNopLogger(), nil, db.Head(), []config.RemoteWriteProtoMsg{config.RemoteWriteProtoMsgV1}) + + ts := []prompb.TimeSeries{ + { + Labels: []prompb.Label{ + {Name: "__name__", Value: "http_requests_total"}, + {Name: "job", Value: "foo"}, + {Name: "metadata.foo.service", Value: "foo"}, + {Name: "metadata.node.ip", Value: "192.168.1.1"}, + }, + Samples: []prompb.Sample{{Value: 0, Timestamp: 0}}, + }, + { + Labels: []prompb.Label{ + {Name: "__name__", Value: "http_requests_total"}, + {Name: "job", Value: "foo"}, + {Name: "metadata.foo.service", Value: "foo"}, + {Name: "metadata.node.ip", Value: "192.168.1.2"}, + }, + Samples: []prompb.Sample{{Value: 1, Timestamp: 1}}, + }, + } + + buf, _, _, err := buildWriteRequest(nil, ts, nil, nil, nil, nil, "snappy") + require.NoError(t, err) + + req, err := http.NewRequest("", "", bytes.NewReader(buf)) + require.NoError(t, err) + + recorder := httptest.NewRecorder() + handler.ServeHTTP(recorder, req) + require.Equal(t, http.StatusNoContent, recorder.Code) + require.Equal(t, uint64(2), db.Head().NumSeries()) +} + func BenchmarkRemoteWriteOOOSamples(b *testing.B) { b.Skip("Not a valid benchmark (does not count to b.N)") dir := b.TempDir() diff --git a/tsdb/metadata_test.go b/tsdb/metadata_test.go index 3a47d19a98..5197c90c53 100644 --- a/tsdb/metadata_test.go +++ b/tsdb/metadata_test.go @@ -22,9 +22,8 @@ func TestDBAppenderSeriesWithMetadata(t *testing.T) { // Add a sample with metadata. _, err := app1.Append(0, labels.FromStrings( "__name__", "http_requests_total", - "job", "ingester", - "metadata.foo.service", "ingester", - "metadata.foo.request_type", "outbound", + "job", "foo", + "metadata.foo.service", "foo", "metadata.node.ip", "192.168.1.1", ), 0, 0) require.NoError(t, err) @@ -32,9 +31,8 @@ func TestDBAppenderSeriesWithMetadata(t *testing.T) { // Add a sample with the same metadata but different value. _, err = app1.Append(0, labels.FromStrings( "__name__", "http_requests_total", - "job", "ingester", - "metadata.foo.service", "ingester", - "metadata.foo.request_type", "outbound", + "job", "foo", + "metadata.foo.service", "foo", "metadata.node.ip", "192.168.1.2", ), 1, 1) require.NoError(t, err) @@ -51,7 +49,7 @@ func TestDBAppenderSeriesWithMetadata(t *testing.T) { require.Equal(t, map[string][]chunks.Sample{ labels.FromStrings( "__name__", "http_requests_total", - "job", "ingester", + "job", "foo", ).String(): { sample{t: 0, f: 0}, sample{t: 1, f: 1},