public static void Init(IInfluxConfig config)
        {
            var value = new InfluxManager(config);

            if (Interlocked.CompareExchange(ref _instance, value, null) != null)
            {
                throw new InvalidOperationException("Duplicate assignment of InfluxManager.Default");
            }
            //LazyInitializer.EnsureInitialized(ref _instance, () => value);
        }
        private InfluxManager(IInfluxConfig config)
        {
            var collector = new CollectorConfiguration()
                            .Tag.With("influx_manager_version", VERSION)
                            .Tag.With("host", Environment.MachineName)
                            .Tag.With("user", Environment.UserName)
                            .Batch.AtInterval(config.BatchInterval)
                            .WriteTo.InfluxDB(config.Url, database: config.DatabaseName)
                            .CreateCollector();

            InfluxDB.Collector.Metrics.Collector = collector;
        }
 public static void Init(IInfluxConfig config)
 {
     LazyInitializer.EnsureInitialized(ref _instance, () => new InfluxManager(config));
 }