Files
run/runtime/metrics_disk_unix.go
2026-08-26 09:56:43 +08:00

17 lines
361 B
Go

//go:build !windows
package runtime
import "syscall"
func workspaceDiskPercent(workspaceRoot string) (float64, error) {
var stat syscall.Statfs_t
if err := syscall.Statfs(workspaceRoot, &stat); err != nil {
return 0, err
}
if stat.Blocks == 0 {
return 0, syscall.EINVAL
}
return 100 * float64(stat.Blocks-stat.Bavail) / float64(stat.Blocks), nil
}