@@ -169,6 +169,30 @@ public void BatchConstructionShouldBeAgnosticToResourceGroup()
169169 Assert . Single ( groupedScrapeDefinitions ) ;
170170 Assert . Equal ( 20 , groupedScrapeDefinitions [ 0 ] . ScrapeDefinitions . Count ) ;
171171 }
172+
173+ [ Fact ]
174+ public void DifferentAggregationShouldBatchSeparately ( )
175+ {
176+ var azureMetricConfigurationMax = _mapper . Map < AzureMetricConfiguration > ( azureMetricConfigurationBase ) ;
177+ azureMetricConfigurationMax . Aggregation . Type = PromitorMetricAggregationType . Maximum ;
178+ var azureMetricConfigurationAverage = _mapper . Map < AzureMetricConfiguration > ( azureMetricConfigurationBase ) ;
179+
180+ var scraping = _mapper . Map < Promitor . Core . Scraping . Configuration . Model . Scraping > ( scrapingBase ) ;
181+ var logAnalyticsConfiguration = _mapper . Map < LogAnalyticsConfiguration > ( logAnalyticsConfigurationBase ) ;
182+ var scrapeDefinitions = BuildScrapeDefinitionBatch (
183+ azureMetricConfiguration : azureMetricConfigurationMax , logAnalyticsConfiguration : logAnalyticsConfiguration , prometheusMetricDefinition : prometheusMetricDefinitionTest , scraping : scraping ,
184+ resourceType : ResourceType . StorageAccount , subscriptionId : subscriptionIdTest , resourceGroupName : resourceGroupNameTest , 10
185+ ) ;
186+ var differentScrapeDefinitions = BuildScrapeDefinitionBatch (
187+ azureMetricConfiguration : azureMetricConfigurationAverage , logAnalyticsConfiguration : logAnalyticsConfiguration , prometheusMetricDefinition : prometheusMetricDefinitionTest , scraping : scraping ,
188+ resourceType : ResourceType . StorageAccount , subscriptionId : subscriptionIdTest , resourceGroupName : resourceGroupNameTest , 10
189+ ) ;
190+ var groupedScrapeDefinitions = AzureResourceDefinitionBatching . GroupScrapeDefinitions ( [ .. scrapeDefinitions , .. differentScrapeDefinitions ] , maxBatchSize : batchSize ) ;
191+ // expect two batch of 10 each
192+ Assert . Equal ( 2 , groupedScrapeDefinitions . Count ) ;
193+ Assert . Equal ( 10 , groupedScrapeDefinitions [ 0 ] . ScrapeDefinitions . Count ) ;
194+ Assert . Equal ( 10 , groupedScrapeDefinitions [ 1 ] . ScrapeDefinitions . Count ) ;
195+ }
172196
173197 private static List < ScrapeDefinition < IAzureResourceDefinition > > BuildScrapeDefinitionBatch (
174198 AzureMetricConfiguration azureMetricConfiguration ,
@@ -191,6 +215,7 @@ private static List<ScrapeDefinition<IAzureResourceDefinition>> BuildScrapeDefin
191215 return batch ;
192216 }
193217
218+
194219 private static int CountTotalScrapeDefinitions ( List < BatchScrapeDefinition < IAzureResourceDefinition > > groupedScrapeDefinitions )
195220 {
196221 var count = 0 ;
0 commit comments