+ return metrics
+
+ def collect_one(self, nsr_id: str, vnf_member_index: int, vdur_name: str, metric_name: str) -> Metric:
+ gnocchi_metric_name = METRIC_MAPPINGS[metric_name]
+ start_date = datetime.datetime.now() - datetime.timedelta(seconds=self.granularity)
+ resource_id = self._get_resource_uuid(nsr_id, vnf_member_index, vdur_name)
+ try:
+ metrics = self.gnocchi_client.metric.get_measures(gnocchi_metric_name,
+ start=start_date,
+ resource_id=resource_id,
+ granularity=self.granularity)
+ if len(metrics):
+ metric = Metric(nsr_id, vnf_member_index, vdur_name, metric_name, metrics[-1][2])
+ return metric
+ except gnocchiclient.exceptions.NotFound as e:
+ log.debug("No metric found: %s", e)
+ raise MetricNotFound()