[ Agent ] [ Status ] - disk info

This commit is contained in:
zeaslity
2023-12-21 10:13:27 +08:00
parent 4272296809
commit 8becc27472
2 changed files with 33 additions and 0 deletions

View File

@@ -1,6 +1,7 @@
package status
import (
"agent-go/utils"
"fmt"
"github.com/shirou/gopsutil/v3/disk"
"time"
@@ -12,6 +13,10 @@ type DiskStatus struct {
//LogicalDisk []disk.PartitionStat
}
type DiskInfo struct {
DiskPartition []disk.PartitionStat
}
func GetDiskStatus() *DiskStatus {
ds := &DiskStatus{}
@@ -31,6 +36,22 @@ func GetDiskStatus() *DiskStatus {
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() {
// Get initial disk IO counters

View File

@@ -1,6 +1,7 @@
package status
import (
"agent-go/utils"
"encoding/json"
"fmt"
"testing"
@@ -19,3 +20,14 @@ func TestGetDiskStatus(t *testing.T) {
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)
}