@ -26,16 +26,16 @@ import (
"github.com/prometheus/common/log"
)
func ( c * zfsCollector ) openProcFile ( path string ) ( file * os . File , err error ) {
file , err = os . Open ( procFilePath ( path ) )
func ( c * zfsCollector ) openProcFile ( path string ) ( * os . File , error ) {
file , err : = os . Open ( procFilePath ( path ) )
if err != nil {
log . Debugf ( "Cannot open %q for reading. Is the kernel module loaded?" , procFilePath ( path ) )
err = errZFSNotAvailable
return nil , errZFSNotAvailable
}
return
return file , nil
}
func ( c * zfsCollector ) updateZfsStats ( subsystem string , ch chan <- prometheus . Metric ) ( err error ) {
func ( c * zfsCollector ) updateZfsStats ( subsystem string , ch chan <- prometheus . Metric ) error {
file , err := c . openProcFile ( filepath . Join ( c . linuxProcpathBase , c . linuxPathMap [ subsystem ] ) )
if err != nil {
return err
@ -76,12 +76,11 @@ func (c *zfsCollector) updatePoolStats(ch chan<- prometheus.Metric) (err error)
return nil
}
func ( c * zfsCollector ) parseProcfsFile ( reader io . Reader , fmtExt string , handler func ( zfsSysctl , int ) ) ( err error ) {
func ( c * zfsCollector ) parseProcfsFile ( reader io . Reader , fmtExt string , handler func ( zfsSysctl , int ) ) error {
scanner := bufio . NewScanner ( reader )
parseLine := false
for scanner . Scan ( ) {
parts := strings . Fields ( scanner . Text ( ) )
if ! parseLine && len ( parts ) == 3 && parts [ 0 ] == "name" && parts [ 1 ] == "type" && parts [ 2 ] == "data" {
@ -110,13 +109,12 @@ func (c *zfsCollector) parseProcfsFile(reader io.Reader, fmtExt string, handler
return scanner . Err ( )
}
func ( c * zfsCollector ) parsePoolProcfsFile ( reader io . Reader , zpoolPath string , handler func ( string , zfsSysctl , int ) ) ( err error ) {
func ( c * zfsCollector ) parsePoolProcfsFile ( reader io . Reader , zpoolPath string , handler func ( string , zfsSysctl , int ) ) error {
scanner := bufio . NewScanner ( reader )
parseLine := false
var fields [ ] string
for scanner . Scan ( ) {
line := strings . Fields ( scanner . Text ( ) )
if ! parseLine && len ( line ) >= 12 && line [ 0 ] == "nread" {