code: func NewPressureStatsCollector() (Collector, error) {
  	fs, err := procfs.NewFS(*procPath)
  	if err != nil {
  		return nil, fmt.Errorf("failed to open procfs: %v", err)
  	}
  
  	return &pressureStatsCollector{
  		cpu: prometheus.NewDesc(
  			prometheus.BuildFQName(namespace, "pressure", "cpu_waiting_seconds_total"),
  			"Total time in seconds that processes have waited for CPU time",
  			nil, nil,
  		),
  		io: prometheus.NewDesc(
  			prometheus.BuildFQName(namespace, "pressure", "io_waiting_seconds_total"),
  			"Total time in seconds that processes have waited due to IO congestion",
  			nil, nil,
  		),
  		ioFull: prometheus.NewDesc(
  			prometheus.BuildFQName(namespace, "pressure", "io_stalled_seconds_total"),
  			"Total time in seconds no process could make progress due to IO congestion",
  			nil, nil,
  		),
  		mem: prometheus.NewDesc(
  			prometheus.BuildFQName(namespace, "pressure", "memory_waiting_seconds_total"),
  			"Total time in seconds that processes have waited for memory",
  			nil, nil,
  		),
  		memFull: prometheus.NewDesc(
  			prometheus.BuildFQName(namespace, "pressure", "memory_stalled_seconds_total"),
  			"Total time in seconds no process could make progress due to memory congestion",
  			nil, nil,
  		),
  		fs: fs,
  	}, nil
  }
docs: // NewPressureStatsCollector returns a Collector exposing pressure stall information