17 lines
322 B
Go
17 lines
322 B
Go
package performancemetrics
|
|
|
|
import "syscall"
|
|
|
|
func getDiskUsage(path string) (used, free, total uint64, err error) {
|
|
var stat syscall.Statfs_t
|
|
err = syscall.Statfs(path, &stat)
|
|
if err != nil {
|
|
return
|
|
}
|
|
|
|
total = stat.Blocks * uint64(stat.Bsize)
|
|
free = stat.Bfree * uint64(stat.Bsize)
|
|
used = total - free
|
|
return
|
|
}
|