def dmproc_connection(opts): s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM, 0) s.connect(opts.dmproc) s.send(helpers.frame("proc match 1|. %s;" % (opts.function,))) l = helpers.framelen(s.recv(2)) r = s.recv(l) if (r != "status 0;"): raise(RuntimeError("error connecting")) return(s)
def trial(opts): with helpers.with_tempfile() as fh: mkload(opts, fh) d = dmproc_connection(opts) s = socket.socket(socket.AF_UNIX, socket.SOCK_DGRAM, 0) m = helpers.progress() helpers.debug("starting load test [sending file] ... \n") threading.Thread(target=consume_socket, args=(d,)).start() fh.seek(0) for l in fh: (n, l) = l.strip().split(" ", 1) if (opts.measure == M_BYTES): m.measure(len(l)) else: m.measure(int(n, 10)) m.dump_state("trial") s.sendto(l, 0, opts.databus) d.send(helpers.frame("close;")) m.done()