@contract
def start():
    config = read_and_validate_config([DEFAILT_CONFIG_PATH, CONFIG_PATH],
                                      REQUIRED_FIELDS)

    common.init_logging(
        config['log_directory'],
        'data-collector.log',
        int(config['log_level']))

    vm_path = common.build_local_vm_path(config['local_data_directory'])
    if not os.access(vm_path, os.F_OK):
        os.makedirs(vm_path)
        log.info('Created a local VM data directory: %s', vm_path)
    else:
        cleanup_all_local_data(config['local_data_directory'])
        log.info('Creaned up the local data directory: %s',
                 config['local_data_directory'])

    interval = config['data_collector_interval']
    log.info('Starting the data collector, ' +
             'iterations every %s seconds', interval)
    return common.start(
        init_state,
        execute,
        config,
        int(interval))
Returns:
dataset/ETHPy150Open beloglazov/openstack-neat/neat/locals/collector.py/start--crossover with--dataset/ETHPy150Open meraki-analytics/cassiopeia/cassiopeia/type/core/tournament.py/LobbyEvent.type