def _read_meta_file()

in docker/services/metrics_service.py [0:0]


    def _read_meta_file(meta_file_path: str, instance_meta_mapping: dict):
        _LOG.debug(f'Processing meta file \'{meta_file_path}\'')
        try:
            with open(meta_file_path, 'r') as f:
                file_meta = json.load(f)
        except json.decoder.JSONDecodeError:
            _LOG.error(f'Unable to read meta file \'{meta_file_path}\', '
                       f'skipping')
            return instance_meta_mapping
        if not isinstance(file_meta, list):
            _LOG.error(f'Invalid meta format: must be a valid list')
            return instance_meta_mapping

        for resource_meta in file_meta:
            resource_id = resource_meta.get(META_KEY_RESOURCE_ID)
            if not resource_id:
                continue
            if resource_id not in instance_meta_mapping:
                instance_meta_mapping[resource_id] = resource_meta
                continue
            timestamp = resource_meta.get(META_KEY_CREATE_DATE_TIMESTAMP)

            instance_timestamp = instance_meta_mapping[
                resource_id].get(META_KEY_CREATE_DATE_TIMESTAMP)

            # overwrite instance meta with latest meta found
            if timestamp and instance_timestamp and \
                    timestamp > instance_timestamp \
                    or not instance_timestamp:
                instance_meta_mapping[resource_id].update(resource_meta)
        return instance_meta_mapping