package shard import ( "context" "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/pkg/tracing" "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/trace" ) // LogicalObjectsCount returns logical objects count. func (s *Shard) LogicalObjectsCount(ctx context.Context) (uint64, error) { _, span := tracing.StartSpanFromContext(ctx, "Shard.LogicalObjectsCount", trace.WithAttributes( attribute.String("shard_id", s.ID().String()), )) defer span.End() s.m.RLock() defer s.m.RUnlock() if s.GetMode().NoMetabase() { return 0, ErrDegradedMode } cc, err := s.metaBase.ObjectCounters() if err != nil { return 0, err } return cc.Logic(), nil }