code: func NewStatCollector() (Collector, error) {
  	fs, err := procfs.NewFS(*procPath)
  	if err != nil {
  		return nil, fmt.Errorf("failed to open procfs: %v", err)
  	}
  	return &statCollector{
  		fs: fs,
  		intr: prometheus.NewDesc(
  			prometheus.BuildFQName(namespace, "", "intr_total"),
  			"Total number of interrupts serviced.",
  			nil, nil,
  		),
  		ctxt: prometheus.NewDesc(
  			prometheus.BuildFQName(namespace, "", "context_switches_total"),
  			"Total number of context switches.",
  			nil, nil,
  		),
  		forks: prometheus.NewDesc(
  			prometheus.BuildFQName(namespace, "", "forks_total"),
  			"Total number of forks.",
  			nil, nil,
  		),
  		btime: prometheus.NewDesc(
  			prometheus.BuildFQName(namespace, "", "boot_time_seconds"),
  			"Node boot time, in unixtime.",
  			nil, nil,
  		),
  		procsRunning: prometheus.NewDesc(
  			prometheus.BuildFQName(namespace, "", "procs_running"),
  			"Number of processes in runnable state.",
  			nil, nil,
  		),
  		procsBlocked: prometheus.NewDesc(
  			prometheus.BuildFQName(namespace, "", "procs_blocked"),
  			"Number of processes blocked waiting for I/O to complete.",
  			nil, nil,
  		),
  	}, nil
  }
docs: // NewStatCollector returns a new Collector exposing kernel/system statistics.