public MetricsDeclarationBuilder WithContainerInstanceMetric(string metricName = "promitor-container-instance", string metricDescription = "Description for a metric", string containerGroup = "promitor-group", string azureMetricName = "Total") { var azureMetricConfiguration = CreateAzureMetricConfiguration(azureMetricName); var resource = new ContainerInstanceResourceV1 { ContainerGroup = containerGroup }; var metric = new MetricDefinitionV1 { Name = metricName, Description = metricDescription, AzureMetricConfiguration = azureMetricConfiguration, Resources = new List <AzureResourceDefinitionV1> { resource }, ResourceType = ResourceType.ContainerInstance }; _metrics.Add(metric); return(this); }
public MetricsDeclarationBuilder WithContainerRegistryMetric(string metricName = "promitor-container-registry", string metricDescription = "Description for a metric", string registryName = "promitor-container-registry", string azureMetricName = "Total") { var azureMetricConfiguration = CreateAzureMetricConfiguration(azureMetricName); var resource = new ContainerRegistryResourceV1 { RegistryName = registryName }; var metric = new MetricDefinitionV1 { Name = metricName, Description = metricDescription, AzureMetricConfiguration = azureMetricConfiguration, Resources = new List <AzureResourceDefinitionV1> { resource }, ResourceType = ResourceType.ContainerRegistry }; _metrics.Add(metric); return(this); }
public MetricsDeclarationBuilder WithRedisCacheMetric(string metricName = "promitor-redis", string metricDescription = "Description for a metric", string cacheName = "promitor-redis", string azureMetricName = "CacheHits") { var azureMetricConfiguration = CreateAzureMetricConfiguration(azureMetricName); var resource = new RedisCacheResourceV1 { CacheName = cacheName }; var metric = new MetricDefinitionV1 { Name = metricName, Description = metricDescription, AzureMetricConfiguration = azureMetricConfiguration, Resources = new List <AzureResourceDefinitionV1> { resource }, ResourceType = ResourceType.RedisCache }; _metrics.Add(metric); return(this); }
public MetricsDeclarationBuilder WithPostgreSqlMetric(string metricName = "promitor-postgresql", string metricDescription = "Description for a metric", string serverName = "promitor-postgresql", string azureMetricName = "cpu_percent") { var azureMetricConfiguration = CreateAzureMetricConfiguration(azureMetricName); var resource = new PostgreSqlResourceV1 { ServerName = serverName }; var metric = new MetricDefinitionV1 { Name = metricName, Description = metricDescription, AzureMetricConfiguration = azureMetricConfiguration, Resources = new List <AzureResourceDefinitionV1> { resource }, ResourceType = ResourceType.PostgreSql }; _metrics.Add(metric); return(this); }
public MetricsDeclarationBuilder WithVirtualMachineScaleSetMetric(string metricName = "promitor-virtual-machine-scale-set", string metricDescription = "Description for a metric", string scaleSetName = "promitor-scale-set-name", string azureMetricName = "Total") { var azureMetricConfiguration = CreateAzureMetricConfiguration(azureMetricName); var resource = new VirtualMachineScaleSetResourceV1() { ScaleSetName = scaleSetName }; var metric = new MetricDefinitionV1 { Name = metricName, Description = metricDescription, AzureMetricConfiguration = azureMetricConfiguration, Resources = new List <AzureResourceDefinitionV1> { resource }, ResourceType = ResourceType.VirtualMachineScaleSet }; _metrics.Add(metric); return(this); }
public MetricsDeclarationBuilder WithNetworkInterfaceMetric(string metricName = "promitor-network-interface", string metricDescription = "Description for a metric", string networkInterfaceName = "promitor-network-interface-name", string azureMetricName = "Total") { var azureMetricConfiguration = CreateAzureMetricConfiguration(azureMetricName); var resource = new NetworkInterfaceResourceV1 { NetworkInterfaceName = networkInterfaceName }; var metric = new MetricDefinitionV1 { Name = metricName, Description = metricDescription, AzureMetricConfiguration = azureMetricConfiguration, Resources = new List <AzureResourceDefinitionV1> { resource }, ResourceType = ResourceType.NetworkInterface }; _metrics.Add(metric); return(this); }
public MetricsDeclarationBuilder WithBlobStorageMetric(string metricName = "promitor", string metricDescription = "Description for a metric", string accountName = "promitor-account", string azureMetricName = "Total") { var azureMetricConfiguration = CreateAzureMetricConfiguration(azureMetricName); var resource = new BlobStorageResourceV1 { AccountName = accountName }; var metric = new MetricDefinitionV1 { Name = metricName, Description = metricDescription, AzureMetricConfiguration = azureMetricConfiguration, Resources = new List <AzureResourceDefinitionV1> { resource }, ResourceType = ResourceType.BlobStorage }; _metrics.Add(metric); return(this); }
public MetricsDeclarationBuilder WithFunctionAppMetric(string metricName = "promitor-fuction-app", string metricDescription = "Description for a metric", string functionAppName = "promitor-fuction-app", string azureMetricName = "TotalRequests") { var azureMetricConfiguration = CreateAzureMetricConfiguration(azureMetricName); var resource = new FunctionAppResourceV1 { FunctionAppName = functionAppName }; var metric = new MetricDefinitionV1 { Name = metricName, Description = metricDescription, AzureMetricConfiguration = azureMetricConfiguration, Resources = new List <AzureResourceDefinitionV1> { resource }, ResourceType = ResourceType.FunctionApp }; _metrics.Add(metric); return(this); }
public MetricsDeclarationBuilder WithAppPlanMetric(string metricName = "promitor-app-plan", string metricDescription = "Description for a metric", string appPlanName = "promitor-app-plan", string azureMetricName = "TotalRequests") { var azureMetricConfiguration = CreateAzureMetricConfiguration(azureMetricName); var resource = new AppPlanResourceV1 { AppPlanName = appPlanName }; var metric = new MetricDefinitionV1 { Name = metricName, Description = metricDescription, AzureMetricConfiguration = azureMetricConfiguration, Resources = new List <AzureResourceDefinitionV1> { resource }, ResourceType = ResourceType.AppPlan }; _metrics.Add(metric); return(this); }
public MetricsDeclarationBuilder WithCosmosDbMetric(string metricName = "promitor-cosmosdb", string metricDescription = "Description for a metric", string dbName = "promitor-cosmosdb", string azureMetricName = "TotalRequests") { var azureMetricConfiguration = CreateAzureMetricConfiguration(azureMetricName); var resource = new CosmosDbResourceV1 { DbName = dbName }; var metric = new MetricDefinitionV1 { Name = metricName, Description = metricDescription, AzureMetricConfiguration = azureMetricConfiguration, Resources = new List <AzureResourceDefinitionV1> { resource }, ResourceType = ResourceType.CosmosDb }; _metrics.Add(metric); return(this); }
public MetricsDeclarationBuilder WithServiceBusMetric(string metricName = "promitor-service-bus", string metricDescription = "Description for a metric", string queueName = "promitor-queue", string serviceBusNamespace = "promitor-namespace", string azureMetricName = "Total") { var azureMetricConfiguration = CreateAzureMetricConfiguration(azureMetricName); var resource = new ServiceBusQueueResourceV1 { QueueName = queueName, Namespace = serviceBusNamespace }; var metric = new MetricDefinitionV1 { Name = metricName, Description = metricDescription, AzureMetricConfiguration = azureMetricConfiguration, Resources = new List <AzureResourceDefinitionV1> { resource }, ResourceType = ResourceType.ServiceBusQueue }; _metrics.Add(metric); return(this); }
public MetricsDeclarationBuilder WithGenericMetric(string metricName = "foo", string metricDescription = "Description for a metric", string resourceUri = "Microsoft.ServiceBus/namespaces/promitor-messaging", string filter = "EntityName eq \'orders\'", string azureMetricName = "Total") { var azureMetricConfiguration = CreateAzureMetricConfiguration(azureMetricName); var resource = new GenericResourceV1 { ResourceUri = resourceUri, Filter = filter }; var metric = new MetricDefinitionV1 { Name = metricName, Description = metricDescription, AzureMetricConfiguration = azureMetricConfiguration, Resources = new List <AzureResourceDefinitionV1> { resource }, ResourceType = ResourceType.Generic }; _metrics.Add(metric); return(this); }
public MetricsDeclarationBuilder WithWebAppMetric(string metricName = "promitor-web-app", string metricDescription = "Description for a metric", string webAppName = "promitor-web-app-name", string slotName = "production", string azureMetricName = "Total") { var azureMetricConfiguration = CreateAzureMetricConfiguration(azureMetricName); var resource = new WebAppResourceV1 { WebAppName = webAppName, SlotName = slotName }; var metric = new MetricDefinitionV1 { Name = metricName, Description = metricDescription, AzureMetricConfiguration = azureMetricConfiguration, Resources = new List <AzureResourceDefinitionV1> { resource }, ResourceType = ResourceType.WebApp }; _metrics.Add(metric); return(this); }
public MetricsDeclarationBuilder WithApiManagementMetric(string metricName = "promitor-api-management", string metricDescription = "Description for a metric", string instanceName = "promitor-app-plan", string locationName = "West Europe", string azureMetricName = "TotalRequests") { var azureMetricConfiguration = CreateAzureMetricConfiguration(azureMetricName); var resource = new ApiManagementResourceV1 { InstanceName = instanceName, LocationName = locationName }; var metric = new MetricDefinitionV1 { Name = metricName, Description = metricDescription, AzureMetricConfiguration = azureMetricConfiguration, Resources = new List <AzureResourceDefinitionV1> { resource }, ResourceType = ResourceType.ApiManagement }; _metrics.Add(metric); return(this); }
protected void AssertMetricDefinition(MetricDefinition deserializedMetricDefinition, MetricDefinitionV1 metricDefinition) { Assert.NotNull(deserializedMetricDefinition); Assert.NotNull(deserializedMetricDefinition.PrometheusMetricDefinition); Assert.Equal(metricDefinition.Name, deserializedMetricDefinition.PrometheusMetricDefinition.Name); Assert.Equal(metricDefinition.Description, deserializedMetricDefinition.PrometheusMetricDefinition.Description); Assert.Equal(metricDefinition.ResourceType, deserializedMetricDefinition.ResourceType); Assert.NotNull(deserializedMetricDefinition.PrometheusMetricDefinition.Labels); Assert.Equal(metricDefinition.Labels, deserializedMetricDefinition.PrometheusMetricDefinition.Labels); Assert.NotEmpty(deserializedMetricDefinition.Resources); Assert.Equal(deserializedMetricDefinition.Resources.Single().ResourceGroupName, metricDefinition.ResourceGroupName); foreach (var label in metricDefinition.Labels) { var deserializedLabel = deserializedMetricDefinition.PrometheusMetricDefinition.Labels[label.Key]; Assert.NotNull(deserializedLabel); Assert.Equal(label.Value, deserializedLabel); } Assert.NotNull(deserializedMetricDefinition.AzureMetricConfiguration); Assert.Equal(metricDefinition.AzureMetricConfiguration.MetricName, deserializedMetricDefinition.AzureMetricConfiguration.MetricName); Assert.NotNull(deserializedMetricDefinition.AzureMetricConfiguration.Aggregation); Assert.Equal(metricDefinition.AzureMetricConfiguration.Aggregation.Type, deserializedMetricDefinition.AzureMetricConfiguration.Aggregation.Type); Assert.Equal(metricDefinition.AzureMetricConfiguration.Aggregation.Interval, deserializedMetricDefinition.AzureMetricConfiguration.Aggregation.Interval); }