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

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

parent 12584164
......@@ -189,26 +189,38 @@ func Run(n int) string {
rtn.WriteString(cpuTable.ToString())
rtn.WriteString("\n")
//平均内存使用率排行
memTable := NewTable("平均内存用率排行", "mem", "sys_name", "count", "average_duration")
memList := sm.GetAverageMemServiceList()
//平均cpu使用率排行
maxCpuTable := NewTable("峰值cpu使用率排行", "cpu", "sys_name", "count", "average_duration")
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 {
if s.GetAverageMem() < memMin {
if s.GetMaxMem() < memMin {
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("\n")
//平均硬盘使用率排行
diskTable := NewTable("平均硬盘使用率排行", "disk", "sys_name", "count", "average_duration")
diskList := sm.GetAverageDiskServiceList()
//硬盘峰值使用率排行
diskTable := NewTable("峰值硬盘使用率排行", "disk", "sys_name", "count", "average_duration")
diskList := sm.GetMaxDiskServiceList()
for _, s := range diskList {
if s.GetAverageDisk() < diskMin {
if s.GetMaxDisk() < diskMin {
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("\n")
......
......@@ -75,15 +75,32 @@ func (sm *ServiceMap) GetAverageCpuServiceList() []*Service {
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)
for _, s := range sm.serviceMap {
rtn = append(rtn, s)
}
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 false
......@@ -93,14 +110,14 @@ func (sm *ServiceMap) GetAverageMemServiceList() []*Service {
}
//获取峰值磁盘使用率列表
func (sm *ServiceMap) GetAverageDiskServiceList() []*Service {
func (sm *ServiceMap) GetMaxDiskServiceList() []*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].GetAverageDisk() > rtn[j].GetAverageDisk() {
if rtn[i].GetMaxDisk() > rtn[j].GetMaxDisk() {
return true
}
return false
......
......@@ -32,12 +32,12 @@ func TestNewServiceMap(t *testing.T) {
t.Log(s.Name(), s.GetAverageCpu())
}
t.Log("------------------mem----------------------")
memList := sm.GetAverageMemServiceList()
memList := sm.GetMaxMemServiceList()
for _, s := range memList {
t.Log(s.Name(), s.GetAverageMem())
}
t.Log("------------------disk---------------------")
diskList := sm.GetAverageDiskServiceList()
diskList := sm.GetMaxDiskServiceList()
for _, s := range diskList {
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