♻️ refactor lock of service data

This commit is contained in:
naiba
2022-05-02 10:33:21 +08:00
parent a199d0134a
commit 6d1e42a7e7
4 changed files with 76 additions and 64 deletions

View File

@@ -4,30 +4,16 @@ type ServiceItemResponse struct {
Monitor *Monitor
CurrentUp uint64
CurrentDown uint64
TotalUp uint64
TotalDown uint64
Delay *[30]float32
Up *[30]int
Down *[30]int
}
func sum(slice *[30]int) int {
if slice == nil {
func (r ServiceItemResponse) TotalUptime() float32 {
if r.TotalUp+r.TotalDown == 0 {
return 0
}
var sum int
for _, v := range *slice {
sum += v
}
return sum
}
func (r ServiceItemResponse) TotalUp() int {
return sum(r.Up)
}
func (r ServiceItemResponse) TotalDown() int {
return sum(r.Down)
}
func (r ServiceItemResponse) TotalUptime() float32 {
return float32(r.TotalUp()) / (float32(r.TotalUp() + r.TotalDown())) * 100
return float32(r.TotalUp) / (float32(r.TotalUp + r.TotalDown)) * 100
}