def test_write_100000_points_in_5000_chunks_single_process(self): for chunk in range(0, 20): print('Sending chunk ', chunk) dummies = DummyPoints(self.series, npoints=5000, decimals=4, delta_seconds=600, opt='one_point_per_series') pts = dummies.dump() print('Sent bytes: ', len(pts)) r = self.dbclient.write(dbname=self.dbname, points=dummies.dump(), precision='n') self.assertEqual(r.status_code, 204)
def write_worker(self, npoints, nchunks): for chunk in range(0, nchunks): print('Sending chunk ', chunk) dummies = DummyPoints(self.series, npoints=npoints, decimals=4, delta_seconds=6000, opt='one_point_per_series') self.dbclient.write(dbname=self.dbname, points=dummies.dump(), precision='n')
def test_bulk_write_into_single_series(self): dummies = DummyPoints(self.series, npoints=5000, decimals=4, delta_seconds=600, opt='single_series') #print(dummies.dump()) r = self.dbclient.write(dbname=self.dbname, points=dummies.dump(), precision='n') self.assertEqual(r.status_code, 204)
class DBClientTest(unittest.TestCase): # host = '46.101.128.140' host = '10.6.74.60' port = 8086 dbname = 'unittestdb' user = '******' password = '******' series = 'Tilt' def setUp(self): # Executes before every testcase self.single_point = Measurement(name=self.series, fields={'X': -100, 'Y': 720.0, 'T': 30.0}, timestamp='2013-12-30 10:36:43.567') self.dummies = DummyPoints(self.series, npoints=1000, decimals=4, delta_seconds=600) self.dbclient = InfluxDBClient(host=self.host, port=self.port, http_timeout=600, http_retries=3) self.dbclient.create_database(self.dbname) self.startTime = time() def tearDown(self): # Executes after every testcase t = time() - self.startTime print('Test <%s> executed in: %.3f seconds' % (self.id(), t)) self.dbclient.drop_database(self.dbname) #@unittest.skip("Skipped") def test_InfluxDBClient_constructor(self): dbclient = InfluxDBClient(host=self.host, port=self.port, http_timeout=60, http_retries=3) print(dbclient) #@unittest.skip("Skipped") def test_create_database(self): self.dbclient.create_database(self.dbname) #@unittest.skip("Skipped") def test_write_single_Measurement(self): r = self.dbclient.write(dbname=self.dbname, points=self.single_point.to_bytes(), precision='n') self.assertEqual(r.status_code, 204) #@unittest.skip("Skipped") def test_query(self): self.dbclient.write(dbname=self.dbname, points=self.single_point.to_bytes(), precision='n') q = self.dbclient.query(dbname=self.dbname, query='SELECT * FROM %s' % self.series) print('Single point query: ', q) self.assertEqual(q['results'][0]['series'][0]['values'][0][1], 30) #@unittest.skip("Skipped") def test_write_in_memory_dumped_bytearray(self): # bytearray (or bytes, dumped in-memory) (non-chunked, not compressed) self.dbclient.write(dbname=self.dbname, points=self.dummies.dump(), precision='n') #@unittest.skip("Skipped") def test_write_container(self): measurement1 = Measurement(name='TestSeries1', fields={'X': -100, 'Y': 720.0, 'T': 30.0}, timestamp='2013-12-30 10:36:43.567') measurement2 = Measurement(name='TestSeries1', fields={'X': -200, 'Y': 700.0, 'T': 25.0}, timestamp='2013-12-30 10:37:43.567') measurement3 = Measurement(name='TestSeries1', fields={'X': -20, 'Y': 70.0, 'T': 15.0}, timestamp='2013-12-30 10:38:43.567') container = Container(measurement1, measurement2) container.append(measurement3) print(container) self.dbclient.write(dbname=self.dbname, points=container.dump(decimals=4), precision='n') #@unittest.skip("Skipped") def test_chunked_write(self): # generator (chunked HTTP POST) r = self.dbclient.write(dbname=self.dbname, points=self.dummies, precision='n') self.assertEqual(r.status_code, 204) #@unittest.skip("Skipped") def test_write_gzipped_from_memory(self): # bytearray (or bytes, dumped in-memory) (non-chunked, compressed) r = self.dbclient.write(dbname=self.dbname, points=self.dummies.dump(compress=True), precision='n', gzipped=True) self.assertEqual(r.status_code, 204) #@unittest.skip("Skipped") def test_bulk_write_into_single_series(self): dummies = DummyPoints(self.series, npoints=5000, decimals=4, delta_seconds=600, opt='single_series') #print(dummies.dump()) r = self.dbclient.write(dbname=self.dbname, points=dummies.dump(), precision='n') self.assertEqual(r.status_code, 204) @unittest.skip("Skipped") def test_write_100000_points_in_5000_chunks_single_process(self): for chunk in range(0, 20): print('Sending chunk ', chunk) dummies = DummyPoints(self.series, npoints=5000, decimals=4, delta_seconds=600, opt='one_point_per_series') pts = dummies.dump() print('Sent bytes: ', len(pts)) r = self.dbclient.write(dbname=self.dbname, points=dummies.dump(), precision='n') self.assertEqual(r.status_code, 204) def write_worker(self, npoints, nchunks): for chunk in range(0, nchunks): print('Sending chunk ', chunk) dummies = DummyPoints(self.series, npoints=npoints, decimals=4, delta_seconds=6000, opt='one_point_per_series') self.dbclient.write(dbname=self.dbname, points=dummies.dump(), precision='n') @unittest.skip("Skipped") def test_write_100000_points_in_10000_chunks_multiprocess(self): nworkers = 20 npoints = 1000 nchunks = 10 workers = [] for i in range(nworkers): p = multiprocessing.Process(target=self.write_worker, args=(), kwargs={'npoints': npoints, 'nchunks': nchunks}) workers.append(p) p.start() for p in workers: p.join()