MCPcopy Create free account
hub / github.com/GoEdgeLab/EdgeNode / CheckHourlyLoad

Function CheckHourlyLoad

internal/utils/idles/run.go:55–81  ·  view source on GitHub ↗
(hour int)

Source from the content-addressed store, hash-verified

53}
54
55func CheckHourlyLoad(hour int) {
56 avgLoad, err := load.Avg()
57 if err != nil {
58 return
59 }
60
61 hourlyLoad, ok := hourlyLoadMap[hour]
62 if !ok {
63 hourlyLoad = &HourlyLoad{
64 Hour: hour,
65 }
66 hourlyLoadMap[hour] = hourlyLoad
67 }
68
69 if len(hourlyLoad.Values) >= maxSamples {
70 hourlyLoad.Values = hourlyLoad.Values[:maxSamples-1]
71 }
72 hourlyLoad.Values = append(hourlyLoad.Values, avgLoad.Load15)
73
74 var sum float64
75 for _, v := range hourlyLoad.Values {
76 sum += v
77 }
78 hourlyLoad.Avg = math.Ceil(sum/float64(len(hourlyLoad.Values))*10) / 10 // fix precision
79
80 calculateMinLoadHours()
81}
82
83func Run(f func()) {
84 defer f()

Callers 2

TestCheckHourlyLoadFunction · 0.92
initFunction · 0.85

Calls 1

calculateMinLoadHoursFunction · 0.85

Tested by 1

TestCheckHourlyLoadFunction · 0.74