private void InitAvailableServerCountMetric(LoadBalancerRoute route) { var metricId = _loadBalancerContext.GetMetricId(route.RouteId + "." + ServerAvailableCountMetricSuffix); var metricName = _loadBalancerContext.GetMetricName(ServerAvailableCountMetricSuffix); Dictionary <string, string> metadata = new Dictionary <string, string>(); metadata["metric_name_audit"] = metricName; metadata["loadbalancerid"] = _loadBalancerContext.LoadBalancerId; metadata["routeid"] = route.RouteId; var metricConfig = new StatusMetricConfig <double>(() => route.AvailableServers.Length, metadata); _availableServerCountMetrics.GetOrAdd(route.RouteId, key => _statusMetricManager.GetMetric(metricId, metricConfig)); }
public IStatusMetric <T> GetMetric(string metricId, StatusMetricConfig <T> metricConfig) { return(NullStatusMetric <T> .Instance); }