def start_request(req, collect=False, collector_addr='<STR_LIT>', prefix='<STR_LIT>'):
if collect:<EOL><INDENT>collector = get_context().socket(zmq.PUSH)<EOL>collector.connect(collector_addr)<EOL>collector.send_multipart([prefix, '<STR_LIT>'])<EOL>collector.close()<EOL><DEDENT>requests[hash(req)] = time()<EOL>
register a request

registers a request in the internal request table, optionally also sends it to the collector

:param req: request, can be mostly any hash-able object
:param collect: whether to send the request started event to the collector (bool)
:param collector_addr: collector address, in zeromq format (string, default tcp://127.0.0.2:2345)
:param prefix: label under which to register the request (string, default my_app)