(self, timestamp: float, request_executor: RequestExecutor)
| 253 | self.inputs.append(messages) |
| 254 | |
| 255 | def step(self, timestamp: float, request_executor: RequestExecutor): |
| 256 | num_rounds = len(self.user_config.trace) |
| 257 | if ( |
| 258 | self.round_id >= num_rounds |
| 259 | and not self.has_unfinished_request |
| 260 | ): |
| 261 | self.finished = True |
| 262 | return |
| 263 | |
| 264 | if self.last_request_time is None: |
| 265 | for request_id in range(len(self.user_config.trace[self.round_id]['agent_id'])): |
| 266 | self._launch_new_request(timestamp, request_executor, request_id) |
| 267 | self.round_id += 1 |
| 268 | return |
| 269 | |
| 270 | if timestamp - self.last_request_time > self.user_config.gap_between_requests: |
| 271 | if self.has_unfinished_request: |
| 272 | if timestamp - self.last_unfinished_log > 10: |
| 273 | logger.warning( |
| 274 | f"User {self.user_config.user_id} has unfinished " |
| 275 | "requests and unable to fit the QPS requirement." |
| 276 | ) |
| 277 | self.last_unfinished_log = timestamp |
| 278 | return |
| 279 | |
| 280 | for request_id in range(len(self.user_config.trace[self.round_id]['agent_id'])): |
| 281 | self._launch_new_request(timestamp, request_executor, request_id) |
| 282 | self.round_id += 1 |
| 283 | return |
| 284 | |
| 285 | def summary(self) -> pd.DataFrame: |
| 286 | df = pd.DataFrame() |
no test coverage detected