'Retrieves stats info from volume group.'

@debugger
def _update_volume_stats(self):

    try:
        data = self._api_executor.send_api_request(method='getArrayStats', request_type='get', fine_logging=False)
        data['total_capacity_gb'] = float(data.get('total_capacity_gb', 0))
        data['free_capacity_gb'] = float(data.get('free_capacity_gb', 0))
        for pool in data.get('pools', []):
            pool['total_capacity_gb'] = float(pool.get('total_capacity_gb', 0))
            pool['free_capacity_gb'] = float(pool.get('free_capacity_gb', 0))
            pool['allocated_capacity_gb'] = float(pool.get('allocated_capacity_gb', 0))
        data['volume_backend_name'] = getattr(self.configuration, 'volume_backend_name')
        data['vendor_name'] = self.VENDOR
        data['driver_version'] = self.VERSION
        data['storage_protocol'] = self._protocol
        self._stats = data
    except Exception as e:
        LOG.warning('TegileIntelliFlashVolumeDriver(%(clsname)s)    _update_volume_stats    failed:    %(error)s', {'clsname': self.__class__.__name__, 'error': e})
