[#602] metrics: Add blobovnicza items counter
All checks were successful
Vulncheck / Vulncheck (pull_request) Successful in 1m29s
Build / Build Components (1.21) (pull_request) Successful in 3m23s
DCO action / DCO (pull_request) Successful in 3m50s
Tests and linters / Tests (1.21) (pull_request) Successful in 4m27s
Tests and linters / Lint (pull_request) Successful in 4m48s
Tests and linters / Tests (1.20) (pull_request) Successful in 5m6s
Tests and linters / Staticcheck (pull_request) Successful in 5m8s
Tests and linters / Tests with -race (pull_request) Successful in 5m38s
Build / Build Components (1.20) (pull_request) Successful in 7m46s

Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
This commit is contained in:
Dmitrii Stepanov 2023-08-18 13:01:27 +03:00
parent c4e1d8eb07
commit f2811f8585
8 changed files with 70 additions and 18 deletions

View file

@ -3,6 +3,7 @@ package blobovnicza
import (
"encoding/binary"
"fmt"
"math"
"math/bits"
"strconv"
)
@ -40,14 +41,18 @@ func upperPowerOfTwo(v uint64) uint64 {
return 1 << bits.Len64(v-1)
}
func (b *Blobovnicza) incSize(sz uint64) {
b.dataSize.Add(sz)
b.metrics.AddOpenBlobovniczaSize(sz)
func (b *Blobovnicza) itemAdded(itemSize uint64) {
b.dataSize.Add(itemSize)
b.itemsCount.Add(1)
b.metrics.AddOpenBlobovniczaSize(itemSize)
b.metrics.AddOpenBlobovniczaItems(1)
}
func (b *Blobovnicza) decSize(sz uint64) {
b.dataSize.Add(^(sz - 1))
b.metrics.SubOpenBlobovniczaSize(sz)
func (b *Blobovnicza) itemDeleted(itemSize uint64) {
b.dataSize.Add(^(itemSize - 1))
b.itemsCount.Add(math.MaxUint64)
b.metrics.SubOpenBlobovniczaSize(itemSize)
b.metrics.SubOpenBlobovniczaItems(1)
}
func (b *Blobovnicza) full() bool {