Dmitrii Stepanov
1b17258c04
All checks were successful
DCO action / DCO (pull_request) Successful in 1m22s
Vulncheck / Vulncheck (pull_request) Successful in 3m11s
Build / Build Components (1.21) (pull_request) Successful in 3m56s
Build / Build Components (1.20) (pull_request) Successful in 3m59s
Tests and linters / Staticcheck (pull_request) Successful in 5m31s
Tests and linters / gopls check (pull_request) Successful in 5m26s
Tests and linters / Lint (pull_request) Successful in 6m13s
Tests and linters / Tests (1.20) (pull_request) Successful in 8m54s
Tests and linters / Tests (1.21) (pull_request) Successful in 9m13s
Tests and linters / Tests with -race (pull_request) Successful in 9m30s
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
69 lines
2 KiB
Go
69 lines
2 KiB
Go
package metrics
|
|
|
|
import (
|
|
"time"
|
|
|
|
"git.frostfs.info/TrueCloudLab/frostfs-node/pkg/local_object_storage/blobstor"
|
|
metrics_impl "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/metrics"
|
|
)
|
|
|
|
type blobstoreMetrics struct {
|
|
shardID string
|
|
m metrics_impl.BlobstoreMetrics
|
|
}
|
|
|
|
func NewBlobstoreMetrics(m metrics_impl.BlobstoreMetrics) blobstor.Metrics {
|
|
return &blobstoreMetrics{
|
|
shardID: undefined,
|
|
m: m,
|
|
}
|
|
}
|
|
|
|
func (m *blobstoreMetrics) SetParentID(parentID string) {
|
|
m.shardID = parentID
|
|
}
|
|
|
|
func (m *blobstoreMetrics) SetMode(readOnly bool) {
|
|
m.m.SetMode(m.shardID, readOnly)
|
|
}
|
|
|
|
func (m *blobstoreMetrics) Close() {
|
|
m.m.Close(m.shardID)
|
|
}
|
|
|
|
func (m *blobstoreMetrics) Delete(d time.Duration, success, withStorageID bool) {
|
|
m.m.MethodDuration(m.shardID, "Delete", d, success, metrics_impl.NullBool{Bool: withStorageID, Valid: true})
|
|
}
|
|
|
|
func (m *blobstoreMetrics) Exists(d time.Duration, success, withStorageID bool) {
|
|
m.m.MethodDuration(m.shardID, "Exists", d, success, metrics_impl.NullBool{Bool: withStorageID, Valid: true})
|
|
}
|
|
|
|
func (m *blobstoreMetrics) GetRange(d time.Duration, size int, success, withStorageID bool) {
|
|
m.m.MethodDuration(m.shardID, "GetRange", d, success, metrics_impl.NullBool{Bool: withStorageID, Valid: true})
|
|
if success {
|
|
m.m.AddGet(m.shardID, size)
|
|
}
|
|
}
|
|
|
|
func (m *blobstoreMetrics) Get(d time.Duration, size int, success, withStorageID bool) {
|
|
m.m.MethodDuration(m.shardID, "Get", d, success, metrics_impl.NullBool{Bool: withStorageID, Valid: true})
|
|
if success {
|
|
m.m.AddGet(m.shardID, size)
|
|
}
|
|
}
|
|
|
|
func (m *blobstoreMetrics) Iterate(d time.Duration, success bool) {
|
|
m.m.MethodDuration(m.shardID, "Iterate", d, success, metrics_impl.NullBool{})
|
|
}
|
|
|
|
func (m *blobstoreMetrics) Put(d time.Duration, size int, success bool) {
|
|
m.m.MethodDuration(m.shardID, "Put", d, success, metrics_impl.NullBool{})
|
|
if success {
|
|
m.m.AddPut(m.shardID, size)
|
|
}
|
|
}
|
|
|
|
func (m *blobstoreMetrics) ObjectsCount(d time.Duration, success bool) {
|
|
m.m.MethodDuration(m.shardID, "ObjectsCount", d, success, metrics_impl.NullBool{})
|
|
}
|