code: func (c *bondingCollector) Update(ch chan<- prometheus.Metric) error {
  	statusfile := sysFilePath("class/net")
  	bondingStats, err := readBondingStats(statusfile)
  	if err != nil {
  		if os.IsNotExist(err) {
  			log.Debugf("Not collecting bonding, file does not exist: %s", statusfile)
  			return nil
  		}
  		return err
  	}
  	for master, status := range bondingStats {
  		ch <- c.slaves.mustNewConstMetric(float64(status[0]), master)
  		ch <- c.active.mustNewConstMetric(float64(status[1]), master)
  	}
  	return nil
  }
docs: // Update reads and exposes bonding states, implements Collector interface. Caution: This works only on linux.