Mercurial > code > home > repos > light9
view bin/collector_loadtest.py @ 2070:2951a690f1ba
collector takes requests from bin/collector_loadtest.py
author | drewp@bigasterisk.com |
---|---|
date | Sat, 21 May 2022 19:16:34 -0700 |
parents | 3c523c71da29 |
children | d5f1cc9615af |
line wrap: on
line source
#!bin/python import logging import time from typing import cast import twisted.internet.reactor from light9.collector.collector_client import sendToCollector from light9.effect.settings import DeviceSettings from light9.namespaces import DEV, L9 from light9.run_local import log from twisted.internet.interfaces import IReactorCore reactor = cast(IReactorCore, twisted.internet.reactor) 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:8202/", session, DeviceSettings( graph=None, settingsList=[ [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()