public V1DeserializerTests() { _metadataDeserializer = new Mock <IDeserializer <AzureMetadataV1> >(); _defaultsDeserializer = new Mock <IDeserializer <MetricDefaultsV1> >(); _metricsDeserializer = new Mock <IDeserializer <MetricDefinitionV1> >(); _deserializer = new V1Deserializer( _metadataDeserializer.Object, _defaultsDeserializer.Object, _metricsDeserializer.Object, NullLogger <V1Deserializer> .Instance); }
public string Build(IMapper mapper) { var metricsDeclaration = new MetricsDeclarationV1 { Version = SpecVersion.v1.ToString(), AzureMetadata = _azureMetadata, MetricDefaults = _metricDefaults, Metrics = _metrics }; _v1Deserializer = V1DeserializerFactory.CreateDeserializer(); var configurationSerializer = new ConfigurationSerializer(NullLogger.Instance, mapper, _v1Deserializer); return(configurationSerializer.Serialize(metricsDeclaration)); }
public V1SerializationTests() { var mapperConfiguration = new MapperConfiguration(c => c.AddProfile <V1MappingProfile>()); var mapper = mapperConfiguration.CreateMapper(); _v1Deserializer = V1DeserializerFactory.CreateDeserializer(); _configurationSerializer = new ConfigurationSerializer(NullLogger <ConfigurationSerializer> .Instance, mapper, _v1Deserializer); _metricsDeclaration = new MetricsDeclarationV1 { AzureMetadata = new AzureMetadataV1 { TenantId = "tenant", SubscriptionId = "subscription", ResourceGroupName = "promitor-group" }, MetricDefaults = new MetricDefaultsV1 { Aggregation = new AggregationV1 { Interval = TimeSpan.FromMinutes(7) }, Scraping = new ScrapingV1 { Schedule = "1 2 3 4 5" }, Labels = new Dictionary <string, string> { { "geo", "china" } } }, Metrics = new List <MetricDefinitionV1> { new MetricDefinitionV1 { Name = "promitor_demo_generic_queue_size", Description = "Amount of active messages of the 'orders' queue (determined with Generic provider)", ResourceType = ResourceType.Generic, Labels = new Dictionary <string, string> { { "app", "promitor" } }, AzureMetricConfiguration = new AzureMetricConfigurationV1 { MetricName = "ActiveMessages", Aggregation = new MetricAggregationV1 { Type = AggregationType.Average } }, Resources = new List <AzureResourceDefinitionV1> { new GenericResourceV1 { ResourceUri = "Microsoft.ServiceBus/namespaces/promitor-messaging", Filter = "EntityName eq 'orders'" }, new GenericResourceV1 { ResourceUri = "Microsoft.ServiceBus/namespaces/promitor-messaging", Filter = "EntityName eq 'accounts'" } } }, new MetricDefinitionV1 { Name = "promitor_demo_servicebusqueue_queue_size", Description = "Amount of active messages of the 'orders' queue (determined with ServiceBusNamespace provider)", ResourceType = ResourceType.ServiceBusNamespace, AzureMetricConfiguration = new AzureMetricConfigurationV1 { MetricName = "ActiveMessages", Aggregation = new MetricAggregationV1 { Type = AggregationType.Average, Interval = TimeSpan.FromMinutes(15) } }, Scraping = new ScrapingV1 { Schedule = "5 4 3 2 1" }, Resources = new List <AzureResourceDefinitionV1> { new ServiceBusNamespaceResourceV1 { Namespace = "promitor-messaging", QueueName = "orders", ResourceGroupName = "promitor-demo-group" } }, ResourceDiscoveryGroups = new List <AzureResourceDiscoveryGroupDefinitionV1> { new AzureResourceDiscoveryGroupDefinitionV1 { Name = "example-resource-collection" } } } } }; }