Exemple #1
0
        private List <string> FilterResourceGroupsWithoutResources(List <MetricDefinition> configuredMetrics)
        {
            List <string> foundMetricNames = new List <string>();

            foreach (var configuredMetric in configuredMetrics)
            {
                bool resourceFound = true;
                if (configuredMetric.Resources?.Any() == false)
                {
                    foreach (var discoveryGroup in configuredMetric.ResourceDiscoveryGroups)
                    {
                        var discoveredResources = _resourceDiscoveryClient.GetAllDiscoveredResourcesAsync(discoveryGroup.Name).Result;
                        if (discoveredResources?.Any() != true)
                        {
                            resourceFound = false;
                            break;
                        }
                    }
                }

                if (resourceFound)
                {
                    foundMetricNames.Add(configuredMetric.PrometheusMetricDefinition.Name);
                }
            }

            return(foundMetricNames);
        }