code: func (m *MetricStorage) List(ctx genericapirequest.Context, options *metainternalversion.ListOptions) (runtime.Object, error) {
  	labelSelector := labels.Everything()
  	if options != nil && options.LabelSelector != nil {
  		labelSelector = options.LabelSelector
  	}
  	namespace := genericapirequest.NamespaceValue(ctx)
  	pods, err := m.podLister.Pods(namespace).List(labelSelector)
  	if err != nil {
  		errMsg := fmt.Errorf("Error while listing pods for selector %v: %v", labelSelector, err)
  		glog.Error(errMsg)
  		return &metrics.PodMetricsList{}, errMsg
  	}
  
  	res := metrics.PodMetricsList{}
  	for _, pod := range pods {
  		if podMetrics := m.getPodMetrics(pod); podMetrics != nil {
  			res.Items = append(res.Items, *podMetrics)
  		} else {
  			glog.Infof("No metrics for pod %s/%s", pod.Namespace, pod.Name)
  		}
  	}
  	return &res, nil
  }
docs: // Lister interface