vault1984-dashboard/agent/disk_linux.go

17 lines
327 B
Go

package main
import "syscall"
func diskUsage(path string) float64 {
var stat syscall.Statfs_t
if err := syscall.Statfs(path, &stat); err != nil {
return 0
}
total := stat.Blocks * uint64(stat.Bsize)
free := stat.Bavail * uint64(stat.Bsize)
if total == 0 {
return 0
}
return float64(total-free) / float64(total)
}