add sending udp message on behalf of an non-supporting server
This commit is contained in:
28
t.py
28
t.py
@ -46,3 +46,31 @@ def crv(*args, **kwds):
|
||||
global result
|
||||
result = db.curves(*args, **kwds)
|
||||
prt()
|
||||
|
||||
|
||||
def sry():
|
||||
global result
|
||||
res = db.query(-DAY * 365, interval=DAY, _field='float',
|
||||
device=None, stream=None, _measurement=None)
|
||||
result = {} # dict (device, stream) of list of [start, end, set of params]
|
||||
for key, table in res.items():
|
||||
assert table.key_names == ('device', 'stream', '_measurement')
|
||||
device, stream, param = key
|
||||
for row in table:
|
||||
start = row[0] - 3600
|
||||
result.setdefault((start, device, stream), set()).add(param)
|
||||
prev_data = {}
|
||||
summary = []
|
||||
for (start, device, stream), pset in sorted(result.items()):
|
||||
prev = prev_data.get((device, stream))
|
||||
if prev is None or start > prev[1]:
|
||||
if prev:
|
||||
print('PREV', device, stream, start - prev[1])
|
||||
prev_data[device, stream] = prev = [start, start + 3600, pset]
|
||||
summary.append([start, device, stream, prev])
|
||||
else:
|
||||
prev[1] = start + 3600
|
||||
prev[2].update(pset)
|
||||
for start, device, stream, (_, end, pset) in sorted(summary):
|
||||
st = time.strftime('%Y-%m-%d %H:%M', time.localtime(start))
|
||||
print(st, (end - start) / 3600., device, stream, len(pset))
|
||||
|
Reference in New Issue
Block a user