Esempio n. 1
0
        private static IManage CreateManager(MetricConfig config, SensorCollector collector)
        {
            double seconds = config.Interval.TotalSeconds;

            if (config.Graphite != null)
            {
                Logger.Info(
                    $"Graphite host: {config.Graphite.Host} port: {config.Graphite.Port} interval: {seconds} tags: {config.Graphite.Tags}");
                var writer = new GraphiteWriter(config.Graphite.Host,
                                                config.Graphite.Port,
                                                Environment.MachineName,
                                                config.Graphite.Tags);
                return(new MetricTimer(config.Interval, collector, writer));
            }
            else if (config.Prometheus != null)
            {
                Logger.Info($"Prometheus port: {config.Prometheus.Port}");
                var prometheusCollection = new PrometheusCollection(collector, Environment.MachineName);
                var server = new MetricServer(config.Prometheus.Host, config.Prometheus.Port);
                return(new PrometheusServer(server, collector, prometheusCollection));
            }
            else if (config.Timescale != null)
            {
                var writer = new TimescaleWriter(config.Timescale.Connection, config.Timescale.SetupTable, Environment.MachineName);
                return(new MetricTimer(config.Interval, collector, writer));
            }
            else
            {
                Logger.Info($"Influxdb address: {config.Influx.Address} db: {config.Influx.Db}");
                var writer = new InfluxWriter(config.Influx, Environment.MachineName);
                return(new MetricTimer(config.Interval, collector, writer));
            }
        }
Esempio n. 2
0
        private static IManage CreateManager(MetricConfig config, SensorCollector collector)
        {
            var    hostname = config.LookupName();
            double seconds  = config.Interval.TotalSeconds;

            if (config.Graphite != null)
            {
                Logger.Info(
                    $"Graphite host: {config.Graphite.Host} port: {config.Graphite.Port} interval: {seconds} tags: {config.Graphite.Tags}");
                var writer = new GraphiteWriter(config.Graphite.Host,
                                                config.Graphite.Port,
                                                hostname,
                                                config.Graphite.Tags);
                return(new MetricTimer(config.Interval, collector, writer));
            }
            else if (config.Prometheus != null)
            {
                Logger.Info($"Prometheus port: {config.Prometheus.Port}");
                var registry = PrometheusCollection.SetupDefault(collector);
                var server   = new MetricServer(config.Prometheus.Host, config.Prometheus.Port, registry: registry);
                return(new PrometheusServer(server, collector));
            }
            else if (config.Timescale != null)
            {
                var writer = new TimescaleWriter(config.Timescale.Connection, config.Timescale.SetupTable, hostname);
                return(new MetricTimer(config.Interval, collector, writer));
            }
            else
            {
                Logger.Info($"Influxdb address: {config.Influx.Address} db: {config.Influx.Db}");
                var writer = new InfluxWriter(config.Influx, hostname);
                return(new MetricTimer(config.Interval, collector, writer));
            }
        }