Skip to content

Commit

Permalink
Merge pull request #64 from influxdb/master
Browse files Browse the repository at this point in the history
Fix memory reporting for linux systems
  • Loading branch information
shirou committed Aug 27, 2015
2 parents 0d7ff2e + 1a037fd commit 3a625ab
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 20 deletions.
27 changes: 13 additions & 14 deletions disk/disk_windows.go
Expand Up @@ -26,10 +26,9 @@ var (

const WaitMSec = 500

func DiskUsage(path string) (DiskUsageStat, error) {
func DiskUsage(path string) (*DiskUsageStat, error) {
ret := DiskUsageStat{}

ret.Path = path
lpFreeBytesAvailable := int64(0)
lpTotalNumberOfBytes := int64(0)
lpTotalNumberOfFreeBytes := int64(0)
Expand All @@ -39,19 +38,19 @@ func DiskUsage(path string) (DiskUsageStat, error) {
uintptr(unsafe.Pointer(&lpTotalNumberOfBytes)),
uintptr(unsafe.Pointer(&lpTotalNumberOfFreeBytes)))
if diskret == 0 {
return ret, err
return nil, err
}
ret := &DiskUsageStat{
Path: path,
Total: uint64(lpTotalNumberOfBytes),
Free: uint64(lpTotalNumberOfFreeBytes),
// Used: uint64(lpTotalNumberOfBytes) - uint64(lpTotalNumberOfFreeBytes)
// UsedPercent: (float64(lpTotalNumberOfBytes) - float64(lpTotalNumberOfFreeBytes)) / float64(lpTotalNumberOfBytes) * 100
// InodesTotal: 0,
// InodesFree: 0,
// InodesUsed: 0,
// InodesUsedPercent: 0,
}
ret.Total = uint64(lpTotalNumberOfBytes)
// ret.Free = uint64(lpFreeBytesAvailable) // python psutil does not use this
ret.Free = uint64(lpTotalNumberOfFreeBytes)
ret.Used = ret.Total - ret.Free
ret.UsedPercent = float64(ret.Used) / float64(ret.Total) * 100.0

//TODO: implement inodes stat
ret.InodesTotal = 0
ret.InodesUsed = 0
ret.InodesFree = 0
ret.InodesUsedPercent = 0.0
return ret, nil
}

Expand Down
12 changes: 6 additions & 6 deletions mem/mem_linux.go
Expand Up @@ -30,17 +30,17 @@ func VirtualMemory() (*VirtualMemoryStat, error) {
}
switch key {
case "MemTotal":
ret.Total = t * 1000
ret.Total = t * 1024
case "MemFree":
ret.Free = t * 1000
ret.Free = t * 1024
case "Buffers":
ret.Buffers = t * 1000
ret.Buffers = t * 1024
case "Cached":
ret.Cached = t * 1000
ret.Cached = t * 1024
case "Active":
ret.Active = t * 1000
ret.Active = t * 1024
case "Inactive":
ret.Inactive = t * 1000
ret.Inactive = t * 1024
}
}
ret.Available = ret.Free + ret.Buffers + ret.Cached
Expand Down

0 comments on commit 3a625ab

Please sign in to comment.