private void InitServerCountMetric(LoadBalancerRoute route)
        {
            var metricId   = _loadBalancerContext.GetMetricId(route.RouteId + "." + ServerCountMetricSuffix);
            var metricName = _loadBalancerContext.GetMetricName(ServerCountMetricSuffix);
            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.Servers.Length, metadata);

            _serverCountMetrics.GetOrAdd(route.RouteId, key => _statusMetricManager.GetMetric(metricId, metricConfig));
        }
Exemplo n.º 2
0
        private IAuditMetric GetCheckHealthLatencyMetric(LoadBalancerRoute route)
        {
            var metricId                         = _loadBalancerContext.GetMetricId(route.RouteId + "." + CheckHealthLatencyMetricSuffix);
            var metricName                       = _loadBalancerContext.GetMetricName(CheckHealthLatencyMetricSuffix);
            var distributionMetricName           = _loadBalancerContext.GetDistributionMetricName(CheckHealthLatencyMetricSuffix);
            Dictionary <string, string> metadata = new Dictionary <string, string>();

            metadata["metric_name_audit"]        = metricName;
            metadata["metric_name_distribution"] = distributionMetricName;
            metadata["loadbalancerid"]           = _loadBalancerContext.LoadBalancerId;
            metadata["routeid"] = route.RouteId;
            return(_checkHealthLatencyMetrics.GetOrAdd(route.RouteId, key => _loadBalancerContext.AuditMetricManager.GetMetric(metricId, new MetricConfig(metadata))));
        }