def test_mkevent_check_query_perf(config, event_status, status_server): for num in range(10000): event_status.new_event(CMKEventConsole.new_event({ "host": "heute-%d" % num, "text": "%s %s BLA BLUB DINGELING ABASD AD R#@A AR@AR A@ RA@R A@RARAR ARKNLA@RKA@LRKNA@KRLNA@RLKNA@äRLKA@RNKAL@R" \ " j:O#A@J$ KLA@J $L:A@J :AMW: RAMR@: RMA@:LRMA@ L:RMA@ :AL@R MA:L@RM A@:LRMA@ :RLMA@ R:LA@RMM@RL:MA@R: AM@" % \ (time.time(), num), })) assert len(event_status.events()) == 10000 s = FakeStatusSocket(b"GET events\n" b"Filter: event_host in heute-1 127.0.0.1 heute123\n" b"Filter: event_phase in open ack\n" #b"OutputFormat: plain\n" #b"Filter: event_application ~~ xxx\n" ) before = time.time() #import cProfile, StringIO, pstats #pr = cProfile.Profile() #pr.enable() status_server.handle_client(s, True, "127.0.0.1") #pr.disable() #ps = pstats.Stats(pr, stream=StringIO.StringIO()) #ps.dump_stats("/tmp/test_mkevent_check_query_perf.profile") duration = time.time() - before response = s.get_response() assert len(response) == 2 assert "event_id" in response[0] assert duration < 0.2
def test_mkevent_query_filters( event_status, status_server, event, status_socket, is_match, ): event_status.new_event(CMKEventConsole.new_event(event)) status_server.handle_client(status_socket, True, '127.0.0.1') response = status_socket.get_response() assert (len(response) == 2) is is_match