code: func (p *pvcEvaluator) Usage(item runtime.Object) (corev1.ResourceList, error) {
  	result := corev1.ResourceList{}
  	pvc, err := toExternalPersistentVolumeClaimOrError(item)
  	if err != nil {
  		return result, err
  	}
  
  	// charge for claim
  	result[corev1.ResourcePersistentVolumeClaims] = *(resource.NewQuantity(1, resource.DecimalSI))
  	result[pvcObjectCountName] = *(resource.NewQuantity(1, resource.DecimalSI))
  	storageClassRef := helper.GetPersistentVolumeClaimClass(pvc)
  	if len(storageClassRef) > 0 {
  		storageClassClaim := corev1.ResourceName(storageClassRef + storageClassSuffix + string(corev1.ResourcePersistentVolumeClaims))
  		result[storageClassClaim] = *(resource.NewQuantity(1, resource.DecimalSI))
  	}
  
  	// charge for storage
  	if request, found := pvc.Spec.Resources.Requests[corev1.ResourceStorage]; found {
  		result[corev1.ResourceRequestsStorage] = request
  		// charge usage to the storage class (if present)
  		if len(storageClassRef) > 0 {
  			storageClassStorage := corev1.ResourceName(storageClassRef + storageClassSuffix + string(corev1.ResourceRequestsStorage))
  			result[storageClassStorage] = request
  		}
  	}
  	return result, nil
  }
docs: // Usage knows how to measure usage associated with item.