3 # from .consumer.CustomKafkaConsumer import CustomKafkaConsumer
4 # from .producer.CustomKafkaProducer import CustomKafkaProducer
7 import concurrent.futures
10 from consumer import CustomKafkaConsumer
11 from producer import CustomKafkaProducer
13 logging.basicConfig(format='%(asctime)s::%(process)d::%(levelname)s::%(message)s', level=logging.INFO, datefmt='%d-%b-%y %H:%M:%S')
16 #Begin: Sample producer based on file
17 customKafkaProducer = CustomKafkaProducer.CustomKafkaProducer()
18 with open("./multithreading-metrics.json") as input_file:
19 for each_line in input_file:
20 python_obj = json.loads(each_line)
21 # print(python_obj["labels"]["__name__"])
22 customKafkaProducer.produce(each_line, python_obj["labels"]["__name__"])
23 #END: Sample producer based on file
25 customKafkaConsumer = CustomKafkaConsumer.CustomKafkaConsumer()
27 #Form a data structure for query formation
29 queries.append({"metric_name" : "go_gc_duration_seconds_count", "ip": "10.42.1.93:8686"})
30 queries.append({"metric_name" : 'go_gc_duration_seconds_count', "ip": "10.42.1.92:8686"})
32 executor = concurrent.futures.ThreadPoolExecutor(max_workers=1)
33 executor.submit(customKafkaConsumer.consume)
36 for each_record in queries:
37 list_of_records = customKafkaConsumer.executeQuery(each_record["metric_name"], each_record["ip"])
38 logging.info("The records collected :: {}".format(list_of_records))
39 logging.info("The length of records collected: {}".format(len(list_of_records)))
40 print("The records :: {}".format(list_of_records))
43 if __name__ == '__main__':