def test_add_request_flushes_every_request(send, tracked_request): AgentContext.build() manager = RequestManager() manager.add_request(tracked_request) assert send.call_count == 1 (command, ), kwargs = send.call_args assert kwargs == {} message = command.message() assert message == { "BatchCommand": { "commands": [ { "StartRequest": { "request_id": REQUEST_ID, "timestamp": START_TIME_STR, } }, { "FinishRequest": { "request_id": REQUEST_ID, "timestamp": END_TIME_STR, } }, ] } } assert not manager.request_buffer._requests # buffer is empty
def finish(self): logger.debug('Stopping request: %s', self.req_id) if self.end_time is None: self.end_time = datetime.utcnow() RequestManager.instance().add_request(self) if self.is_real_request(): Samplers.ensure_running() self.release()
def test_add_request_handles_only_real_requests(send, tracked_request): AgentContext.build() tracked_request.real_request = False manager = RequestManager() manager.add_request(tracked_request) send.assert_not_called() assert not manager.request_buffer._requests # buffer is empty
def finish(self): logger.debug('Stopping request: %s', self.req_id) if self.end_time is None: self.end_time = datetime.utcnow() if self.is_real_request(): self.tag('mem_delta', Memory.get_delta(self.memory_start)) RequestManager.instance().add_request(self) Samplers.ensure_running() # This can fail if the Tracked Request was created directly, not through instance() try: self.release() except: pass