def main()

in src/worker/exporters/custom_exporter.py [0:0]


def main():
    '''Main function'''
    parser = argparse.ArgumentParser()
    parser.add_argument(
        "--log_level",
        default='INFO',
        help='Specify a log level to use for logging.')
    parser.add_argument(
        "-p",
        "--port",
        type=int,
        default=None,
        help='Port to export metrics from')
    parser.add_argument(
        "--custom_metrics_file_path",
        type=str,
        default=None,
        help='Path to custom metrics file')
    args = parser.parse_args()

    # Set up logging
    os.makedirs('/tmp/moneo-worker', exist_ok=True)
    logging.basicConfig(level=get_log_level(args), filename='/tmp/moneo-worker/moneoExporter.log',
                        format='[%(asctime)s] node_exporter-%(levelname)s-%(message)s')
    job_id = None  # Set a default job id of None
    try:
        init_config(job_id, args.port)
        init_custom_metrics(args.custom_metrics_file_path)
        init_signal_handler()
        init_nvidia_config()
        init_ib_config()
        exporter = CustomExporter(args.custom_metrics_file_path)
        exporter.loop()
    except Exception as e:
        logging.error('Raised exception. Message: %s', e)