Remove platform specific structure definitions (#10935)

Instead of having less/more fields inside a structure depending on the
platform (non-linux/linux), it would be better to have the same standard
definition in all platforms, and certain fields of the structure to be
populated or left unpopulated depending on the platform.
This commit is contained in:
Shireesh Anjal
2020-11-21 23:11:33 +05:30
committed by GitHub
parent 692ff41ef7
commit 14a7ae8586
5 changed files with 23 additions and 72 deletions

View File

@@ -28,7 +28,9 @@ import (
"github.com/minio/minio/pkg/disk"
"github.com/minio/minio/pkg/net"
smart "github.com/minio/minio/pkg/smart"
"github.com/shirou/gopsutil/cpu"
diskhw "github.com/shirou/gopsutil/disk"
"github.com/shirou/gopsutil/host"
"github.com/shirou/gopsutil/mem"
nethw "github.com/shirou/gopsutil/net"
@@ -127,6 +129,24 @@ type MinioHealthInfo struct {
Error string `json:"error,omitempty"`
}
// ServerDiskHwInfo - Includes usage counters, disk counters and partitions
type ServerDiskHwInfo struct {
Addr string `json:"addr"`
Usage []*diskhw.UsageStat `json:"usages,omitempty"`
Partitions []PartitionStat `json:"partitions,omitempty"`
Counters map[string]diskhw.IOCountersStat `json:"counters,omitempty"`
Error string `json:"error,omitempty"`
}
// PartitionStat - includes data from both shirou/psutil.diskHw.PartitionStat as well as SMART data
type PartitionStat struct {
Device string `json:"device"`
Mountpoint string `json:"mountpoint,omitempty"`
Fstype string `json:"fstype,omitempty"`
Opts string `json:"opts,omitempty"`
SmartInfo smart.Info `json:"smartInfo,omitempty"`
}
// PerfInfo - Includes Drive and Net perf info for the entire MinIO cluster
type PerfInfo struct {
DriveInfo []ServerDrivesInfo `json:"drives,omitempty"`