def METHOD_NAME():
    """The main function. Hier spielt die Musik.
    """
    # parse the command line, exit with UNKNOWN if it fails
    try:
        args = parse_args()
    except SystemExit:
        sys.exit(STATE_UNKNOWN)
    # fetch data
    if args.TEST is None:
        cmd = 'restic --json --repo={} --password-file={} --mode={}'.format(
            args.REPO,
            args.PASSWORD_FILE,
            args.MODE,
        )
        if args.HOST:
            cmd += ' --host=' + ' --host='.join(args.HOST)
        if args.PATH:
            cmd += ' --path=' + ' --path='.join(args.PATH)
        if args.TAG:
            cmd += ' --tag=' + ' --tag='.join(args.TAG)
        cmd += ' stats'
        stdout, stderr, retc = lib.base.coe(lib.shell.shell_exec(cmd)) # pylint: disable=W0612
        if stderr:
            lib.base.cu(stderr)
    else:
        # do not call the command, put in test data
        stdout, stderr, retc = lib.test.test(args.TEST)
    try:
        stats = json.loads(stdout)
    except ValueError:
        lib.base.cu('No JSON object could be decoded.')
    # init some vars
    state = STATE_OK
    perfdata = ''
    perfdata += lib.base.get_perfdata('total_file_count', stats['total_file_count'], '', None, None, 0, None)
    perfdata += lib.base.get_perfdata('total_size', stats['total_size'], '', None, None, 0, None)
    # analyze data and build the message
    msg = '{} files, {} size (total stats in {} mode over all snapshots)'.format(
        lib.human.number2human(stats['total_file_count']),
        lib.human.bytes2human(stats['total_size']),
        args.MODE,
    )
    # over and out
    lib.base.oao(msg, state, perfdata)