| 16 | 16 |
// `age` is the previous N samples to average over.
|
| 17 | 17 |
//
|
| 18 | 18 |
// `wcc` optional WC config
|
| 19 | |
func EwmaETA(style int, age float64, wcc ...WC) Decorator {
|
|
19 |
func EwmaETA(style TimeStyle, age float64, wcc ...WC) Decorator {
|
| 20 | 20 |
return MovingAverageETA(style, ewma.NewMovingAverage(age), NopNormalizer(), wcc...)
|
| 21 | 21 |
}
|
| 22 | 22 |
|
|
| 29 | 29 |
// `normalizer` available implementations are [NopNormalizer|FixedIntervalTimeNormalizer|MaxTolerateTimeNormalizer]
|
| 30 | 30 |
//
|
| 31 | 31 |
// `wcc` optional WC config
|
| 32 | |
func MovingAverageETA(style int, average MovingAverage, normalizer TimeNormalizer, wcc ...WC) Decorator {
|
|
32 |
func MovingAverageETA(style TimeStyle, average MovingAverage, normalizer TimeNormalizer, wcc ...WC) Decorator {
|
| 33 | 33 |
var wc WC
|
| 34 | 34 |
for _, widthConf := range wcc {
|
| 35 | 35 |
wc = widthConf
|
|
| 46 | 46 |
|
| 47 | 47 |
type movingAverageETA struct {
|
| 48 | 48 |
WC
|
| 49 | |
style int
|
|
49 |
style TimeStyle
|
| 50 | 50 |
average ewma.MovingAverage
|
| 51 | 51 |
completeMsg *string
|
| 52 | 52 |
normalizer TimeNormalizer
|
|
| 103 | 103 |
// `style` one of [ET_STYLE_GO|ET_STYLE_HHMMSS|ET_STYLE_HHMM|ET_STYLE_MMSS]
|
| 104 | 104 |
//
|
| 105 | 105 |
// `wcc` optional WC config
|
| 106 | |
func AverageETA(style int, wcc ...WC) Decorator {
|
|
106 |
func AverageETA(style TimeStyle, wcc ...WC) Decorator {
|
| 107 | 107 |
var wc WC
|
| 108 | 108 |
for _, widthConf := range wcc {
|
| 109 | 109 |
wc = widthConf
|
|
| 119 | 119 |
|
| 120 | 120 |
type averageETA struct {
|
| 121 | 121 |
WC
|
| 122 | |
style int
|
|
122 |
style TimeStyle
|
| 123 | 123 |
startTime time.Time
|
| 124 | 124 |
completeMsg *string
|
| 125 | 125 |
}
|