From affeaad799f6b655fec74c6336e86863ec70b6f8 Mon Sep 17 00:00:00 2001 From: xyctruth <398041993@qq.com> Date: Tue, 8 Feb 2022 18:10:39 +0800 Subject: [PATCH 1/2] Default query all target label --- pkg/storage/badger/func.go | 2 +- pkg/storage/badger/store.go | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/pkg/storage/badger/func.go b/pkg/storage/badger/func.go index f33d84f..c54b6c3 100644 --- a/pkg/storage/badger/func.go +++ b/pkg/storage/badger/func.go @@ -20,7 +20,7 @@ var ( PrefixIndex = []byte{0x86} ) -// 内置label +// TargetLabel 内置label const TargetLabel = "_target" func deletePrefixKey(key []byte) string { diff --git a/pkg/storage/badger/store.go b/pkg/storage/badger/store.go index 5bcf45f..bb9768f 100644 --- a/pkg/storage/badger/store.go +++ b/pkg/storage/badger/store.go @@ -155,6 +155,19 @@ func (s *store) SaveProfileMeta(metas []*storage.ProfileMeta, ttl time.Duration) func (s *store) ListProfileMeta(sampleType string, startTime, endTime time.Time, filters ...storage.LabelFilter) ([]*storage.ProfileMetaByTarget, error) { var err error + // Default query all target label + if len(filters) == 0 { + labels, err := s.ListLabel() + if err != nil { + return nil, err + } + for _, label := range labels { + if label.Key == TargetLabel { + filters = append(filters, storage.LabelFilter{Label: label}) + } + } + } + ids, err := s.searchProfileMeta(sampleType, filters, startTime, endTime) if err != nil { return nil, err From 63685ceff17be3be628a2aed76a56e61eefddc5f Mon Sep 17 00:00:00 2001 From: xyctruth <398041993@qq.com> Date: Tue, 8 Feb 2022 18:16:08 +0800 Subject: [PATCH 2/2] Default query all target label --- pkg/storage/badger/store_test.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkg/storage/badger/store_test.go b/pkg/storage/badger/store_test.go index 81252ac..71f1d0a 100644 --- a/pkg/storage/badger/store_test.go +++ b/pkg/storage/badger/store_test.go @@ -183,6 +183,10 @@ func TestProfileMeta(t *testing.T) { require.Equal(t, nil, err) require.Equal(t, 1, len(profileMetas)) + profileMetasNoFilters, err := s.ListProfileMeta(sampleTypes[0], min, max) + require.Equal(t, nil, err) + require.Equal(t, 1, len(profileMetasNoFilters)) + // Waiting for the overdue time.Sleep(2 * time.Second)