Example #1
0
#pragma warning restore 1998
        /// <summary>
        ///     Execute a query agains a database.
        /// </summary>
        /// <param name="database">the name of the database</param>
        /// <param name="query">
        ///     the query to execute, for language specification please see
        ///     <a href="http://influxdb.org/docs/query_language">http://influxdb.org/docs/query_language</a>
        /// </param>
        /// <param name="precision">the precision used for the values.</param>
        /// <returns>A list of Series which matched the query.</returns>
        public async Task <List <Serie> > QueryAsync(string database, string query, TimeUnit precision)
        {
            InfluxDbApiResponse response =
                await _influxDbClient.Query(NoErrorHandlers, database, query, ToTimePrecision(precision));

            return(response.ReadAs <List <Serie> >());
        }
Example #2
0
        /// <summary>
        ///     Create a new Database.
        /// </summary>
        /// <param name="name">The name of the new database</param>
        /// <returns></returns>
        public async Task <InfluxDbApiCreateResponse> CreateDatabaseAsync(string name)
        {
            var db = new Database {
                Name = name
            };

            InfluxDbApiResponse response = await _influxDbClient.CreateDatabase(NoErrorHandlers, db);

            return(new InfluxDbApiCreateResponse(response.StatusCode, response.Body));
        }
Example #3
0
        /// <summary>
        ///     Return the version of the connected influxDB Server.
        /// </summary>
        /// <returns>The version String, otherwise unknown</returns>
        public async Task <string> VersionAsync()
        {
            InfluxDbApiResponse response = await _influxDbClient.Version(NoErrorHandlers);

            const string version = "unknown";

            if (!string.IsNullOrEmpty(response.Body))
            {
                return(response.Body);
            }

            return(version);
        }
Example #4
0
        /// <summary>
        ///     Ping this InfluxDB
        /// </summary>
        /// <returns>The response of the ping execution.</returns>
        public async Task <Pong> PingAsync()
        {
            Stopwatch watch = Stopwatch.StartNew();

            InfluxDbApiResponse response = await _influxDbClient.Ping(NoErrorHandlers);

            watch.Stop();
            var pong = response.ReadAs <Pong>();

            pong.ResponseTime = watch.ElapsedMilliseconds;

            return(pong);
        }
Example #5
0
        /// <summary>
        ///     Describe all existing shardspaces.
        /// </summary>
        /// <returns>A list of all <see cref="ShardSpace"></see>'s.</returns>
        public async Task <List <ShardSpace> > GetShardSpacesAsync()
        {
            InfluxDbApiResponse response = await _influxDbClient.GetShardSpaces(NoErrorHandlers);

            return(response.ReadAs <List <ShardSpace> >());
        }
Example #6
0
        public async Task <Shards> GetShardsAsync()
        {
            InfluxDbApiResponse response = await _influxDbClient.GetShards(NoErrorHandlers);

            return(response.ReadAs <Shards>());
        }
Example #7
0
        /// <summary>
        ///     List all servers which are member of the cluster.
        /// </summary>
        /// <returns>A list of all influxdb servers.</returns>
        public async Task <List <Server> > ListServersAsync()
        {
            InfluxDbApiResponse response = await _influxDbClient.ListServers(NoErrorHandlers);

            return(response.ReadAs <List <Server> >());
        }
Example #8
0
        /// <summary>
        ///     Sync the database to the filesystem.
        /// </summary>
        /// <returns>true|false if successful.</returns>
        public async Task <bool> SyncAsync()
        {
            InfluxDbApiResponse response = await _influxDbClient.Sync(NoErrorHandlers);

            return(response.ReadAs <bool>());
        }
Example #9
0
        /// <summary>
        ///     List all interfaces influxDB is listening.
        /// </summary>
        /// <returns>A list of interface names.</returns>
        public async Task <List <string> > InterfacesAsync()
        {
            InfluxDbApiResponse response = await _influxDbClient.Interfaces(NoErrorHandlers);

            return(response.ReadAs <List <string> >());
        }
Example #10
0
        /// <summary>
        ///     Describe all contious queries in a database.
        /// </summary>
        /// <param name="database">The name of the database for which all continuous queries should be described.</param>
        /// <returns>A list of all contious queries.</returns>
        public async Task <List <ContinuousQuery> > DescribeContinuousQueriesAsync(string database)
        {
            InfluxDbApiResponse response = await _influxDbClient.GetContinuousQueries(NoErrorHandlers, database);

            return(response.ReadAs <List <ContinuousQuery> >());
        }
Example #11
0
        /// <summary>
        ///     Describe all database users allowed to acces the given database.
        /// </summary>
        /// <param name="database">The name of the database for which all users should be described.</param>
        /// <returns>A list of all users.</returns>
        public async Task <List <User> > DescribeDatabaseUsersAsync(string database)
        {
            InfluxDbApiResponse response = await _influxDbClient.DescribeDatabaseUsers(NoErrorHandlers, database);

            return(response.ReadAs <List <User> >());
        }
Example #12
0
        /// <summary>
        ///     Describe all cluster admins.
        /// </summary>
        /// <returns>A list of all admins.</returns>
        public async Task <List <User> > DescribeClusterAdminsAsync()
        {
            InfluxDbApiResponse response = await _influxDbClient.DescribeClusterAdmins(NoErrorHandlers);

            return(response.ReadAs <List <User> >());
        }
Example #13
0
        /// <summary>
        ///     Describe all available databases.
        /// </summary>
        /// <returns>A list of all Databases</returns>
        public async Task <List <Database> > DescribeDatabasesAsync()
        {
            InfluxDbApiResponse response = await _influxDbClient.DescribeDatabases(NoErrorHandlers);

            return(response.ReadAs <List <Database> >());
        }
Example #14
0
        /// <summary>
        ///     Delete a database.
        /// </summary>
        /// <param name="name">The name of the database to delete.</param>
        /// <returns></returns>
        public async Task <InfluxDbApiDeleteResponse> DeleteDatabaseAsync(string name)
        {
            InfluxDbApiResponse response = await _influxDbClient.DeleteDatabase(NoErrorHandlers, name);

            return(new InfluxDbApiDeleteResponse(response.StatusCode, response.Body));
        }
Example #15
0
        /// <summary>
        ///     Create a new Database from a <see cref="DatabaseConfiguration" />. This is the way to create a db with shards
        ///     specified.
        /// </summary>
        /// <param name="config">The configuration for the database to create..</param>
        /// <returns></returns>
        public async Task <InfluxDbApiCreateResponse> CreateDatabaseAsync(DatabaseConfiguration config)
        {
            InfluxDbApiResponse response = await _influxDbClient.CreateDatabase(NoErrorHandlers, config);

            return(new InfluxDbApiCreateResponse(response.StatusCode, response.Body));
        }
        public static T ReadAs <T>(this InfluxDbApiResponse response)
        {
            var @object = JsonConvert.DeserializeObject <T>(response.Body);

            return(@object);
        }