def parse_dcgm_cli()

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


def parse_dcgm_cli():
    parser = dcgm_client_cli_parser.create_parser(
        name='prometheus',
        field_ids=DCGM_FIELDS,
        interval=1,
        publish_port=8000,
        log_level='INFO',
    )
    args = dcgm_client_cli_parser.run_parser(parser)
    # add profiling metrics if flag enabled
    if (dcgm_config['profilerMetrics']):
        args.field_ids.extend(DCGM_PROF_FIELDS)
    field_ids = dcgm_client_cli_parser.get_field_ids(args)
    numeric_log_level = dcgm_client_cli_parser.get_log_level(args)
    filemode = 'w+'
    if not args.logfile:
        os.makedirs('/tmp/moneo-worker', exist_ok=True)
        args.logfile = '/tmp/moneo-worker/moneoExporter.log'
        filemode = 'a'
    # Defaults to localhost, so we need to set it to None.
    if args.embedded:
        dcgm_config['dcgmHostName'] = None
    else:
        dcgm_config['dcgmHostName'] = args.hostname
    dcgm_config['prometheusPort'] = args.publish_port
    dcgm_config['publishFieldIds'] = field_ids
    dcgm_config['sendUuid'] = True
    dcgm_config['jobId'] = None
    logging.basicConfig(
        level=numeric_log_level,
        filemode=filemode,
        filename=args.logfile,
        format='[%(asctime)s] nvidia_exporter-%(levelname)s-%(message)s',
    )