code: func (c *bootTimeCollector) Update(ch chan<- prometheus.Metric) error {
  	tok, err := kstat.Open()
  	if err != nil {
  		return err
  	}
  
  	defer tok.Close()
  
  	ks, err := tok.Lookup("unix", 0, "system_misc")
  	if err != nil {
  		return err
  	}
  
  	v, err := ks.GetNamed("boot_time")
  	if err != nil {
  		return err
  	}
  
  	ch <- c.boottime.mustNewConstMetric(float64(v.UintVal))
  
  	return nil
  }
docs: // newBootTimeCollector returns a new Collector exposing system boot time on Solaris systems.
  // Update pushes boot time onto ch