code: func NewRunitCollector() (Collector, error) {
  	var (
  		subsystem   = "service"
  		constLabels = prometheus.Labels{"supervisor": "runit"}
  		labelNames  = []string{"service"}
  	)
  
  	return &runitCollector{
  		state: typedDesc{prometheus.NewDesc(
  			prometheus.BuildFQName(namespace, subsystem, "state"),
  			"State of runit service.",
  			labelNames, constLabels,
  		), prometheus.GaugeValue},
  		stateDesired: typedDesc{prometheus.NewDesc(
  			prometheus.BuildFQName(namespace, subsystem, "desired_state"),
  			"Desired state of runit service.",
  			labelNames, constLabels,
  		), prometheus.GaugeValue},
  		stateNormal: typedDesc{prometheus.NewDesc(
  			prometheus.BuildFQName(namespace, subsystem, "normal_state"),
  			"Normal state of runit service.",
  			labelNames, constLabels,
  		), prometheus.GaugeValue},
  		stateTimestamp: typedDesc{prometheus.NewDesc(
  			prometheus.BuildFQName(namespace, subsystem, "state_last_change_timestamp_seconds"),
  			"Unix timestamp of the last runit service state change.",
  			labelNames, constLabels,
  		), prometheus.GaugeValue},
  	}, nil
  }
docs: // NewRunitCollector returns a new Collector exposing runit statistics.