internal static ScraperRuntimeConfiguration Generate() { var serverConfiguration = GenerateServerConfiguration(); var metricsConfiguration = GenerateMetricsConfiguration(); var containerLogConfiguration = GenerateContainerLogConfiguration(); var applicationInsightsConfiguration = GenerateApplicationInsightsConfiguration(); var telemetryConfiguration = GenerateTelemetryConfiguration(containerLogConfiguration, applicationInsightsConfiguration); var metricSinkConfiguration = GenerateMetricSinkConfiguration(); var resourceDiscovery = GenerateResourceDiscoveryConfiguration(); var runtimeConfiguration = new ScraperRuntimeConfiguration { MetricsConfiguration = metricsConfiguration, MetricSinks = metricSinkConfiguration, ResourceDiscovery = resourceDiscovery, Server = serverConfiguration, Telemetry = telemetryConfiguration }; return(runtimeConfiguration); }
public static RuntimeConfigurationGenerator WithRuntimeConfiguration(ScraperRuntimeConfiguration runtimeConfiguration) { return(new RuntimeConfigurationGenerator(runtimeConfiguration)); }
private RuntimeConfigurationGenerator(ScraperRuntimeConfiguration runtimeConfiguration) { _runtimeConfiguration = runtimeConfiguration; _isEnableMetricTimestampsInPrometheusSpecified = true; }
private RuntimeConfigurationGenerator(ScraperRuntimeConfiguration runtimeConfiguration) { _runtimeConfiguration = runtimeConfiguration; }
internal static ScraperRuntimeConfiguration Generate() { var serverConfiguration = new Faker <ServerConfiguration>() .StrictMode(true) .RuleFor(srvConfig => srvConfig.HttpPort, faker => faker.Random.Int()) .Generate(); var metricsConfiguration = new Faker <MetricsConfiguration>() .StrictMode(true) .RuleFor(metricConfiguration => metricConfiguration.AbsolutePath, faker => faker.System.DirectoryPath()) .Generate(); var containerLogConfiguration = new Faker <ContainerLogConfiguration>() .StrictMode(true) .RuleFor(containerConfiguration => containerConfiguration.Verbosity, faker => LogLevel.Error) .RuleFor(containerConfiguration => containerConfiguration.IsEnabled, faker => faker.Random.Bool()) .Generate(); var applicationInsightsConfiguration = new Faker <ApplicationInsightsConfiguration>() .StrictMode(true) .RuleFor(containerConfiguration => containerConfiguration.Verbosity, faker => LogLevel.Error) .RuleFor(containerConfiguration => containerConfiguration.IsEnabled, faker => faker.Random.Bool()) .RuleFor(containerConfiguration => containerConfiguration.InstrumentationKey, faker => faker.Random.Guid().ToString()) .Generate(); var telemetryConfiguration = new Faker <TelemetryConfiguration>() .StrictMode(true) .RuleFor(telemetry => telemetry.DefaultVerbosity, faker => LogLevel.Error) .RuleFor(telemetry => telemetry.ContainerLogs, faker => containerLogConfiguration) .RuleFor(telemetry => telemetry.ApplicationInsights, faker => applicationInsightsConfiguration) .Generate(); var statsDConfiguration = new Faker <StatsdSinkConfiguration>() .StrictMode(true) .RuleFor(statsdSinkConfiguration => statsdSinkConfiguration.Host, faker => faker.Person.FirstName) .RuleFor(statsdSinkConfiguration => statsdSinkConfiguration.Port, faker => faker.Random.Int(min: 0)) .RuleFor(statsdSinkConfiguration => statsdSinkConfiguration.MetricPrefix, faker => faker.Person.FirstName) .Generate(); var prometheusScrapingEndpointSinkConfiguration = new Faker <PrometheusScrapingEndpointSinkConfiguration>() .StrictMode(true) .RuleFor(promConfiguration => promConfiguration.BaseUriPath, faker => faker.System.DirectoryPath()) .RuleFor(promConfiguration => promConfiguration.MetricUnavailableValue, faker => faker.Random.Double(min: 1)) .RuleFor(promConfiguration => promConfiguration.EnableMetricTimestamps, faker => faker.Random.Bool()) .Generate(); var metricSinkConfiguration = new Faker <MetricSinkConfiguration>() .StrictMode(true) .RuleFor(sinkConfiguration => sinkConfiguration.Statsd, statsDConfiguration) .RuleFor(sinkConfiguration => sinkConfiguration.PrometheusScrapingEndpoint, prometheusScrapingEndpointSinkConfiguration) .Generate(); var resourceDiscovery = new Faker <ResourceDiscoveryConfiguration>() .StrictMode(true) .RuleFor(resourceDiscoveryConfiguration => resourceDiscoveryConfiguration.Host, faker => faker.Person.FirstName) .RuleFor(resourceDiscoveryConfiguration => resourceDiscoveryConfiguration.Port, faker => faker.Random.Int(min: 1)) .Generate(); var runtimeConfiguration = new ScraperRuntimeConfiguration { MetricsConfiguration = metricsConfiguration, MetricSinks = metricSinkConfiguration, ResourceDiscovery = resourceDiscovery, Server = serverConfiguration, Telemetry = telemetryConfiguration }; return(runtimeConfiguration); }