code: func (p *Plugin) getContainerMetrics() ([]producers.MetricsMessage, error) {
  	var messages []producers.MetricsMessage
  	ids, err := p.getContainerList()
  	if err != nil {
  		return nil, errors.Wrap(err, "could not read list of containers")
  	}
  	for _, id := range ids {
  		containerMetrics, err := makeMetricsRequest(p.Client, fmt.Sprintf("http://localhost/v0/containers/%s", id))
  		if err != nil {
  			return nil, errors.Wrapf(err, "could not retrieve metrics for container %s", id)
  		}
  		containerAppMetrics, err := makeMetricsRequest(p.Client, fmt.Sprintf("http://localhost/v0/containers/%s/app", id))
  		if err != nil {
  			return nil, errors.Wrapf(err, "could not retrieve app metrics for container %s", id)
  		}
  		messages = append(messages, containerMetrics, containerAppMetrics)
  	}
  	return messages, nil
  }
docs: // getContainerMetrics queries the /containers/<id> and /containers/<id>/app
  // endpoint for each container on the machine. It returns a slice of metrics
  // messages, one for each hit.