Commit 53d16de2 authored by jingbo.wang's avatar jingbo.wang

把内存、硬盘的统计改成峰值排行

parent 12584164
...@@ -189,26 +189,38 @@ func Run(n int) string { ...@@ -189,26 +189,38 @@ func Run(n int) string {
rtn.WriteString(cpuTable.ToString()) rtn.WriteString(cpuTable.ToString())
rtn.WriteString("\n") rtn.WriteString("\n")
//平均内存使用率排行 //平均cpu使用率排行
memTable := NewTable("平均内存用率排行", "mem", "sys_name", "count", "average_duration") maxCpuTable := NewTable("峰值cpu使用率排行", "cpu", "sys_name", "count", "average_duration")
memList := sm.GetAverageMemServiceList() maxCpuList := sm.GetMaxCpuServiceList()
for _, s := range maxCpuList {
if s.GetMaxCpu() < cpuMin {
break
}
_ = maxCpuTable.AddRecord(s.GetMaxCpu(), s.Name(), s.GetCount(), s.GetAverageDuration())
}
rtn.WriteString(maxCpuTable.ToString())
rtn.WriteString("\n")
//内存峰值使用率排行
memTable := NewTable("峰值内存使用率排行", "mem", "sys_name", "count", "average_duration")
memList := sm.GetMaxMemServiceList()
for _, s := range memList { for _, s := range memList {
if s.GetAverageMem() < memMin { if s.GetMaxMem() < memMin {
break break
} }
_ = memTable.AddRecord(s.GetAverageMem(), s.Name(), s.GetCount(), s.GetAverageDuration()) _ = memTable.AddRecord(s.GetMaxMem(), s.Name(), s.GetCount(), s.GetAverageDuration())
} }
rtn.WriteString(memTable.ToString()) rtn.WriteString(memTable.ToString())
rtn.WriteString("\n") rtn.WriteString("\n")
//平均硬盘使用率排行 //硬盘峰值使用率排行
diskTable := NewTable("平均硬盘使用率排行", "disk", "sys_name", "count", "average_duration") diskTable := NewTable("峰值硬盘使用率排行", "disk", "sys_name", "count", "average_duration")
diskList := sm.GetAverageDiskServiceList() diskList := sm.GetMaxDiskServiceList()
for _, s := range diskList { for _, s := range diskList {
if s.GetAverageDisk() < diskMin { if s.GetMaxDisk() < diskMin {
break break
} }
_ = diskTable.AddRecord(s.GetAverageDisk(), s.Name(), s.GetCount(), s.GetAverageDuration()) _ = diskTable.AddRecord(s.GetMaxDisk(), s.Name(), s.GetCount(), s.GetAverageDuration())
} }
rtn.WriteString(diskTable.ToString()) rtn.WriteString(diskTable.ToString())
rtn.WriteString("\n") rtn.WriteString("\n")
......
...@@ -75,15 +75,32 @@ func (sm *ServiceMap) GetAverageCpuServiceList() []*Service { ...@@ -75,15 +75,32 @@ func (sm *ServiceMap) GetAverageCpuServiceList() []*Service {
return rtn return rtn
} }
//峰值平均cpu使用率列表
func (sm *ServiceMap) GetMaxCpuServiceList() []*Service {
rtn := make([]*Service, 0)
for _, s := range sm.serviceMap {
rtn = append(rtn, s)
}
sort.Slice(rtn, func(i, j int) bool {
if rtn[i].GetMaxCpu() > rtn[j].GetMaxCpu() {
return true
}
return false
})
return rtn
}
//获取峰值内存使用率列表 //获取峰值内存使用率列表
func (sm *ServiceMap) GetAverageMemServiceList() []*Service { func (sm *ServiceMap) GetMaxMemServiceList() []*Service {
rtn := make([]*Service, 0) rtn := make([]*Service, 0)
for _, s := range sm.serviceMap { for _, s := range sm.serviceMap {
rtn = append(rtn, s) rtn = append(rtn, s)
} }
sort.Slice(rtn, func(i, j int) bool { sort.Slice(rtn, func(i, j int) bool {
if rtn[i].GetAverageMem() > rtn[j].GetAverageMem() { if rtn[i].GetMaxMem() > rtn[j].GetMaxMem() {
return true return true
} }
return false return false
...@@ -93,14 +110,14 @@ func (sm *ServiceMap) GetAverageMemServiceList() []*Service { ...@@ -93,14 +110,14 @@ func (sm *ServiceMap) GetAverageMemServiceList() []*Service {
} }
//获取峰值磁盘使用率列表 //获取峰值磁盘使用率列表
func (sm *ServiceMap) GetAverageDiskServiceList() []*Service { func (sm *ServiceMap) GetMaxDiskServiceList() []*Service {
rtn := make([]*Service, 0) rtn := make([]*Service, 0)
for _, s := range sm.serviceMap { for _, s := range sm.serviceMap {
rtn = append(rtn, s) rtn = append(rtn, s)
} }
sort.Slice(rtn, func(i, j int) bool { sort.Slice(rtn, func(i, j int) bool {
if rtn[i].GetAverageDisk() > rtn[j].GetAverageDisk() { if rtn[i].GetMaxDisk() > rtn[j].GetMaxDisk() {
return true return true
} }
return false return false
......
...@@ -32,12 +32,12 @@ func TestNewServiceMap(t *testing.T) { ...@@ -32,12 +32,12 @@ func TestNewServiceMap(t *testing.T) {
t.Log(s.Name(), s.GetAverageCpu()) t.Log(s.Name(), s.GetAverageCpu())
} }
t.Log("------------------mem----------------------") t.Log("------------------mem----------------------")
memList := sm.GetAverageMemServiceList() memList := sm.GetMaxMemServiceList()
for _, s := range memList { for _, s := range memList {
t.Log(s.Name(), s.GetAverageMem()) t.Log(s.Name(), s.GetAverageMem())
} }
t.Log("------------------disk---------------------") t.Log("------------------disk---------------------")
diskList := sm.GetAverageDiskServiceList() diskList := sm.GetMaxDiskServiceList()
for _, s := range diskList { for _, s := range diskList {
t.Log(s.Name(), s.GetAverageDisk()) t.Log(s.Name(), s.GetAverageDisk())
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment