Skip to content

Commit

Permalink
OTLP: Categorize target_info labels
Browse files Browse the repository at this point in the history
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
  • Loading branch information
aknuds1 committed Jun 19, 2024
1 parent 86ae072 commit c353713
Show file tree
Hide file tree
Showing 54 changed files with 2,482 additions and 763 deletions.
4 changes: 4 additions & 0 deletions cmd/prometheus/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -1558,6 +1558,10 @@ func (n notReadyAppender) Append(ref storage.SeriesRef, l labels.Labels, t int64
return 0, tsdb.ErrNotReady
}

func (n notReadyAppender) AppendInfoSample(storage.SeriesRef, labels.Labels, int64, []int) (storage.SeriesRef, error) {
return 0, tsdb.ErrNotReady
}

func (n notReadyAppender) AppendExemplar(ref storage.SeriesRef, l labels.Labels, e exemplar.Exemplar) (storage.SeriesRef, error) {
return 0, tsdb.ErrNotReady
}
Expand Down
15 changes: 15 additions & 0 deletions cmd/promtool/tsdb.go
Original file line number Diff line number Diff line change
Expand Up @@ -635,6 +635,8 @@ func analyzeCompaction(ctx context.Context, block tsdb.BlockReader, indexr tsdb.
histogramChunkSamplesCount := make([]int, 0)
histogramChunkSize := make([]int, 0)
histogramChunkBucketsCount := make([]int, 0)
infoChunkSamplesCount := make([]int, 0)
infoChunkSize := make([]int, 0)
var builder labels.ScratchBuilder
for postingsr.Next() {
var chks []chunks.Meta
Expand Down Expand Up @@ -687,6 +689,11 @@ func analyzeCompaction(ctx context.Context, block tsdb.BlockReader, indexr tsdb.
bucketCount += len(f.NegativeBuckets)
}
histogramChunkBucketsCount = append(histogramChunkBucketsCount, bucketCount)
case chunkenc.EncInfoMetric:
infoChunkSamplesCount = append(infoChunkSamplesCount, chk.NumSamples())
infoChunkSize = append(infoChunkSize, len(chk.Bytes()))
default:
return fmt.Errorf("unrecognized encoding: %s", chk.Encoding())
}
totalChunks++
}
Expand All @@ -703,6 +710,10 @@ func analyzeCompaction(ctx context.Context, block tsdb.BlockReader, indexr tsdb.
displayHistogram("bytes per histogram chunk", histogramChunkSize, totalChunks)

displayHistogram("buckets per histogram chunk", histogramChunkBucketsCount, totalChunks)

displayHistogram("samples per info metric chunk", infoChunkSamplesCount, totalChunks)
displayHistogram("bytes per info metric chunk", infoChunkSize, totalChunks)

return nil
}

Expand Down Expand Up @@ -770,6 +781,10 @@ func formatSeriesSet(ss storage.SeriesSet) error {
ts, h := it.AtHistogram(nil)
fmt.Printf("%s %s %d\n", lbs, h.String(), ts)
}
for it.Next() == chunkenc.ValInfoSample {
ts, ils := it.AtInfoSample()
fmt.Printf("%s %v %d\n", lbs, ils, ts)
}
if it.Err() != nil {
return ss.Err()
}
Expand Down
38 changes: 19 additions & 19 deletions model/labels/labels_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -620,24 +620,24 @@ func TestBuilder(t *testing.T) {
want: FromStrings("aaa", "111", "ccc", "333"),
},
{
set: []Label{{"aaa", "111"}, {"bbb", "222"}, {"ccc", "333"}},
set: []Label{{Name: "aaa", Value: "111"}, {Name: "bbb", Value: "222"}, {Name: "ccc", Value: "333"}},
del: []string{"bbb"},
want: FromStrings("aaa", "111", "ccc", "333"),
},
{
base: FromStrings("aaa", "111"),
set: []Label{{"bbb", "222"}},
set: []Label{{Name: "bbb", Value: "222"}},
want: FromStrings("aaa", "111", "bbb", "222"),
},
{
base: FromStrings("aaa", "111"),
set: []Label{{"bbb", "222"}, {"bbb", "333"}},
set: []Label{{Name: "bbb", Value: "222"}, {Name: "bbb", Value: "333"}},
want: FromStrings("aaa", "111", "bbb", "333"),
},
{
base: FromStrings("aaa", "111", "bbb", "222", "ccc", "333"),
del: []string{"bbb"},
set: []Label{{"ddd", "444"}},
set: []Label{{Name: "ddd", Value: "444"}},
want: FromStrings("aaa", "111", "ccc", "333", "ddd", "444"),
},
{ // Blank value is interpreted as delete.
Expand All @@ -646,7 +646,7 @@ func TestBuilder(t *testing.T) {
},
{
base: FromStrings("aaa", "111", "bbb", "222", "ccc", "333"),
set: []Label{{"bbb", ""}},
set: []Label{{Name: "bbb", Value: ""}},
want: FromStrings("aaa", "111", "ccc", "333"),
},
{
Expand All @@ -662,7 +662,7 @@ func TestBuilder(t *testing.T) {
{
base: FromStrings("aaa", "111", "bbb", "222", "ccc", "333"),
del: []string{"bbb"},
set: []Label{{"ddd", "444"}},
set: []Label{{Name: "ddd", Value: "444"}},
keep: []string{"aaa", "ddd"},
want: FromStrings("aaa", "111", "ddd", "444"),
},
Expand Down Expand Up @@ -717,19 +717,19 @@ func TestScratchBuilder(t *testing.T) {
want: EmptyLabels(),
},
{
add: []Label{{"aaa", "111"}},
add: []Label{{Name: "aaa", Value: "111"}},
want: FromStrings("aaa", "111"),
},
{
add: []Label{{"aaa", "111"}, {"bbb", "222"}, {"ccc", "333"}},
add: []Label{{Name: "aaa", Value: "111"}, {Name: "bbb", Value: "222"}, {Name: "ccc", Value: "333"}},
want: FromStrings("aaa", "111", "bbb", "222", "ccc", "333"),
},
{
add: []Label{{"bbb", "222"}, {"aaa", "111"}, {"ccc", "333"}},
add: []Label{{Name: "bbb", Value: "222"}, {Name: "aaa", Value: "111"}, {Name: "ccc", Value: "333"}},
want: FromStrings("aaa", "111", "bbb", "222", "ccc", "333"),
},
{
add: []Label{{"ddd", "444"}},
add: []Label{{Name: "ddd", Value: "444"}},
want: FromStrings("ddd", "444"),
},
} {
Expand Down Expand Up @@ -809,15 +809,15 @@ func BenchmarkLabels_Hash(b *testing.B) {
}

var benchmarkLabels = []Label{
{"job", "node"},
{"instance", "123.123.1.211:9090"},
{"path", "/api/v1/namespaces/<namespace>/deployments/<name>"},
{"method", http.MethodGet},
{"namespace", "system"},
{"status", "500"},
{"prometheus", "prometheus-core-1"},
{"datacenter", "eu-west-1"},
{"pod_name", "abcdef-99999-defee"},
{Name: "job", Value: "node"},
{Name: "instance", Value: "123.123.1.211:9090"},
{Name: "path", Value: "/api/v1/namespaces/<namespace>/deployments/<name>"},
{Name: "method", Value: http.MethodGet},
{Name: "namespace", Value: "system"},
{Name: "status", Value: "500"},
{Name: "prometheus", Value: "prometheus-core-1"},
{Name: "datacenter", Value: "eu-west-1"},
{Name: "pod_name", Value: "abcdef-99999-defee"},
}

func BenchmarkBuilder(b *testing.B) {
Expand Down
Loading

0 comments on commit c353713

Please sign in to comment.