Files
@ 9cfcb16f2c5a
Branch filter:
Location: light9/bin/collector_loadtest.py - annotation
9cfcb16f2c5a
1.7 KiB
text/x-python
ide
4294ed82ee16 4294ed82ee16 4294ed82ee16 3c523c71da29 4294ed82ee16 4294ed82ee16 4294ed82ee16 4294ed82ee16 4294ed82ee16 7772cc48e016 7772cc48e016 4294ed82ee16 f066d6e874db 4294ed82ee16 4294ed82ee16 4294ed82ee16 4294ed82ee16 4294ed82ee16 7772cc48e016 4294ed82ee16 4294ed82ee16 4294ed82ee16 4294ed82ee16 7772cc48e016 7772cc48e016 7772cc48e016 7772cc48e016 7772cc48e016 7772cc48e016 7772cc48e016 7772cc48e016 7772cc48e016 7772cc48e016 7772cc48e016 4294ed82ee16 4294ed82ee16 7772cc48e016 4294ed82ee16 7772cc48e016 4294ed82ee16 4294ed82ee16 4294ed82ee16 4294ed82ee16 f066d6e874db 4294ed82ee16 4294ed82ee16 4294ed82ee16 7772cc48e016 7772cc48e016 4294ed82ee16 4294ed82ee16 7772cc48e016 4294ed82ee16 4294ed82ee16 | import sys
sys.path.append('bin')
from run_local import log
from light9.collector.collector_client import sendToCollector
from light9.namespaces import L9, DEV
from twisted.internet import reactor
import time
import logging
log.setLevel(logging.DEBUG)
def loadTest():
print("scheduling loadtest")
n = 2500
times = [None] * n
session = "loadtest%s" % time.time()
offset = 0
for i in range(n):
def send(i):
if i % 100 == 0:
log.info('sendToCollector %s', i)
d = sendToCollector("http://localhost:999999/", session,
[[DEV["backlight1"], L9["color"], "#ffffff"],
[DEV["backlight2"], L9["color"], "#ffffff"],
[DEV["backlight3"], L9["color"], "#ffffff"],
[DEV["backlight4"], L9["color"], "#ffffff"],
[DEV["backlight5"], L9["color"], "#ffffff"],
[DEV["down2"], L9["color"], "#ffffff"],
[DEV["down3"], L9["color"], "#ffffff"],
[DEV["down4"], L9["color"], "#ffffff"],
[DEV["houseSide"], L9["level"], .8],
[DEV["backlight5"], L9["uv"], 0.011]])
def ontime(dt, i=i):
times[i] = dt
d.addCallback(ontime)
reactor.callLater(offset, send, i)
offset += .002
def done():
print("loadtest done")
with open('/tmp/times', 'w') as f:
f.write(''.join('%s\n' % t for t in times))
reactor.stop()
reactor.callLater(offset + .5, done)
reactor.run()
if __name__ == '__main__':
loadTest()
|