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)); }