public ConsumerGroupHost Initialize(ILog log, AirlockEnvironmentVariables environmentVariables) { var environment = environmentVariables.GetValue("VOSTOK_ENV", "dev"); var metricRoutingKeyPrefix = RoutingKey.CreatePrefix("vostok", environment, ServiceName); var graphiteUri = GetGraphiteUri(log, environmentVariables); var graphiteSinkConfig = new GraphiteSinkConfig { GraphiteHost = graphiteUri.Host, GraphitePort = graphiteUri.Port }; log.Info($"GraphiteSinkConfig: {graphiteSinkConfig.ToPrettyJson()}"); graphiteSink = new GraphiteSink(graphiteSinkConfig, log); var rootMetricScope = new RootMetricScope(new MetricConfiguration { Reporter = new GraphiteMetricReporter(graphiteSink, metricRoutingKeyPrefix, log) }); var consumerGroupHostSettings = GetConsumerGroupHostSettings(log, environmentVariables); consumerMetrics = new ConsumerMetrics(consumerGroupHostSettings.FlushMetricsInterval, rootMetricScope); DoInitialize(log, rootMetricScope, environmentVariables, out var routingKeyFilter, out var processorProvider); return(new ConsumerGroupHost(consumerGroupHostSettings, log, consumerMetrics, routingKeyFilter, processorProvider)); }
public void CreatePrefix_fails_if_empty_item(string project, string environment, string service) { Assert.Throws <ArgumentException>(() => RoutingKey.CreatePrefix(project, environment, service)); }
public void CreatePrefix_returns_prefix(string project, string environment, string service, string prefix) { Assert.AreEqual(prefix, RoutingKey.CreatePrefix(project, environment, service)); Assert.AreEqual(prefix, RoutingKey.Create(project, environment, service)); }