#!bin/python
import asyncio
import logging
import random
from rdflib import URIRef
import time
from light9.collector.collector_client_asyncio import sendToCollector
from light9.effect.settings import DeviceSettings
from light9.namespaces import DEV, L9
from light9.run_local import log
log.setLevel(logging.DEBUG)
async def loadTest():
print("scheduling loadtest")
n = 200000
period=.02
times = []
session = "loadtest%s" % time.time()
for i in range(n):
if i % 100 == 0:
log.info('sendToCollector %s', i)
start = time.time()
await 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"],
[URIRef('http://light9.bigasterisk.com/theater/skyline/device/down1'), L9["brightness"], random.random()],
[DEV["backlight5"], L9["uv"], 0.011]
]))
times.append(time.time() - start)
await asyncio.sleep(period)
print("loadtest done")
with open('/tmp/times', 'w') as f:
f.write(''.join('%s\n' % t for t in times))
if __name__ == '__main__':
asyncio.run(loadTest())