filesystem_freebsd: Use bytesToString to get label values

Signed-off-by: David O'Rourke <david.orourke@gmail.com>
This commit is contained in:
David O'Rourke 2020-06-02 12:07:09 +01:00 committed by Johannes 'fish' Ziemke
parent d6fbce1529
commit 03450a4d7d
1 changed files with 3 additions and 10 deletions

View File

@ -16,8 +16,6 @@
package collector
import (
"bytes"
"github.com/go-kit/kit/log/level"
"golang.org/x/sys/unix"
)
@ -42,19 +40,14 @@ func (c *filesystemCollector) GetStats() ([]filesystemStats, error) {
}
stats := []filesystemStats{}
for _, fs := range buf {
// We need to work out the lengths of the actual strings here,
// otherwuse we will end up with null bytes in our label values.
mountpoint_len := bytes.Index(fs.Mntonname[:], []byte{0})
mountpoint := string(fs.Mntonname[:mountpoint_len])
mountpoint := bytesToString(fs.Mntonname[:])
if c.ignoredMountPointsPattern.MatchString(mountpoint) {
level.Debug(c.logger).Log("msg", "Ignoring mount point", "mountpoint", mountpoint)
continue
}
device_len := bytes.Index(fs.Mntfromname[:], []byte{0})
fstype_len := bytes.Index(fs.Fstypename[:], []byte{0})
device := string(fs.Mntfromname[:device_len])
fstype := string(fs.Fstypename[:fstype_len])
device := bytesToString(fs.Mntfromname[:])
fstype := bytesToString(fs.Fstypename[:])
if c.ignoredFSTypesPattern.MatchString(fstype) {
level.Debug(c.logger).Log("msg", "Ignoring fs type", "type", fstype)
continue