From c5143d2d591c44dc344f057184cfd178bff1bb4a Mon Sep 17 00:00:00 2001 From: zeaslity Date: Sun, 23 Apr 2023 14:15:12 +0800 Subject: [PATCH] [agent-go] [status] - start to unit --- agent-go/executor/RealTimeExecutor.go | 2 +- agent-go/status/Disk.go | 3 +- agent-go/status/Disk_test.go | 8 ++ agent-go/status/Memory.go | 2 +- agent-go/status/Memory_test.go | 8 ++ .../java/io/wdd/rpc/status/beans/CPUInfo.java | 81 +++++++++++++++++++ .../io/wdd/rpc/status/beans/NetworkInfo.java | 33 ++++++++ .../java/io/wdd/rpc/status/beans/Status.java | 5 ++ 8 files changed, 139 insertions(+), 3 deletions(-) create mode 100644 server/src/main/java/io/wdd/rpc/status/beans/CPUInfo.java create mode 100644 server/src/main/java/io/wdd/rpc/status/beans/NetworkInfo.java create mode 100644 server/src/main/java/io/wdd/rpc/status/beans/Status.java diff --git a/agent-go/executor/RealTimeExecutor.go b/agent-go/executor/RealTimeExecutor.go index b3c033b..ff16f8b 100644 --- a/agent-go/executor/RealTimeExecutor.go +++ b/agent-go/executor/RealTimeExecutor.go @@ -7,7 +7,7 @@ import ( "os/exec" ) -func ReadTimeOutput(singleLineCommand []string) { +func ReadTimeCommandExecutor(singleLineCommand []string) { cmd := exec.Command(singleLineCommand[0], singleLineCommand[1:]...) stdout, err := cmd.StdoutPipe() diff --git a/agent-go/status/Disk.go b/agent-go/status/Disk.go index bb70794..09d93ef 100644 --- a/agent-go/status/Disk.go +++ b/agent-go/status/Disk.go @@ -14,7 +14,8 @@ type DiskStatus struct { } func GetDiskStatus() *DiskStatus { - var ds *DiskStatus + + ds := &DiskStatus{} // Get disk usage du, _ := disk.Usage("/") diff --git a/agent-go/status/Disk_test.go b/agent-go/status/Disk_test.go index 71d4543..dbf191a 100644 --- a/agent-go/status/Disk_test.go +++ b/agent-go/status/Disk_test.go @@ -1,6 +1,7 @@ package status import ( + "encoding/json" "fmt" "testing" ) @@ -11,4 +12,11 @@ func TestGetDiskStatus(t *testing.T) { fmt.Printf("Total: %v, Used: %v\n", ds.Total, ds.Used) fmt.Printf("Logical Disks: %v\n", ds.LogicalDisk) + marshalIndent, err := json.MarshalIndent(ds, "", " ") + if err != nil { + fmt.Printf("error") + } + + fmt.Println(string(marshalIndent)) + } diff --git a/agent-go/status/Memory.go b/agent-go/status/Memory.go index ad2c268..4f65d65 100644 --- a/agent-go/status/Memory.go +++ b/agent-go/status/Memory.go @@ -14,7 +14,7 @@ type MemoryStatus struct { } func GetMemoryStatus() (*MemoryStatus, error) { - var memoryStatus *MemoryStatus + memoryStatus := &MemoryStatus{} virtualMemoryStat, err := mem.VirtualMemory() if err != nil { diff --git a/agent-go/status/Memory_test.go b/agent-go/status/Memory_test.go index 2842071..baa2a61 100644 --- a/agent-go/status/Memory_test.go +++ b/agent-go/status/Memory_test.go @@ -1,6 +1,7 @@ package status import ( + "encoding/json" "fmt" "testing" ) @@ -17,4 +18,11 @@ func TestGetMemoryStatus(t *testing.T) { fmt.Printf("Available Memory: %s\n", FormatMemorySize(memoryStatus.AvailableMemory)) fmt.Printf("Total Virtual Memory: %s\n", FormatMemorySize(memoryStatus.TotalVirtualMemory)) fmt.Printf("Used Virtual Memory: %s\n", FormatMemorySize(memoryStatus.UsedVirtualMemory)) + + marshalIndent, err := json.MarshalIndent(memoryStatus, "", " ") + if err != nil { + fmt.Printf("error") + } + + fmt.Println(string(marshalIndent)) } diff --git a/server/src/main/java/io/wdd/rpc/status/beans/CPUInfo.java b/server/src/main/java/io/wdd/rpc/status/beans/CPUInfo.java new file mode 100644 index 0000000..018bd04 --- /dev/null +++ b/server/src/main/java/io/wdd/rpc/status/beans/CPUInfo.java @@ -0,0 +1,81 @@ +package io.wdd.rpc.status.beans; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.List; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@SuperBuilder(toBuilder = true) +public class CPUInfo { + + + @JsonProperty("NumCores") + private Integer numCores; + @JsonProperty("CPUInfo") + private List cPUInfo; + @JsonProperty("CPUPercent") + private Double cPUPercent; + @JsonProperty("CPULoads") + private CPULoadsDTO cPULoads; + @JsonProperty("SystemLoads") + private SystemLoadsDTO systemLoads; + + @NoArgsConstructor + @Data + public static class CPULoadsDTO { + @JsonProperty("load1") + private Integer load1; + @JsonProperty("load5") + private Integer load5; + @JsonProperty("load15") + private Integer load15; + } + + @NoArgsConstructor + @Data + public static class SystemLoadsDTO { + @JsonProperty("load1") + private Integer load1; + @JsonProperty("load5") + private Integer load5; + @JsonProperty("load15") + private Integer load15; + } + + @NoArgsConstructor + @Data + public static class CPUInfoDTO { + @JsonProperty("cpu") + private Integer cpu; + @JsonProperty("vendorId") + private String vendorId; + @JsonProperty("family") + private String family; + @JsonProperty("model") + private String model; + @JsonProperty("stepping") + private Integer stepping; + @JsonProperty("physicalId") + private String physicalId; + @JsonProperty("coreId") + private String coreId; + @JsonProperty("cores") + private Integer cores; + @JsonProperty("modelName") + private String modelName; + @JsonProperty("mhz") + private Integer mhz; + @JsonProperty("cacheSize") + private Integer cacheSize; + @JsonProperty("flags") + private List flags; + @JsonProperty("microcode") + private String microcode; + } +} diff --git a/server/src/main/java/io/wdd/rpc/status/beans/NetworkInfo.java b/server/src/main/java/io/wdd/rpc/status/beans/NetworkInfo.java new file mode 100644 index 0000000..9bee6cd --- /dev/null +++ b/server/src/main/java/io/wdd/rpc/status/beans/NetworkInfo.java @@ -0,0 +1,33 @@ +package io.wdd.rpc.status.beans; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.List; + +@NoArgsConstructor +@Data +@AllArgsConstructor +@SuperBuilder(toBuilder = true) +public class NetworkInfo { + + @JsonProperty("name") + private String name; + @JsonProperty("internal_ip_v4") + private List internalIpV4; + @JsonProperty("internal_ip_v6") + private List internalIpV6; + @JsonProperty("mac") + private String mac; + @JsonProperty("sent") + private Long sent; + @JsonProperty("recv") + private Integer recv; + @JsonProperty("sent_rate") + private String sentRate; + @JsonProperty("recv_rate") + private String recvRate; +} diff --git a/server/src/main/java/io/wdd/rpc/status/beans/Status.java b/server/src/main/java/io/wdd/rpc/status/beans/Status.java new file mode 100644 index 0000000..fd2c5d5 --- /dev/null +++ b/server/src/main/java/io/wdd/rpc/status/beans/Status.java @@ -0,0 +1,5 @@ +package io.wdd.rpc.status.beans; + +public class AgentStatus { + +}