def _get_log_streams_for_job()

in src/braket/jobs/metrics_data/cwl_metrics_fetcher.py [0:0]


    def _get_log_streams_for_job(self, job_name: str, timeout_time: float) -> List[str]:
        """
        Retrieves the list of log streams relevant to a job.

        Args:
            job_name (str): The name of the job.
            timeout_time (float) : Metrics cease getting streamed if the current time exceeds
                the timeout time.
        Returns:
            List[str] : A list of log stream names for the given job.
        """
        kwargs = {
            "logGroupName": self.LOG_GROUP_NAME,
            "logStreamNamePrefix": job_name + "/algo-",
        }
        log_streams = []
        while time.time() < timeout_time:
            response = self._logs_client.describe_log_streams(**kwargs)
            streams = response.get("logStreams")
            if streams:
                for stream in streams:
                    name = stream.get("logStreamName")
                    if name:
                        log_streams.append(name)
            next_token = response.get("nextToken")
            if not next_token:
                return log_streams
            kwargs["nextToken"] = next_token
        self._logger.warning("Timed out waiting for all metrics. Data may be incomplete.")
        return log_streams