[ Agent ] [ Status ] - disk info
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
package status
|
package status
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"agent-go/utils"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/shirou/gopsutil/v3/disk"
|
"github.com/shirou/gopsutil/v3/disk"
|
||||||
"time"
|
"time"
|
||||||
@@ -12,6 +13,10 @@ type DiskStatus struct {
|
|||||||
//LogicalDisk []disk.PartitionStat
|
//LogicalDisk []disk.PartitionStat
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type DiskInfo struct {
|
||||||
|
DiskPartition []disk.PartitionStat
|
||||||
|
}
|
||||||
|
|
||||||
func GetDiskStatus() *DiskStatus {
|
func GetDiskStatus() *DiskStatus {
|
||||||
|
|
||||||
ds := &DiskStatus{}
|
ds := &DiskStatus{}
|
||||||
@@ -31,6 +36,22 @@ func GetDiskStatus() *DiskStatus {
|
|||||||
return ds
|
return ds
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetDiskInfo() (*DiskInfo, error) {
|
||||||
|
|
||||||
|
partitionStats, err := disk.Partitions(true)
|
||||||
|
if err != nil {
|
||||||
|
log.ErrorF("[GetDiskInfo] - get disk partition info error ! => %v", err)
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
d := &DiskInfo{}
|
||||||
|
for _, partitionStat := range partitionStats {
|
||||||
|
utils.BeautifulPrint(partitionStat)
|
||||||
|
}
|
||||||
|
|
||||||
|
return d, nil
|
||||||
|
}
|
||||||
|
|
||||||
func CalculateDiskIO() {
|
func CalculateDiskIO() {
|
||||||
|
|
||||||
// Get initial disk IO counters
|
// Get initial disk IO counters
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package status
|
package status
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"agent-go/utils"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"testing"
|
"testing"
|
||||||
@@ -19,3 +20,14 @@ func TestGetDiskStatus(t *testing.T) {
|
|||||||
fmt.Println(string(marshalIndent))
|
fmt.Println(string(marshalIndent))
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestGetDiskInfo(t *testing.T) {
|
||||||
|
|
||||||
|
diskInfo, err := GetDiskInfo()
|
||||||
|
if err != nil {
|
||||||
|
t.Errorf("get disk info error ! => %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
utils.BeautifulPrint(diskInfo)
|
||||||
|
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user