in source/ecs/metrics_helper.py [0:0]
def get_cloudwatch_metric_data_points(self, workspace_id, list_time_ranges, metric):
"""
This method returns the cloudwatch metric datapoints for given workspace id and time ranges.
:param metric: metric to use to query cloudwatch metrics
:param workspace_id:
:param list_time_ranges: List of time ranges to query and get the metrics for
:return: list of Datapoints for the cloudwatch metrics
"""
log.debug("Getting the cloudwatch metrics for the workspace id {}".format(workspace_id))
list_data_points = []
for time_range in list_time_ranges:
try:
metrics = self.client.get_metric_statistics(
Dimensions=[{
'Name': 'WorkspaceId',
'Value': workspace_id
}],
Namespace='AWS/WorkSpaces',
MetricName=metric,
StartTime=time_range[START_TIME],
EndTime=time_range[END_TIME],
Period=300,
Statistics=['Maximum']
)
except Exception as error:
log.error("Error occurred while processing workspace {}, {}".format(workspace_id, error))
return None
for metric_data in metrics['Datapoints']:
list_data_points.append(metric_data)
log.debug("The cloudwatch metrics list for workspace id {} is {}".format(workspace_id, list_data_points))
return list_data_points