|
| 1 | +""" |
| 2 | +Tutorial/Example how to use the class helper `SeriesHelper` |
| 3 | +""" |
| 4 | + |
1 | 5 | from influxdb import InfluxDBClient
|
2 | 6 | from influxdb import SeriesHelper
|
3 | 7 |
|
| 8 | +# InfluxDB connections settings |
| 9 | +host = 'localhost' |
| 10 | +port = 8086 |
| 11 | +user = 'root' |
| 12 | +password = 'root' |
| 13 | +dbname = 'mydb' |
| 14 | + |
| 15 | +myclient = InfluxDBClient(host, port, user, password, dbname) |
| 16 | + |
| 17 | +# Uncomment the following code if the database is not yet created |
| 18 | +# myclient.create_database(dbname) |
| 19 | +# myclient.create_retention_policy('awesome_policy', '3d', 3, default=True) |
| 20 | + |
4 | 21 |
|
5 | 22 | class MySeriesHelper(SeriesHelper):
|
| 23 | + # Meta class stores time series helper configuration. |
6 | 24 | class Meta:
|
7 |
| - # Meta class stores time series helper configuration. |
8 |
| - client = InfluxDBClient() |
9 | 25 | # The client should be an instance of InfluxDBClient.
|
10 |
| - series_name = 'events.stats.{server_name}' |
| 26 | + client = myclient |
11 | 27 | # The series name must be a string. Add dependent fields/tags in curly brackets.
|
12 |
| - fields = ['some_stat'] |
| 28 | + series_name = 'events.stats.{server_name}' |
13 | 29 | # Defines all the fields in this time series.
|
14 |
| - tags = ['server_name'] |
| 30 | + fields = ['some_stat', 'other_stat'] |
15 | 31 | # Defines all the tags for the series.
|
16 |
| - bulk_size = 5 |
| 32 | + tags = ['server_name'] |
17 | 33 | # Defines the number of data points to store prior to writing on the wire.
|
| 34 | + bulk_size = 5 |
| 35 | + # autocommit must be set to True when using bulk_size |
| 36 | + autocommit = True |
| 37 | + |
18 | 38 |
|
19 | 39 | # The following will create *five* (immutable) data points.
|
20 | 40 | # Since bulk_size is set to 5, upon the fifth construction call, *all* data
|
21 | 41 | # points will be written on the wire via MySeriesHelper.Meta.client.
|
22 |
| -MySeriesHelper(server_name='us.east-1', some_stat=159) |
23 |
| -MySeriesHelper(server_name='us.east-1', some_stat=158) |
24 |
| -MySeriesHelper(server_name='us.east-1', some_stat=157) |
25 |
| -MySeriesHelper(server_name='us.east-1', some_stat=156) |
26 |
| -MySeriesHelper(server_name='us.east-1', some_stat=155) |
| 42 | +MySeriesHelper(server_name='us.east-1', some_stat=159, other_stat=10) |
| 43 | +MySeriesHelper(server_name='us.east-1', some_stat=158, other_stat=20) |
| 44 | +MySeriesHelper(server_name='us.east-1', some_stat=157, other_stat=30) |
| 45 | +MySeriesHelper(server_name='us.east-1', some_stat=156, other_stat=40) |
| 46 | +MySeriesHelper(server_name='us.east-1', some_stat=155, other_stat=50) |
27 | 47 |
|
28 | 48 | # To manually submit data points which are not yet written, call commit:
|
29 | 49 | MySeriesHelper.commit()
|
|
0 commit comments