示例#1
0
        /// <summary>
        /// The default (latest supported) dependency chain setup.
        /// </summary>
        /// <param name="configuration">InfluxDb client configuration.</param>
        protected virtual void BootstrapInfluxDbLatest(IInfluxDbClientConfiguration configuration)
        {
            _requestClient = new InfluxDbRequestClient(configuration);

            // NOTE: once a breaking change occures, QueryBuilders will need to be resolved with factories
            _serieQueryBuilder       = new Lazy <ISerieQueryBuilder>(() => new SerieQueryBuilder(), true);
            _databaseQueryBuilder    = new Lazy <IDatabaseQueryBuilder>(() => new DatabaseQueryBuilder(), true);
            _retentionQueryBuilder   = new Lazy <IRetentionQueryBuilder>(() => new RetentionQueryBuilder(), true);
            _cqQueryBuilder          = new Lazy <ICqQueryBuilder>(() => new CqQueryBuilder(), true);
            _diagnosticsQueryBuilder = new Lazy <IDiagnosticsQueryBuilder>(() => new DiagnosticsQueryBuilder(), true);
            _userQueryBuilder        = new Lazy <IUserQueryBuilder>(() => new UserQueryBuilder(), true);

            // NOTE: once a breaking change occures, Parsers will need to be resolved with factories
            _basicResponseParser       = new Lazy <IBasicResponseParser>(() => new BasicResponseParser(), true);
            _serieResponseParser       = new Lazy <ISerieResponseParser>(() => new SerieResponseParser(), true);
            _databaseResponseParser    = new Lazy <IDatabaseResponseParser>(() => new DatabaseResponseParser(), true);
            _retentionResponseParser   = new Lazy <IRetentionResponseParser>(() => new RetentionResponseParser(), true);
            _cqResponseParser          = new Lazy <ICqResponseParser>(() => new CqResponseParser(), true);
            _diagnosticsResponseParser = new Lazy <IDiagnosticsResponseParser>(() => new DiagnosticsResponseParser(), true);
            _userResponseParser        = new Lazy <IUserResponseParser>(() => new UserResponseParser(), true);

            // NOTE: once a breaking change occures, ClientModules will need to be resolved with factories
            _basicClientModule = new Lazy <IBasicClientModule>(() => new BasicClientModule(_requestClient, _basicResponseParser.Value));
            var batchWriter = new Lazy <IBatchWriterFactory>(() => new BatchWriter(_basicClientModule.Value));

            _serieClientModule       = new Lazy <ISerieClientModule>(() => new SerieClientModule(_requestClient, _serieQueryBuilder.Value, _serieResponseParser.Value, batchWriter.Value));
            _databaseClientModule    = new Lazy <IDatabaseClientModule>(() => new DatabaseClientModule(_requestClient, _databaseQueryBuilder.Value, _databaseResponseParser.Value));
            _retentionClientModule   = new Lazy <IRetentionClientModule>(() => new RetentionClientModule(_requestClient, _retentionQueryBuilder.Value, _retentionResponseParser.Value));
            _cqClientModule          = new Lazy <ICqClientModule>(() => new CqClientModule(_requestClient, _cqQueryBuilder.Value, _cqResponseParser.Value));
            _diagnosticsClientModule = new Lazy <IDiagnosticsClientModule>(() => new DiagnosticsClientModule(_requestClient, _diagnosticsQueryBuilder.Value, _diagnosticsResponseParser.Value));
            _userClientModule        = new Lazy <IUserClientModule>(() => new UserClientModule(_requestClient, _userQueryBuilder.Value, _userResponseParser.Value));
        }
示例#2
0
        public InfluxDbClient(IInfluxDbClientConfiguration configuration)
        {
            var requestClientFactory = new InfluxDbClientBootstrap(configuration);
            var dependencies         = requestClientFactory.GetClientDependencies();

            _requestClient = dependencies.RequestClient;

            // NOTE: once a breaking change occures, QueryBuilders will need to be resolved with factories
            _serieQueryBuilder       = new Lazy <ISerieQueryBuilder>(() => new SerieQueryBuilder(), true);
            _databaseQueryBuilder    = new Lazy <IDatabaseQueryBuilder>(() => new DatabaseQueryBuilder(), true);
            _retentionQueryBuilder   = new Lazy <IRetentionQueryBuilder>(() => new RetentionQueryBuilder(), true);
            _cqQueryBuilder          = new Lazy <ICqQueryBuilder>(() => dependencies.CqQueryBuilder, true);
            _diagnosticsQueryBuilder = new Lazy <IDiagnosticsQueryBuilder>(() => new DiagnosticsQueryBuilder(), true);

            // NOTE: once a breaking change occures, Parsers will need to be resolved with factories
            _basicResponseParser       = new Lazy <IBasicResponseParser>(() => new BasicResponseParser(), true);
            _serieResponseParser       = new Lazy <ISerieResponseParser>(() => dependencies.SerieResponseParser, true);
            _databaseResponseParser    = new Lazy <IDatabaseResponseParser>(() => new DatabaseResponseParser(), true);
            _retentionResponseParser   = new Lazy <IRetentionResponseParser>(() => new RetentionResponseParser(), true);
            _cqResponseParser          = new Lazy <ICqResponseParser>(() => new CqResponseParser(), true);
            _diagnosticsResponseParser = new Lazy <IDiagnosticsResponseParser>(() => new DiagnosticsParser(), true);

            // NOTE: once a breaking change occures, ClientModules will need to be resolved with factories
            _basicClientModule       = new Lazy <IBasicClientModule>(() => new BasicClientModule(_requestClient, _basicResponseParser.Value));
            _serieClientModule       = new Lazy <ISerieClientModule>(() => new SerieClientModule(_requestClient, _serieQueryBuilder.Value, _serieResponseParser.Value));
            _databaseClientModule    = new Lazy <IDatabaseClientModule>(() => new DatabaseClientModule(_requestClient, _databaseQueryBuilder.Value, _databaseResponseParser.Value));
            _retentionClientModule   = new Lazy <IRetentionClientModule>(() => new RetentionClientModule(_requestClient, _retentionQueryBuilder.Value, _retentionResponseParser.Value));
            _cqClientModule          = new Lazy <ICqClientModule>(() => new CqClientModule(_requestClient, _cqQueryBuilder.Value, _cqResponseParser.Value));
            _diagnosticsClientModule = new Lazy <IDiagnosticsClientModule>(() => new DiagnosticsClientModule(_requestClient, _diagnosticsQueryBuilder.Value, _diagnosticsResponseParser.Value));
        }
示例#3
0
        /// <summary>
        /// InfluxDb client.
        /// </summary>
        /// <param name="configuration">InfluxDb client configuration.</param>
        public InfluxDbClient(IInfluxDbClientConfiguration configuration)
        {
            switch (configuration.InfluxVersion)
            {
            case InfluxDbVersion.Latest:
            case InfluxDbVersion.v_1_3:
                this.BootstrapInfluxDbLatest(configuration);
                break;

            case InfluxDbVersion.v_1_0_0:
                this.BootstrapInfluxDbLatest(configuration);
                this.BootstrapInfluxDb_v_1_0_0(configuration);
                break;

            case InfluxDbVersion.v_0_9_6:
            case InfluxDbVersion.v_0_9_5:
                this.BootstrapInfluxDbLatest(configuration);
                this.BootstrapInfluxDb_v_0_9_6(configuration);
                break;

            case InfluxDbVersion.v_0_9_2:
                this.BootstrapInfluxDbLatest(configuration);
                this.BootstrapInfluxDb_v_0_9_6(configuration);
                this.BootstrapInfluxDb_v_0_9_2(configuration);
                break;

            case InfluxDbVersion.v_0_8_x:
                throw new NotImplementedException("InfluxDB v0.8.x is not supported by InfluxData.Net library.");

            default:
                throw new ArgumentOutOfRangeException("influxDbClientConfiguration", String.Format("Unknown version {0}.", configuration.InfluxVersion));
            }
        }
示例#4
0
        /// <summary>
        /// v0.9.6 and older dependency chain setup.
        /// </summary>
        /// <param name="configuration">InfluxDb client configuration.</param>
        protected virtual void BootstrapInfluxDb_v_0_9_6(IInfluxDbClientConfiguration configuration)
        {
            _requestClient = new InfluxDbRequestClient_v_0_9_6(configuration);

            _cqQueryBuilder = new Lazy <ICqQueryBuilder>(() => new CqQueryBuilder_v_0_9_6(), true);

            _serieResponseParser = new Lazy <ISerieResponseParser>(() => new SerieResponseParser_v_0_9_6(), true);

            _databaseClientModule = new Lazy <IDatabaseClientModule>(() => new DatabaseClientModule_v_0_9_6(_requestClient, _databaseQueryBuilder.Value, _databaseResponseParser.Value));
            _cqClientModule       = new Lazy <ICqClientModule>(() => new CqClientModule_v_0_9_6(_requestClient, _cqQueryBuilder.Value, _cqResponseParser.Value));
        }
        /// <summary>
        /// InfluxDb client.
        /// </summary>
        /// <param name="configuration">InfluxDb client configuration.</param>
        public InfluxDbClient(IInfluxDbClientConfiguration configuration)
        {
            switch (configuration.InfluxVersion)
            {
            case InfluxDbVersion.Latest:
            case InfluxDbVersion.v_1_3:
                this.BootstrapInfluxDbLatest(configuration);
                break;

            default:
                throw new NotImplementedException("InfluxDB Older Version is not supported by InfluxData.Net library.");
            }
        }
示例#6
0
        public InfluxDbClient(IInfluxDbClientConfiguration configuration)
        {
            var requestClientFactory = new RequestClientFactory(configuration);
            _requestClient = requestClientFactory.GetRequestClient();

            // NOTE: once a breaking change occures, RequestModules will need to be resolved with factories
            _basicRequestModule = new Lazy<IBasicRequestModule>(() => new BasicRequestModule(_requestClient), true);
            _databaseRequestModule = new Lazy<IDatabaseRequestModule>(() => new DatabaseRequestModule(_requestClient), true);
            _retentionRequestModule = new Lazy<IRetentionRequestModule>(() => new RetentionRequestModule(_requestClient), true);
            _cqRequestModule = new Lazy<ICqRequestModule>(() => new CqRequestModule(_requestClient), true);

            // NOTE: once a breaking change occures, ClientModules will need to be resolved with factories
            _basicClientModule = new Lazy<IBasicClientModule>(() => new BasicClientModule(_requestClient, _basicRequestModule.Value));
            _databaseClientModule = new Lazy<IDatabaseClientModule>(() => new DatabaseClientModule(_requestClient, _databaseRequestModule.Value));
            _retentionClientModule = new Lazy<IRetentionClientModule>(() => new RetentionClientModule(_requestClient, _retentionRequestModule.Value));
            _cqClientModule = new Lazy<ICqClientModule>(() => new CqClientModule(_requestClient, _cqRequestModule.Value));
        }
示例#7
0
        public InfluxDbClient(IInfluxDbClientConfiguration configuration)
        {
            var requestClientFactory = new RequestClientFactory(configuration);

            _requestClient = requestClientFactory.GetRequestClient();

            // NOTE: once a breaking change occures, RequestModules will need to be resolved with factories
            _basicRequestModule     = new Lazy <IBasicRequestModule>(() => new BasicRequestModule(_requestClient), true);
            _databaseRequestModule  = new Lazy <IDatabaseRequestModule>(() => new DatabaseRequestModule(_requestClient), true);
            _retentionRequestModule = new Lazy <IRetentionRequestModule>(() => new RetentionRequestModule(_requestClient), true);
            _cqRequestModule        = new Lazy <ICqRequestModule>(() => new CqRequestModule(_requestClient), true);

            // NOTE: once a breaking change occures, ClientModules will need to be resolved with factories
            _basicClientModule     = new Lazy <IBasicClientModule>(() => new BasicClientModule(_requestClient, _basicRequestModule.Value));
            _databaseClientModule  = new Lazy <IDatabaseClientModule>(() => new DatabaseClientModule(_requestClient, _databaseRequestModule.Value));
            _retentionClientModule = new Lazy <IRetentionClientModule>(() => new RetentionClientModule(_requestClient, _retentionRequestModule.Value));
            _cqClientModule        = new Lazy <ICqClientModule>(() => new CqClientModule(_requestClient, _cqRequestModule.Value));
        }
 internal RequestClientFactory(IInfluxDbClientConfiguration configuration)
 {
     _configuration = configuration;
 }
 public InfluxDbRequestClient(IInfluxDbClientConfiguration configuration)
     : base(configuration, "InfluxData.Net.InfluxDb")
 {
 }
示例#10
0
 public InfluxDbRequestClient_v_1_0_0(IInfluxDbClientConfiguration configuration)
     : base(configuration)
 {
 }
示例#11
0
 public InfluxDbRequestClient(IInfluxDbClientConfiguration configuration)
     : base(configuration, "Temporal.Net.InfluxDb")
 {
     _influxDbConfiguration = configuration;
 }
示例#12
0
 public InfluxDbRequestClient(IInfluxDbClientConfiguration configuration)
     : base(configuration.EndpointUri.AbsoluteUri, configuration.Username, configuration.Password, "InfluxData.Net.InfluxDb")
 {
 }
 public InfluxDbClientBootstrap(IInfluxDbClientConfiguration configuration)
 {
     _configuration = configuration;
 }
示例#14
0
 public RequestClient(IInfluxDbClientConfiguration configuration)
 {
     _configuration = configuration;
 }
 protected RequestClientBase(IInfluxDbClientConfiguration configuration, string userAgent)
     : this((IConfiguration)configuration, userAgent)
 {
 }
 public RequestClient_v_0_9_2(IInfluxDbClientConfiguration configuration)
     : base(configuration)
 {
 }
 public RequestClient_v_0_9_2(IInfluxDbClientConfiguration configuration) 
     : base(configuration)
 {
 }
示例#18
0
 internal RequestClientFactory(IInfluxDbClientConfiguration configuration)
 {
     _configuration = configuration;
 }
示例#19
0
 public RequestClient(IInfluxDbClientConfiguration configuration)
 {
     _configuration = configuration;
 }
示例#20
0
 protected RequestClientBase(IInfluxDbClientConfiguration configuration, string userAgent)
     : this(configuration.EndpointUri.AbsoluteUri, configuration.Username, configuration.Password, configuration.HttpClient, userAgent)
 {
 }
示例#21
0
 /// <summary>
 /// v0.9.2 and older dependency chain setup.
 /// </summary>
 /// <param name="configuration">InfluxDb client configuration.</param>
 protected virtual void BootstrapInfluxDb_v_0_9_2(IInfluxDbClientConfiguration configuration)
 {
     _requestClient = new InfluxDbRequestClient_v_0_9_2(configuration);
 }