in source/ecs/metrics_helper.py [0:0]
def get_list_time_ranges(self, start_time, end_time):
"""
This method returns list of time ranges for the given start and end time. Each time range if of 5 days.
:param start_time:
:param end_time:
:return: list of time ranges
"""
log.debug("Getting time ranges for start time {} and end time {}".format(start_time, end_time))
list_time_ranges = []
start_time_new_format = datetime.strptime(start_time, TIME_FORMAT)
end_time_new_format = datetime.strptime(end_time, TIME_FORMAT)
time_diff = end_time_new_format - start_time_new_format
number_of_time_ranges = math.ceil(
time_diff / timedelta(days=NUMBER_OF_DAYS)) # Round the number to the next integer
for item in range(number_of_time_ranges):
start_time = start_time_new_format + item * timedelta(days=NUMBER_OF_DAYS)
end_time = start_time + timedelta(days=NUMBER_OF_DAYS)
time_range = {
START_TIME: start_time.strftime(TIME_FORMAT),
END_TIME: end_time.strftime(TIME_FORMAT)
}
list_time_ranges.append(time_range)
log.debug("List of time ranges for start time {} and end time {} is {}".
format(start_time, end_time, list_time_ranges))
return list_time_ranges