mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2024-11-21 14:44:00 +00:00
vllogs: add tests fix some descriptions
This commit is contained in:
parent
2c96f3512d
commit
64b48d0abf
4 changed files with 76 additions and 4 deletions
|
@ -252,5 +252,5 @@ var (
|
||||||
logsqlStreamIDsRequests = metrics.NewCounter(`vl_http_requests_total{path="/select/logsql/stream_ids"}`)
|
logsqlStreamIDsRequests = metrics.NewCounter(`vl_http_requests_total{path="/select/logsql/stream_ids"}`)
|
||||||
logsqlStreamsRequests = metrics.NewCounter(`vl_http_requests_total{path="/select/logsql/streams"}`)
|
logsqlStreamsRequests = metrics.NewCounter(`vl_http_requests_total{path="/select/logsql/streams"}`)
|
||||||
logsqlTailRequests = metrics.NewCounter(`vl_http_requests_total{path="/select/logsql/tail"}`)
|
logsqlTailRequests = metrics.NewCounter(`vl_http_requests_total{path="/select/logsql/tail"}`)
|
||||||
logsqlAdminTenantsRequests = metrics.NewCounter(`vl_http_requests_total{path="/admin/tenants"}`)
|
logsqlAdminTenantsRequests = metrics.NewCounter(`vl_http_requests_total{path="/select/admin/tenants"}`)
|
||||||
)
|
)
|
||||||
|
|
|
@ -176,7 +176,7 @@ func GetStreamIDs(ctx context.Context, tenantIDs []logstorage.TenantID, q *logst
|
||||||
return strg.GetStreamIDs(ctx, tenantIDs, q, limit)
|
return strg.GetStreamIDs(ctx, tenantIDs, q, limit)
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetTenantIDs returns tenantIDs in the storage.
|
// GetTenantIDs returns tenantIDs from the storage by the given start and end.
|
||||||
func GetTenantIDs(ctx context.Context, start, end int64) ([]string, error) {
|
func GetTenantIDs(ctx context.Context, start, end int64) ([]string, error) {
|
||||||
return strg.GetTenantIDs(ctx, start, end)
|
return strg.GetTenantIDs(ctx, start, end)
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,7 @@ package logstorage
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"reflect"
|
"reflect"
|
||||||
|
"slices"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/fs"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/fs"
|
||||||
|
@ -254,5 +255,76 @@ func TestStorageSearchStreamIDs(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestGetTenantsIds(t *testing.T) {
|
func TestGetTenantsIds(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
|
||||||
|
path := t.Name()
|
||||||
|
const partitionName = "foobar"
|
||||||
|
s := newTestStorage()
|
||||||
|
mustCreateIndexdb(path)
|
||||||
|
idb := mustOpenIndexdb(path, partitionName, s)
|
||||||
|
|
||||||
|
tenantIDs := []TenantID{
|
||||||
|
{AccountID: 0, ProjectID: 0},
|
||||||
|
{AccountID: 0, ProjectID: 1},
|
||||||
|
{AccountID: 1, ProjectID: 0},
|
||||||
|
{AccountID: 1, ProjectID: 1},
|
||||||
|
{AccountID: 123, ProjectID: 567},
|
||||||
|
}
|
||||||
|
getStreamIDForTags := func(tags map[string]string) ([]streamID, []byte) {
|
||||||
|
st := GetStreamTags()
|
||||||
|
for k, v := range tags {
|
||||||
|
st.Add(k, v)
|
||||||
|
}
|
||||||
|
streamTagsCanonical := st.MarshalCanonical(nil)
|
||||||
|
PutStreamTags(st)
|
||||||
|
id := hash128(streamTagsCanonical)
|
||||||
|
sids := make([]streamID, 0, len(tenantIDs))
|
||||||
|
for _, tenantID := range tenantIDs {
|
||||||
|
sid := streamID{
|
||||||
|
tenantID: tenantID,
|
||||||
|
id: id,
|
||||||
|
}
|
||||||
|
|
||||||
|
sids = append(sids, sid)
|
||||||
|
}
|
||||||
|
|
||||||
|
return sids, streamTagsCanonical
|
||||||
|
}
|
||||||
|
|
||||||
|
// Create indexdb entries
|
||||||
|
const jobsCount = 7
|
||||||
|
const instancesCount = 5
|
||||||
|
for i := 0; i < jobsCount; i++ {
|
||||||
|
for j := 0; j < instancesCount; j++ {
|
||||||
|
sids, streamTagsCanonical := getStreamIDForTags(map[string]string{
|
||||||
|
"job": fmt.Sprintf("job-%d", i),
|
||||||
|
"instance": fmt.Sprintf("instance-%d", j),
|
||||||
|
})
|
||||||
|
for _, sid := range sids {
|
||||||
|
idb.mustRegisterStream(&sid, streamTagsCanonical)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
idb.debugFlush()
|
||||||
|
|
||||||
|
f := func(expectedTenantIDs []string) {
|
||||||
|
t.Helper()
|
||||||
|
tenantIDs := idb.searchTenants()
|
||||||
|
slices.Sort(tenantIDs)
|
||||||
|
slices.Sort(expectedTenantIDs)
|
||||||
|
if !reflect.DeepEqual(tenantIDs, expectedTenantIDs) {
|
||||||
|
fs.MustRemoveAll(path)
|
||||||
|
t.Fatalf("unexpected tensntIds; got %v; want %v", tenantIDs, expectedTenantIDs)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
expectedTenantIDs := []string{"1:1", "123:567", "0:0", "0:1", "1:0"}
|
||||||
|
|
||||||
|
f(expectedTenantIDs)
|
||||||
|
|
||||||
|
mustCloseIndexdb(idb)
|
||||||
|
fs.MustRemoveAll(path)
|
||||||
|
|
||||||
|
closeTestStorage(s)
|
||||||
}
|
}
|
||||||
|
|
|
@ -394,7 +394,7 @@ func (s *Storage) GetStreamIDs(ctx context.Context, tenantIDs []TenantID, q *Que
|
||||||
return s.GetFieldValues(ctx, tenantIDs, q, "_stream_id", limit)
|
return s.GetFieldValues(ctx, tenantIDs, q, "_stream_id", limit)
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetTenantIDs returns tenantIDs for the given q.
|
// GetTenantIDs returns tenantIDs for the given start and end.
|
||||||
func (s *Storage) GetTenantIDs(ctx context.Context, start, end int64) ([]string, error) {
|
func (s *Storage) GetTenantIDs(ctx context.Context, start, end int64) ([]string, error) {
|
||||||
return s.getTenantIDs(ctx, start, end)
|
return s.getTenantIDs(ctx, start, end)
|
||||||
}
|
}
|
||||||
|
@ -420,7 +420,7 @@ func (s *Storage) getTenantIDs(ctx context.Context, start, end int64) ([]string,
|
||||||
for tid := range m {
|
for tid := range m {
|
||||||
tenants = append(tenants, tid)
|
tenants = append(tenants, tid)
|
||||||
}
|
}
|
||||||
sort.Strings(tenants)
|
slices.Sort(tenants)
|
||||||
return tenants, nil
|
return tenants, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue