frostfs-node/pkg/local_object_storage/engine/info.go
Evgenii Stratonikov ed50cf6207 [#1118] services/control: return error counter in ListShards
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-02-03 15:14:27 +03:00

26 lines
527 B
Go

package engine
import (
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/shard"
)
// Info groups the information about StorageEngine.
type Info struct {
Shards []shard.Info
}
// DumpInfo returns information about the StorageEngine.
func (e *StorageEngine) DumpInfo() (i Info) {
e.mtx.RLock()
defer e.mtx.RUnlock()
i.Shards = make([]shard.Info, 0, len(e.shards))
for _, sh := range e.shards {
info := sh.DumpInfo()
info.ErrorCount = sh.errorCount.Load()
i.Shards = append(i.Shards, info)
}
return
}