Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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"
                            }
                        }
                    }
                }
            };
        }