fix: service total uptime rate close #191

This commit is contained in:
naiba
2022-05-02 00:45:03 +08:00
parent 52eede82a1
commit c4609f02f7
8 changed files with 29 additions and 12 deletions

View File

@@ -2,11 +2,32 @@ package model
type ServiceItemResponse struct {
Monitor *Monitor
TotalUp uint64
TotalDown uint64
CurrentUp uint64
CurrentDown uint64
Delay *[30]float32
Up *[30]int
Down *[30]int
}
func sum[T int | float32](slice *[30]T) T {
if slice == nil {
return 0
}
var sum T
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
}