public static async Task Run()
        {
            var options = new FluxConnectionOptions("http://127.0.0.1:8086");

            var fluxClient = FluxClientFactory.Create(options);

            var fluxQuery = "from(bucket: \"telegraf\")\n"
                            + " |> filter(fn: (r) => (r[\"_measurement\"] == \"cpu\" AND r[\"_field\"] == \"usage_system\"))"
                            + " |> range(start: -1d)"
                            + " |> sample(n: 5, pos: 1)";

            ////Example of additional result stream processing on client side
            await fluxClient.Query <Cpu>(fluxQuery,
                                         (cancellable, cpu) =>
            {
                // process the flux query records
                Console.WriteLine(cpu.ToString());
            },
                                         (error) =>
            {
                // error handling while processing result
                Console.WriteLine(error.ToString());
            }, () =>
            {
                // on complete
                Console.WriteLine("Query completed");
            });
        }
예제 #2
0
        public static async Task Main(string[] args)
        {
            var options = new FluxConnectionOptions("http://127.0.0.1:8086");

            var fluxClient = FluxClientFactory.Create(options);

            var fluxQuery = "from(bucket: \"telegraf\")\n"
                            + " |> filter(fn: (r) => (r[\"_measurement\"] == \"cpu\" AND r[\"_field\"] == \"usage_system\"))"
                            + " |> range(start: -1d)"
                            + " |> sample(n: 5, pos: 1)";

            await fluxClient.QueryAsync(fluxQuery, (cancellable, record) =>
            {
                // process the flux query records
                Console.WriteLine(record.GetTime() + ": " + record.GetValue());
            },
                                        (error) =>
            {
                // error handling while processing result
                Console.WriteLine(error.ToString());
            }, () =>
            {
                // on complete
                Console.WriteLine("Query completed");
            });
        }
예제 #3
0
        public static async Task Run()
        {
            Console.WriteLine("Start");

            var options = new FluxConnectionOptions("http://127.0.0.1:8086", TimeSpan.FromSeconds(20));
            var client  = FluxClientFactory.Create(options);

            var fluxQuery = "from(bucket: \"telegraf\")\n"
                            + " |> filter(fn: (r) => (r[\"_measurement\"] == \"cpu\" AND r[\"_field\"] == \"usage_system\"))"
                            + " |> range(start: -1d)"
                            + " |> sample(n: 5, pos: 1)";

            var tables = await client.QueryAsync(fluxQuery);

            if (tables != null)
            {
                foreach (var fluxTable in tables)
                {
                    foreach (var fluxRecord in fluxTable.Records)
                    {
                        Console.WriteLine(fluxRecord.GetTime() + ": " + fluxRecord.GetValueByKey("_value"));
                    }
                }
            }
        }
예제 #4
0
        async Task SetUpAsync()
        {
            var influxUrl = GetInfluxDbUrl();

            var options = new FluxConnectionOptions(influxUrl);

            FluxClient = FluxClientFactory.Create(options);

            await InfluxDbQuery("CREATE DATABASE " + DatabaseName, DatabaseName);
        }
예제 #5
0
        public void ProxyDefaultConfigured()
        {
            var webProxy = new WebProxy("my-proxy", 8088);

            var options = new FluxConnectionOptions("http://127.0.0.1:8086",
                                                    TimeSpan.FromSeconds(60),
                                                    webProxy: webProxy);

            var fluxClient = FluxClientFactory.Create(options);

            Assert.AreEqual(webProxy, GetRestClient(fluxClient).Proxy);
        }
 /// <summary>
 /// Create a instance of the Flux client.
 /// </summary>
 /// <param name="options">the connection configuration</param>
 /// <returns></returns>
 public static FluxClient Create(FluxConnectionOptions options)
 {
     return(new FluxClient(options));
 }
        /// <summary>
        /// Create a instance of the Flux client.
        /// </summary>
        /// <param name="connectionString">the connectionString to connect to InfluxDB</param>
        /// <returns>client</returns>
        public static FluxClient Create(string connectionString)
        {
            var options = new FluxConnectionOptions(connectionString);

            return(Create(options));
        }