Files @ 58069577abc2
Branch filter:

Location: light9/bin/collector_loadtest.py

Drew Perttula
collector dummy label
Ignore-this: 476849e290dbde90254004d367ce7f46
import sys
sys.path.append('bin')
from run_local import log
from light9.effect.sequencer import sendToCollector, sendToCollectorZmq
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()