Provide default metrics implementations #1411
2 changed files with 47 additions and 44 deletions
47
pkg/local_object_storage/shard/metrics.go
Normal file
47
pkg/local_object_storage/shard/metrics.go
Normal file
|
@ -0,0 +1,47 @@
|
|||
package shard
|
||||
|
||||
import "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/local_object_storage/shard/mode"
|
||||
|
||||
// MetricsWriter is an interface that must store shard's metrics.
|
||||
type MetricsWriter interface {
|
||||
// SetObjectCounter must set object counter taking into account object type.
|
||||
SetObjectCounter(objectType string, v uint64)
|
||||
// AddToObjectCounter must update object counter taking into account object
|
||||
// type.
|
||||
// Negative parameter must decrease the counter.
|
||||
AddToObjectCounter(objectType string, delta int)
|
||||
// AddToContainerSize must add a value to the container size.
|
||||
// Value can be negative.
|
||||
AddToContainerSize(cnr string, value int64)
|
||||
// AddToPayloadSize must add a value to the payload size.
|
||||
// Value can be negative.
|
||||
AddToPayloadSize(value int64)
|
||||
// IncObjectCounter must increment shard's object counter taking into account
|
||||
// object type.
|
||||
IncObjectCounter(objectType string)
|
||||
// SetShardID must set (update) the shard identifier that will be used in
|
||||
// metrics.
|
||||
SetShardID(id string)
|
||||
// SetReadonly must set shard mode.
|
||||
SetMode(mode mode.Mode)
|
||||
// IncErrorCounter increment error counter.
|
||||
IncErrorCounter()
|
||||
// ClearErrorCounter clear error counter.
|
||||
ClearErrorCounter()
|
||||
// DeleteShardMetrics deletes shard metrics from registry.
|
||||
DeleteShardMetrics()
|
||||
// SetContainerObjectsCount sets container object count.
|
||||
SetContainerObjectsCount(cnrID string, objectType string, value uint64)
|
||||
// IncContainerObjectsCount increments container object count.
|
||||
IncContainerObjectsCount(cnrID string, objectType string)
|
||||
// SubContainerObjectsCount subtracts container object count.
|
||||
SubContainerObjectsCount(cnrID string, objectType string, value uint64)
|
||||
// IncRefillObjectsCount increments refill objects count.
|
||||
IncRefillObjectsCount(path string, size int, success bool)
|
||||
// SetRefillPercent sets refill percent.
|
||||
SetRefillPercent(path string, percent uint32)
|
||||
// SetRefillStatus sets refill status.
|
||||
SetRefillStatus(path string, status string)
|
||||
// SetEvacuationInProgress sets evacuation status
|
||||
SetEvacuationInProgress(value bool)
|
||||
}
|
|
@ -57,50 +57,6 @@ type DeletedLockCallback func(context.Context, []oid.Address)
|
|||
// EmptyContainersCallback is a callback hanfling list of zero-size and zero-count containers.
|
||||
type EmptyContainersCallback func(context.Context, []cid.ID)
|
||||
|
||||
// MetricsWriter is an interface that must store shard's metrics.
|
||||
type MetricsWriter interface {
|
||||
// SetObjectCounter must set object counter taking into account object type.
|
||||
SetObjectCounter(objectType string, v uint64)
|
||||
// AddToObjectCounter must update object counter taking into account object
|
||||
// type.
|
||||
// Negative parameter must decrease the counter.
|
||||
AddToObjectCounter(objectType string, delta int)
|
||||
// AddToContainerSize must add a value to the container size.
|
||||
// Value can be negative.
|
||||
AddToContainerSize(cnr string, value int64)
|
||||
// AddToPayloadSize must add a value to the payload size.
|
||||
// Value can be negative.
|
||||
AddToPayloadSize(value int64)
|
||||
// IncObjectCounter must increment shard's object counter taking into account
|
||||
// object type.
|
||||
IncObjectCounter(objectType string)
|
||||
// SetShardID must set (update) the shard identifier that will be used in
|
||||
// metrics.
|
||||
SetShardID(id string)
|
||||
// SetReadonly must set shard mode.
|
||||
SetMode(mode mode.Mode)
|
||||
// IncErrorCounter increment error counter.
|
||||
IncErrorCounter()
|
||||
// ClearErrorCounter clear error counter.
|
||||
ClearErrorCounter()
|
||||
// DeleteShardMetrics deletes shard metrics from registry.
|
||||
DeleteShardMetrics()
|
||||
// SetContainerObjectsCount sets container object count.
|
||||
SetContainerObjectsCount(cnrID string, objectType string, value uint64)
|
||||
// IncContainerObjectsCount increments container object count.
|
||||
IncContainerObjectsCount(cnrID string, objectType string)
|
||||
// SubContainerObjectsCount subtracts container object count.
|
||||
SubContainerObjectsCount(cnrID string, objectType string, value uint64)
|
||||
// IncRefillObjectsCount increments refill objects count.
|
||||
IncRefillObjectsCount(path string, size int, success bool)
|
||||
// SetRefillPercent sets refill percent.
|
||||
SetRefillPercent(path string, percent uint32)
|
||||
// SetRefillStatus sets refill status.
|
||||
SetRefillStatus(path string, status string)
|
||||
// SetEvacuationInProgress sets evacuation status
|
||||
SetEvacuationInProgress(value bool)
|
||||
}
|
||||
|
||||
type cfg struct {
|
||||
m sync.RWMutex
|
||||
|
||||
|
|
Loading…
Reference in a new issue