[#838] metabase: Count user objects

Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
This commit is contained in:
Dmitrii Stepanov 2023-12-05 17:00:16 +03:00
parent f314da4af3
commit d30ab5f29e
13 changed files with 180 additions and 58 deletions

View file

@ -86,12 +86,6 @@ func (m *metricsStore) IncObjectCounter(objectType string) {
m.objCounters[objectType] += 1
}
func (m *metricsStore) DecObjectCounter(objectType string) {
m.mtx.Lock()
defer m.mtx.Unlock()
m.AddToObjectCounter(objectType, -1)
}
func (m *metricsStore) SetMode(mode mode.Mode) {
m.mtx.Lock()
defer m.mtx.Unlock()
@ -192,6 +186,9 @@ func TestCounters(t *testing.T) {
v, ok = mm.getContainerCount(contID.EncodeToString(), logical)
require.Zero(t, v)
require.False(t, ok)
v, ok = mm.getContainerCount(contID.EncodeToString(), user)
require.Zero(t, v)
require.False(t, ok)
}
})
@ -207,6 +204,7 @@ func TestCounters(t *testing.T) {
expected[cnr] = meta.ObjectCounters{
Logic: 1,
Phy: 1,
User: 1,
}
}
@ -221,6 +219,7 @@ func TestCounters(t *testing.T) {
require.Equal(t, uint64(objNumber), mm.getObjectCounter(physical))
require.Equal(t, uint64(objNumber), mm.getObjectCounter(logical))
require.Equal(t, uint64(objNumber), mm.getObjectCounter(user))
require.Equal(t, expectedLogicalSizes, mm.containerSizes())
require.Equal(t, totalPayload, mm.payloadSize())
@ -244,6 +243,7 @@ func TestCounters(t *testing.T) {
if v, ok := expected[cid]; ok {
v.Logic--
v.User--
if v.IsZero() {
delete(expected, cid)
} else {
@ -254,6 +254,7 @@ func TestCounters(t *testing.T) {
require.Equal(t, uint64(objNumber), mm.getObjectCounter(physical))
require.Equal(t, uint64(objNumber-inhumedNumber), mm.getObjectCounter(logical))
require.Equal(t, uint64(objNumber-inhumedNumber), mm.getObjectCounter(user))
require.Equal(t, expectedLogicalSizes, mm.containerSizes())
require.Equal(t, totalPayload, mm.payloadSize())
@ -270,6 +271,7 @@ func TestCounters(t *testing.T) {
phy := mm.getObjectCounter(physical)
logic := mm.getObjectCounter(logical)
custom := mm.getObjectCounter(user)
inhumedNumber := int(phy / 4)
prm.SetTarget(ts, addrFromObjs(oo[:inhumedNumber])...)
@ -284,6 +286,7 @@ func TestCounters(t *testing.T) {
if v, ok := expected[cid]; ok {
v.Logic--
v.User--
if v.IsZero() {
delete(expected, cid)
} else {
@ -294,6 +297,7 @@ func TestCounters(t *testing.T) {
require.Equal(t, phy, mm.getObjectCounter(physical))
require.Equal(t, logic-uint64(inhumedNumber), mm.getObjectCounter(logical))
require.Equal(t, custom-uint64(inhumedNumber), mm.getObjectCounter(user))
require.Equal(t, expectedLogicalSizes, mm.containerSizes())
require.Equal(t, totalPayload, mm.payloadSize())
@ -309,6 +313,7 @@ func TestCounters(t *testing.T) {
phy := mm.getObjectCounter(physical)
logic := mm.getObjectCounter(logical)
custom := mm.getObjectCounter(user)
deletedNumber := int(phy / 4)
prm.SetAddresses(addrFromObjs(oo[:deletedNumber])...)
@ -318,6 +323,7 @@ func TestCounters(t *testing.T) {
require.Equal(t, phy-uint64(deletedNumber), mm.getObjectCounter(physical))
require.Equal(t, logic-uint64(deletedNumber), mm.getObjectCounter(logical))
require.Equal(t, custom-uint64(deletedNumber), mm.getObjectCounter(user))
var totalRemovedpayload uint64
for i := range oo[:deletedNumber] {
removedPayload := oo[i].PayloadSize()
@ -329,6 +335,7 @@ func TestCounters(t *testing.T) {
if v, ok := expected[cnr]; ok {
v.Logic--
v.Phy--
v.User--
if v.IsZero() {
delete(expected, cnr)
} else {