INNER CODE UNIT · Go
MeanTimeDuration
deepfence/FlowMeter · pkg/common/common.go:40
func MeanTimeDuration(array []time.Duration) time.Duration {
sumArr := float64(SumTimeDuration(array)/time.Microsecond) / float64(len(array))
return time.Duration(sumArr) * time.Microsecond
}
// stdDev (time.Duration datatype.)
func StdDevTimeDuration(array []time.Duration) time.Duration {
square := float64(0)
for j := 1; j < len(array); j++ {
square += float64((array[j]-MeanTimeDuration(array))/time.Microsecond) * float64((array[j]-MeanTimeDuration(array))/time.Microsecond)
}
return time.Duration(math.Sqrt(square/float64(len(array)))) * time.Microsecond
}