Exemple #1
0
        public async Task WritePoints()
        {
            var bucketName = _bucket.Name;

            var time = DateTime.UtcNow;

            var point1 = PointData
                         .Measurement("h2o_feet")
                         .Tag("location", "west")
                         .Field("water_level", 1)
                         .Timestamp(time, WritePrecision.S);

            var point2 = PointData
                         .Measurement("h2o_feet").Tag("location", "west")
                         .Field("water_level", 2)
                         .Timestamp(time.AddSeconds(-10), WritePrecision.S);

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

            _writeApi.WritePoints(bucketName, _organization.Id, point1, point2);
            _writeApi.Flush();

            listener.WaitToSuccess();

            var query = await _queryApi.QueryAsync(
                $"from(bucket:\"{bucketName}\") |> range(start: 1970-01-01T00:00:00.000000001Z)",
                _organization.Id);

            Assert.AreEqual(1, query.Count);

            var records = query[0].Records;

            Assert.AreEqual(2, records.Count);

            Assert.AreEqual("h2o_feet", records[0].GetMeasurement());
            Assert.AreEqual(2, records[0].GetValue());
            Assert.AreEqual("water_level", records[0].GetField());

            Assert.AreEqual("h2o_feet", records[1].GetMeasurement());
            Assert.AreEqual(1, records[1].GetValue());
            Assert.AreEqual("water_level", records[1].GetField());

            Assert.AreEqual(time.AddTicks(-(time.Ticks % TimeSpan.TicksPerSecond)).Add(-TimeSpan.FromSeconds(10)),
                            records[0].GetTimeInDateTime());
            Assert.AreEqual(time.AddTicks(-(time.Ticks % TimeSpan.TicksPerSecond)), records[1].GetTimeInDateTime());
        }
        public override Task ProcesLogEntriesAsync(IEnumerable <LogEntry> logEntries)
        {
            Initialize();

            List <PointData> points = logEntries
                                      .AsParallel()
                                      .Select(x => _pointFactory.CreatePoint(x))
                                      .Where(x => x != null)
                                      .ToList();

            if (points.Any())
            {
                _writeApi.WritePoints(points);
            }

            return(Task.CompletedTask);
        }
Exemple #3
0
 private Task SendDataPoints(IList <PointData> points)
 {
     _api.WritePoints(points.ToArray());
     return(Task.CompletedTask);
 }