create-test-data.py 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import json
  2. import random
  3. import copy
  4. from influxdb import InfluxDBClient
  5. import pendulum
  6. client = InfluxDBClient(host='172.20.0.2', port=8086)
  7. db_created = False
  8. for db in client.get_list_database():
  9. if db['name'] == 'test':
  10. db_created = True
  11. if not db_created:
  12. client.create_database('test')
  13. client.switch_database('test')
  14. test_data = {
  15. "measurement": "pocketArticles",
  16. "tags": {
  17. "user": "Nikola",
  18. "source": "getpocket.com"
  19. },
  20. "time": "2018-03-30T8:02:00Z",
  21. "fields": {
  22. "count": 1
  23. }
  24. }
  25. final_data = []
  26. start = pendulum.datetime(2020, 1, 1)
  27. end = pendulum.today()
  28. period = pendulum.period(start, end)
  29. for dt in period.range('hours', 2):
  30. num_articles = random.randrange(1, 50)
  31. new_point = copy.deepcopy(test_data)
  32. new_point['time'] = dt.isoformat()
  33. new_point['fields']['count'] = num_articles
  34. final_data.append(new_point)
  35. if client.write_points(final_data):
  36. print('ok')
  37. res = client.query('SELECT * FROM "pocketArticles"')
  38. print(res.raw)
  39. points = res.get_points(tags={'user': 'Nikola'})
  40. for point in points:
  41. print("Time: %s, Articles: %i" % (point['time'], point['count']))