mirror of
https://2025-dev.shylinux.com/x/20250213-machine
synced 2025-04-25 12:28:05 +08:00
add some
This commit is contained in:
parent
b50323ab87
commit
9532ec1db6
@ -8,6 +8,7 @@ import (
|
|||||||
"shylinux.com/x/icebergs/base/web"
|
"shylinux.com/x/icebergs/base/web"
|
||||||
kit "shylinux.com/x/toolkits"
|
kit "shylinux.com/x/toolkits"
|
||||||
|
|
||||||
|
_ "2025-dev.shylinux.com/x/20250215-cluster/src/travel"
|
||||||
"github.com/shirou/gopsutil/v4/cpu"
|
"github.com/shirou/gopsutil/v4/cpu"
|
||||||
"github.com/shirou/gopsutil/v4/disk"
|
"github.com/shirou/gopsutil/v4/disk"
|
||||||
"github.com/shirou/gopsutil/v4/mem"
|
"github.com/shirou/gopsutil/v4/mem"
|
||||||
@ -16,14 +17,12 @@ import (
|
|||||||
|
|
||||||
type monitor struct {
|
type monitor struct {
|
||||||
fields string `data:"ModelName,Mhz,Core,Thread,CorePercent,ThreadPercent,Total,Free,Available,Used,UsedPercent,DiskTotal,DiskFree,DiskUsed,DiskUsedPercent,BytesRecv,BytesSent,PacketsRecv,PacketsSent"`
|
fields string `data:"ModelName,Mhz,Core,Thread,CorePercent,ThreadPercent,Total,Free,Available,Used,UsedPercent,DiskTotal,DiskFree,DiskUsed,DiskUsedPercent,BytesRecv,BytesSent,PacketsRecv,PacketsSent"`
|
||||||
list string `name:"list hash auto" help:"monitor"`
|
list string `name:"list space auto" help:"设备监控"`
|
||||||
|
travel string `name:"travel" help:"遍历"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s monitor) List(m *ice.Message, arg ...string) {
|
func (s monitor) List(m *ice.Message, arg ...string) {
|
||||||
m.Cmd(web.SPACE, ice.OPS, web.DREAM, web.SERVER).Table(func(value ice.Maps) {
|
if len(arg) == 0 {
|
||||||
m.PushRecord(value)
|
|
||||||
})
|
|
||||||
return
|
|
||||||
c, _ := cpu.Info()
|
c, _ := cpu.Info()
|
||||||
v, _ := mem.VirtualMemory()
|
v, _ := mem.VirtualMemory()
|
||||||
d, _ := disk.Usage(kit.Pwd())
|
d, _ := disk.Usage(kit.Pwd())
|
||||||
@ -42,6 +41,7 @@ func (s monitor) List(m *ice.Message, arg ...string) {
|
|||||||
n, _ := cpu.Counts(field == "Thread")
|
n, _ := cpu.Counts(field == "Thread")
|
||||||
m.Push(field, n)
|
m.Push(field, n)
|
||||||
case "CorePercent", "ThreadPercent":
|
case "CorePercent", "ThreadPercent":
|
||||||
|
break
|
||||||
p, _ := cpu.Percent(3*time.Second, field == "ThreadPercent")
|
p, _ := cpu.Percent(3*time.Second, field == "ThreadPercent")
|
||||||
list := []string{}
|
list := []string{}
|
||||||
for _, v := range p {
|
for _, v := range p {
|
||||||
@ -78,6 +78,25 @@ func (s monitor) List(m *ice.Message, arg ...string) {
|
|||||||
m.Push(field, "")
|
m.Push(field, "")
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
m.Action(s.Travel)
|
||||||
|
} else {
|
||||||
|
m.Cmdy(web.SPACE, arg[0], m.PrefixKey())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func (s monitor) Travel(m *ice.Message, arg ...string) {
|
||||||
|
m.Cmdy("web.chat.dev.cluster.travel", "2025-dev.shylinux.com/x/20250213-machine", m.PrefixKey()).PushAction(s.Open)
|
||||||
|
stats := map[string]int{}
|
||||||
|
m.Table(func(value ice.Maps) {
|
||||||
|
kit.For([]string{"Thread", "Used", "Available", "DiskUsed", "DiskFree"}, func(key string) {
|
||||||
|
stats[key] += kit.Int(value[key])
|
||||||
|
})
|
||||||
|
})
|
||||||
|
list := []string{}
|
||||||
|
kit.For(stats, func(key string, value int) { list = append(list, key, kit.FmtSize(value)) })
|
||||||
|
m.StatusTime(list)
|
||||||
|
}
|
||||||
|
func (s monitor) Open(m *ice.Message, arg ...string) {
|
||||||
|
m.ProcessOpen(web.S(m.Option(web.SPACE)))
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() { ice.Cmd("web.chat.dev.machine.monitor", monitor{}) }
|
func init() { ice.Cmd("web.chat.dev.machine.monitor", monitor{}) }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user