def get_user_sessions()

in source/ecs/metrics_helper.py [0:0]


    def get_user_sessions(self, list_user_session_data_points, workspace):
        """
        This method returns user session hours from list of user sessions for a given workspace
        :param list_user_session_data_points:
        :param workspace:
        :return:
        """
        list_user_sessions = []
        session_start = False
        zeroes_count = 0
        end_session_index = 0
        start_session_index = 0

        for i in range(len(list_user_session_data_points)):
            if list_user_session_data_points[i] == 1:
                if not session_start:
                    session_start = True
                    zeroes_count = 0
                    start_session_index = i
                    end_session_index = i + 1  # set this to account for user session [1,0,0....0]
                else:
                    zeroes_count = 0  # Reset the zero count if a value of 1 is encountered
                    end_session_index = i + 1
            elif list_user_session_data_points[i] == 0 and session_start:
                zeroes_count = zeroes_count + 1
                if zeroes_count == self.get_zero_count(workspace):
                    user_session_hours = math.ceil((end_session_index - start_session_index) / 12)
                    list_user_sessions.append(user_session_hours)
                    session_start = False
                    end_session_index = 0
                    start_session_index = 0
        user_session_hours = math.ceil((end_session_index - start_session_index) / 12)
        if user_session_hours:
            list_user_sessions.append(user_session_hours)
        return list_user_sessions