code: func (e *Store) startObservingCount(period time.Duration) func() {
  	prefix := e.KeyRootFunc(genericapirequest.NewContext())
  	resourceName := e.DefaultQualifiedResource.String()
  	klog.V(2).Infof("Monitoring %v count at <storage-prefix>/%v", resourceName, prefix)
  	stopCh := make(chan struct{})
  	go wait.JitterUntil(func() {
  		count, err := e.Storage.Count(prefix)
  		if err != nil {
  			klog.V(5).Infof("Failed to update storage count metric: %v", err)
  			metrics.UpdateObjectCount(resourceName, -1)
  		} else {
  			metrics.UpdateObjectCount(resourceName, count)
  		}
  	}, period, resourceCountPollPeriodJitter, true, stopCh)
  	return func() { close(stopCh) }
  }
docs: // startObservingCount starts monitoring given prefix and periodically updating metrics. It returns a function to stop collection.