In [1]:
from aioinflux.serialization import serialize
from aioinflux.serialization.datapoint import datapoint, InfluxType
In [2]:
@datapoint
class Trade:
timestamp: InfluxType.TIMEINT
instrument: InfluxType.TAG
source: InfluxType.TAG
side: InfluxType.TAG
price: InfluxType.FLOAT
size: InfluxType.INT
trade_id: InfluxType.STR
In [3]:
trade = Trade(
timestamp=1540184368785116000,
instrument='AAPL',
source='NASDAQ',
side='BUY',
price=219.23,
size=100,
trade_id='34a1e085-3122-429c-9662-7ce82039d287'
)
In [4]:
trade_dict = {
'time': 1540184368785116000,
'measurement': 'Trade',
'tags': {'instrument': 'AAPL', 'source': 'NASDAQ', 'side': 'BUY'},
'fields': {'price': 219.23, 'size': 100,
'trade_id': '34a1e085-3122-429c-9662-7ce82039d287'}
}
In [5]:
trade.to_lineprotocol()
Out[5]:
In [6]:
serialize(trade_dict)
Out[6]:
In [7]:
%timeit trade.to_lineprotocol()
In [8]:
%timeit serialize(trade_dict)