76
}
77
79
>
status: common.DaemonStatusInitialized,
80
>
shutdownCh: make(chan struct{}),
81
>
requestCounts: make(map[int32]int64),
82
>
metricsHandler: metricsHandler,
83
>
emitMetricsTimer: time.NewTicker(emitMetricsInterval),
84
>
logger: logger,
85
>
aggregationEnabled: aggregationEnabled,
86
>
percentilesEnabled: percentilesEnabled,
87
>
latencyDistribution: latencyDistribution,
88
>
}
89
>
90
>
if aggregationEnabled {
91
>
ret.latencyAverage = aggregate.NewMovingWindowAvgImpl(windowSize, maxBufferSize)
92
>
ret.errorRatio = aggregate.NewMovingWindowAvgImpl(windowSize, maxBufferSize)
93
>
} else {
94
ret.latencyAverage = aggregate.NoopMovingWindowAverage
95
ret.errorRatio = aggregate.NoopMovingWindowAverage
96
}
97
99
}
100