in pkg/monitoring/server.go [68:90]
func NewServer(metricServers []config.MetricServer, port int, failureThreshold int) *Server {
if failureThreshold == 0 {
failureThreshold = defaultFailureThreshold
}
clientSuccesses := NewCounters()
for _, clientCfg := range metricServers {
if clientCfg.MetricTypes.HasType(config.CustomMetricType) {
clientSuccesses.CustomMetrics[clientCfg.Name] = 0
}
if clientCfg.MetricTypes.HasType(config.ExternalMetricType) {
clientSuccesses.ExternalMetrics[clientCfg.Name] = 0
}
}
return &Server{
logger: log.ForPackage("monitoring"),
lock: sync.RWMutex{},
metricServers: metricServers,
monitoringPort: port,
clientFailures: NewCounters(),
clientSuccesses: clientSuccesses,
failureThreshold: failureThreshold,
}
}