Exemple #1
0
 public void WriteNodeMetrics(NodeMetrics nodeMetrics)
 {
     //var writeApi = _provider.GetWriteApi();
     //var task = _writeApi.WriteMeasurementAsync(WritePrecision.S, nodeMetrics);
     _writeApi.WriteMeasurement(WritePrecision.S, nodeMetrics);
     //_tasks.Add(task);
     //task.Wait();
 }
Exemple #2
0
 public void Write <T>(T data)
 {
     using (WriteApi writeApi = _client.GetWriteApi())
     {
         writeApi.WriteMeasurement <T>(DB_BUCKET, DB_ORGANIZATION, InfluxDB.Client.Api.Domain.WritePrecision.Ms, data);
     }
 }
Exemple #3
0
        public async Task DefaultTagsMeasurement()
        {
            Client.Dispose();

            Environment.SetEnvironmentVariable("measurement-datacenter", "LA");
            ConfigurationManager.AppSettings["measurement-sensor.version"] = "1.23a";

            var options = new InfluxDBClientOptions.Builder().Url(InfluxDbUrl)
                          .AuthenticateToken(_token.ToCharArray())
                          .AddDefaultTag("id", "132-987-655")
                          .AddDefaultTag("customer", "California Miner")
                          .AddDefaultTag("env-var", "${env.measurement-datacenter}")
                          .AddDefaultTag("sensor-version", "${measurement-sensor.version}")
                          .Build();

            Client = InfluxDBClientFactory.Create(options);

            var measurement1 = new H20Measurement
            {
                Location = "coyote_creek", Level = 2.927, Time = DateTime.UtcNow
            };

            _writeApi = Client.GetWriteApi();
            var listener = new WriteApiTest.EventListener(_writeApi);

            _writeApi.WriteMeasurement(_bucket.Name, _organization.Id, WritePrecision.Ms, measurement1);
            _writeApi.Flush();

            listener.WaitToSuccess();

            _queryApi = Client.GetQueryApi();
            var tables = await _queryApi.QueryAsync(
                "from(bucket:\"" + _bucket.Name +
                "\") |> range(start: 1970-01-01T00:00:00.000000001Z) |> pivot(rowKey:[\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")",
                _organization.Id);

            Assert.AreEqual(1, tables.Count);
            Assert.AreEqual(1, tables[0].Records.Count);
            Assert.AreEqual("h2o", tables[0].Records[0].GetMeasurement());
            Assert.AreEqual(2.927, tables[0].Records[0].GetValueByKey("level"));
            Assert.AreEqual("coyote_creek", tables[0].Records[0].GetValueByKey("location"));
            Assert.AreEqual("132-987-655", tables[0].Records[0].GetValueByKey("id"));
            Assert.AreEqual("California Miner", tables[0].Records[0].GetValueByKey("customer"));
            Assert.AreEqual("1.23a", tables[0].Records[0].GetValueByKey("sensor-version"));
            Assert.AreEqual("LA", tables[0].Records[0].GetValueByKey("env-var"));
        }
Exemple #4
0
        private static void CollectSensorInformation_Tick(Object source, ElapsedEventArgs e)
        {
            try
            {
                if (_startingBatteryModuleId > 10)
                {
                    _startingBatteryModuleId = 1;
                }

                OpenBatteryCommunicationChannel(_startingBatteryModuleId);
                ReadSensors();

                _writeApi.WriteMeasurement("dreamstream", "spikersoft", WritePrecision.Ns, paramBattery);
                _startingBatteryModuleId++;
            }
            catch (Exception ex)
            {
                StopRead();
                SetTimer(350);
            }
        }
Exemple #5
0
        public async Task DefaultTagsConfiguration()
        {
            Client.Dispose();

            var options = new InfluxDBClientOptions.Builder()
                          .LoadConfig()
                          .Url(InfluxDbUrl)
                          .AuthenticateToken(_token)
                          .Build();

            Client = InfluxDBClientFactory.Create(options);

            var measurement1 = new H20Measurement
            {
                Location = "coyote_creek", Level = 2.927, Time = DateTime.UtcNow
            };

            _writeApi = Client.GetWriteApi();
            var listener = new WriteApiTest.EventListener(_writeApi);

            _writeApi.WriteMeasurement(_bucket.Name, _organization.Id, WritePrecision.Ms, measurement1);
            _writeApi.Flush();

            listener.WaitToSuccess();

            _queryApi = Client.GetQueryApi();
            var tables = await _queryApi.QueryAsync(
                $"from(bucket:\"{_bucket.Name}\") |> range(start: 1970-01-01T00:00:00.000000001Z) |> pivot(rowKey:[\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")",
                _organization.Id);

            Assert.AreEqual(1, tables.Count);
            Assert.AreEqual(1, tables[0].Records.Count);
            Assert.AreEqual("h2o", tables[0].Records[0].GetMeasurement());
            Assert.AreEqual(2.927, tables[0].Records[0].GetValueByKey("level"));
            Assert.AreEqual("coyote_creek", tables[0].Records[0].GetValueByKey("location"));
            Assert.AreEqual("132-987-655", tables[0].Records[0].GetValueByKey("id"));
            Assert.AreEqual("California Miner", tables[0].Records[0].GetValueByKey("customer"));
            Assert.AreEqual("v1.00", tables[0].Records[0].GetValueByKey("version"));
        }
        public void WriteRuntimeException()
        {
            var listener = new EventListener(_writeApi);

            MockServer
            .Given(Request.Create().WithPath("/api/v2/write").UsingPost())
            .RespondWith(CreateResponse("{}"));

            var measurement = new SimpleModel
            {
                Time   = new DateTime(2020, 11, 15, 8, 20, 15),
                Device = "id-1",
                Value  = 15
            };

            _writeApi.WriteMeasurement("b1", "org1", WritePrecision.S, measurement);

            var error = listener.Get <WriteRuntimeExceptionEvent>();

            Assert.IsNotNull(error);
            StringAssert.StartsWith("Timestamps must be specified as UTC", error.Exception.Message);

            Assert.AreEqual(0, MockServer.LogEntries.Count());
        }