diff --git a/src/Promitor.Core.Scraping/Configuration/Model/MetricDefaults.cs b/src/Promitor.Core.Scraping/Configuration/Model/MetricDefaults.cs index 5df4f996b..b6e619352 100644 --- a/src/Promitor.Core.Scraping/Configuration/Model/MetricDefaults.cs +++ b/src/Promitor.Core.Scraping/Configuration/Model/MetricDefaults.cs @@ -1,11 +1,9 @@ -using System; - -namespace Promitor.Core.Scraping.Configuration.Model +namespace Promitor.Core.Scraping.Configuration.Model { public class MetricDefaults { public Aggregation Aggregation { get; set; } = new Aggregation(); - public TimeSpan ScrapingInterval { get; set; } + public Scraping Scraping { get; set; } = new Scraping(); } } \ No newline at end of file diff --git a/src/Promitor.Core.Scraping/Configuration/Model/Metrics/MetricDefinition.cs b/src/Promitor.Core.Scraping/Configuration/Model/Metrics/MetricDefinition.cs index 0d96d05f3..6cb220350 100644 --- a/src/Promitor.Core.Scraping/Configuration/Model/Metrics/MetricDefinition.cs +++ b/src/Promitor.Core.Scraping/Configuration/Model/Metrics/MetricDefinition.cs @@ -1,6 +1,4 @@ -using System; - -namespace Promitor.Core.Scraping.Configuration.Model.Metrics +namespace Promitor.Core.Scraping.Configuration.Model.Metrics { public abstract class MetricDefinition { @@ -31,8 +29,8 @@ public abstract class MetricDefinition public abstract ResourceType ResourceType { get; } /// - /// Gets or sets the scraping interval. + /// Gets or sets the scraping model. /// - public TimeSpan? ScrapingInterval { get; set; } + public Scraping Scraping { get; set; } = new Scraping(); } } diff --git a/src/Promitor.Core.Scraping/Configuration/Model/Scraping.cs b/src/Promitor.Core.Scraping/Configuration/Model/Scraping.cs new file mode 100644 index 000000000..b9c869ae0 --- /dev/null +++ b/src/Promitor.Core.Scraping/Configuration/Model/Scraping.cs @@ -0,0 +1,9 @@ +using System; + +namespace Promitor.Core.Scraping.Configuration.Model +{ + public class Scraping + { + public TimeSpan? Interval { get; set; } + } +} diff --git a/src/Promitor.Core.Scraping/Configuration/Serialization/Core/MetricDefaultsDeserializer.cs b/src/Promitor.Core.Scraping/Configuration/Serialization/Core/MetricDefaultsDeserializer.cs index bdef46e96..64f62db69 100644 --- a/src/Promitor.Core.Scraping/Configuration/Serialization/Core/MetricDefaultsDeserializer.cs +++ b/src/Promitor.Core.Scraping/Configuration/Serialization/Core/MetricDefaultsDeserializer.cs @@ -34,7 +34,7 @@ internal override MetricDefaults Deserialize(YamlMappingNode node) if (scrapingIntervalNode != null) { var scrapingIntervalTimeSpan = TimeSpan.Parse(scrapingIntervalNode.ToString()); - metricDefaults.ScrapingInterval = scrapingIntervalTimeSpan; + metricDefaults.Scraping.Interval = scrapingIntervalTimeSpan; } } diff --git a/src/Promitor.Core.Scraping/Configuration/Serialization/Core/MetricDeserializer.cs b/src/Promitor.Core.Scraping/Configuration/Serialization/Core/MetricDeserializer.cs index 317347a4a..f30c07e93 100644 --- a/src/Promitor.Core.Scraping/Configuration/Serialization/Core/MetricDeserializer.cs +++ b/src/Promitor.Core.Scraping/Configuration/Serialization/Core/MetricDeserializer.cs @@ -46,7 +46,7 @@ protected virtual TMetricDefinition DeserializeMetricDefinition metricDefinition.SasToken, faker => $"?sig={Base64UrlEncoder.Encode(faker.Lorem.Sentence(wordCount: 3))}") .RuleFor(metricDefinition => metricDefinition.AzureMetricConfiguration, faker => bogusAzureMetricConfiguration) .RuleFor(metricDefinition => metricDefinition.ResourceGroupName, faker => resourceGroupName) - .RuleFor(metricDefinition => metricDefinition.ScrapingInterval, faker => + .RuleFor(metricDefinition => metricDefinition.Scraping.Interval, faker => string.IsNullOrWhiteSpace(metricScrapingInterval) ? (TimeSpan?)null : TimeSpan.Parse(metricScrapingInterval)) .Ignore(metricDefinition => metricDefinition.ResourceGroupName) - .Ignore(metricDefinition => metricDefinition.ScrapingInterval); + .Ignore(metricDefinition => metricDefinition.Scraping.Interval); return bogusGenerator.Generate(); } diff --git a/src/Promitor.Scraper.Tests.Unit/Serialization/MetricsDeclaration/MetricsDeclarationWithContainerInstanceYamlSerializationTests.cs b/src/Promitor.Scraper.Tests.Unit/Serialization/MetricsDeclaration/MetricsDeclarationWithContainerInstanceYamlSerializationTests.cs index 09c5402e1..097d7d13f 100644 --- a/src/Promitor.Scraper.Tests.Unit/Serialization/MetricsDeclaration/MetricsDeclarationWithContainerInstanceYamlSerializationTests.cs +++ b/src/Promitor.Scraper.Tests.Unit/Serialization/MetricsDeclaration/MetricsDeclarationWithContainerInstanceYamlSerializationTests.cs @@ -72,10 +72,10 @@ private ContainerInstanceMetricDefinition GenerateBogusContainerInstanceMetricDe .RuleFor(metricDefinition => metricDefinition.ContainerGroup, faker => faker.Name.LastName()) .RuleFor(metricDefinition => metricDefinition.AzureMetricConfiguration, faker => bogusAzureMetricConfiguration) .RuleFor(metricDefinition => metricDefinition.ResourceGroupName, faker => resourceGroupName) - .RuleFor(metricDefinition => metricDefinition.ScrapingInterval, faker => + .RuleFor(metricDefinition => metricDefinition.Scraping.Interval, faker => string.IsNullOrWhiteSpace(metricScrapingInterval) ? (TimeSpan?)null : TimeSpan.Parse(metricScrapingInterval)) .Ignore(metricDefinition => metricDefinition.ResourceGroupName) - .Ignore(metricDefinition => metricDefinition.ScrapingInterval); + .Ignore(metricDefinition => metricDefinition.Scraping.Interval); return bogusGenerator.Generate(); } diff --git a/src/Promitor.Scraper.Tests.Unit/Serialization/MetricsDeclaration/MetricsDeclarationWithContainerRegistryYamlSerializationTests.cs b/src/Promitor.Scraper.Tests.Unit/Serialization/MetricsDeclaration/MetricsDeclarationWithContainerRegistryYamlSerializationTests.cs index 37e2266a8..9ecc2232a 100644 --- a/src/Promitor.Scraper.Tests.Unit/Serialization/MetricsDeclaration/MetricsDeclarationWithContainerRegistryYamlSerializationTests.cs +++ b/src/Promitor.Scraper.Tests.Unit/Serialization/MetricsDeclaration/MetricsDeclarationWithContainerRegistryYamlSerializationTests.cs @@ -68,10 +68,10 @@ private ContainerRegistryMetricDefinition GenerateBogusContainerRegistryMetricDe .RuleFor(metricDefinition => metricDefinition.RegistryName, faker => faker.Name.LastName()) .RuleFor(metricDefinition => metricDefinition.AzureMetricConfiguration, faker => bogusAzureMetricConfiguration) .RuleFor(metricDefinition => metricDefinition.ResourceGroupName, faker => resourceGroupName) - .RuleFor(metricDefinition => metricDefinition.ScrapingInterval, faker => + .RuleFor(metricDefinition => metricDefinition.Scraping.Interval, faker => string.IsNullOrWhiteSpace(metricScrapingInterval) ? (TimeSpan?)null : TimeSpan.Parse(metricScrapingInterval)) .Ignore(metricDefinition => metricDefinition.ResourceGroupName) - .Ignore(metricDefinition => metricDefinition.ScrapingInterval); + .Ignore(metricDefinition => metricDefinition.Scraping.Interval); return bogusGenerator.Generate(); } diff --git a/src/Promitor.Scraper.Tests.Unit/Serialization/MetricsDeclaration/MetricsDeclarationWithServiceBusQueueYamlSerializationTests.cs b/src/Promitor.Scraper.Tests.Unit/Serialization/MetricsDeclaration/MetricsDeclarationWithServiceBusQueueYamlSerializationTests.cs index a006d7b66..22e6f2c24 100644 --- a/src/Promitor.Scraper.Tests.Unit/Serialization/MetricsDeclaration/MetricsDeclarationWithServiceBusQueueYamlSerializationTests.cs +++ b/src/Promitor.Scraper.Tests.Unit/Serialization/MetricsDeclaration/MetricsDeclarationWithServiceBusQueueYamlSerializationTests.cs @@ -70,10 +70,10 @@ private ServiceBusQueueMetricDefinition GenerateBogusServiceBusMetricDefinition( .RuleFor(metricDefinition => metricDefinition.QueueName, faker => faker.Name.FirstName()) .RuleFor(metricDefinition => metricDefinition.AzureMetricConfiguration, faker => bogusAzureMetricConfiguration) .RuleFor(metricDefinition => metricDefinition.ResourceGroupName, faker => resourceGroupName) - .RuleFor(metricDefinition => metricDefinition.ScrapingInterval, faker => + .RuleFor(metricDefinition => metricDefinition.Scraping.Interval, faker => string.IsNullOrWhiteSpace(metricScrapingInterval) ? (TimeSpan?)null : TimeSpan.Parse(metricScrapingInterval)) - .Ignore(metricDefinition => metricDefinition.ResourceGroupName) - .Ignore(metricDefinition => metricDefinition.ScrapingInterval); + .Ignore(metricDefinition => metricDefinition.ResourceGroupName) + .Ignore(metricDefinition => metricDefinition.Scraping.Interval); return bogusGenerator.Generate(); } diff --git a/src/Promitor.Scraper.Tests.Unit/Serialization/MetricsDeclaration/MetricsDeclarationWithVirtualMachineYamlSerializationTests.cs b/src/Promitor.Scraper.Tests.Unit/Serialization/MetricsDeclaration/MetricsDeclarationWithVirtualMachineYamlSerializationTests.cs index 7712d95ee..1e373e97f 100644 --- a/src/Promitor.Scraper.Tests.Unit/Serialization/MetricsDeclaration/MetricsDeclarationWithVirtualMachineYamlSerializationTests.cs +++ b/src/Promitor.Scraper.Tests.Unit/Serialization/MetricsDeclaration/MetricsDeclarationWithVirtualMachineYamlSerializationTests.cs @@ -73,10 +73,10 @@ private VirtualMachineMetricDefinition GenerateBogusVirtualMachineMetricDefiniti .RuleFor(metricDefinition => metricDefinition.VirtualMachineName, faker => faker.Name.LastName()) .RuleFor(metricDefinition => metricDefinition.AzureMetricConfiguration, faker => bogusAzureMetricConfiguration) .RuleFor(metricDefinition => metricDefinition.ResourceGroupName, faker => resourceGroupName) - .RuleFor(metricDefinition => metricDefinition.ScrapingInterval, faker => + .RuleFor(metricDefinition => metricDefinition.Scraping.Interval, faker => string.IsNullOrWhiteSpace(metricScrapingInterval) ? (TimeSpan?)null : TimeSpan.Parse(metricScrapingInterval)) .Ignore(metricDefinition => metricDefinition.ResourceGroupName) - .Ignore(metricDefinition => metricDefinition.ScrapingInterval); + .Ignore(metricDefinition => metricDefinition.Scraping.Interval); return bogusGenerator.Generate(); } diff --git a/src/Promitor.Scraper.Tests.Unit/Serialization/MetricsDeclaration/YamlSerializationTests.cs b/src/Promitor.Scraper.Tests.Unit/Serialization/MetricsDeclaration/YamlSerializationTests.cs index 65f0d5c76..d8e917e55 100644 --- a/src/Promitor.Scraper.Tests.Unit/Serialization/MetricsDeclaration/YamlSerializationTests.cs +++ b/src/Promitor.Scraper.Tests.Unit/Serialization/MetricsDeclaration/YamlSerializationTests.cs @@ -70,7 +70,7 @@ protected MetricDefaults GenerateBogusMetricDefaults(string defaultScrapingInter if (!string.IsNullOrWhiteSpace(defaultScrapingInterval)) { - metricDefaults.ScrapingInterval = TimeSpan.Parse(defaultScrapingInterval); + metricDefaults.Scraping.Interval = TimeSpan.Parse(defaultScrapingInterval); } return metricDefaults;